post #11 of 11
Quote:
Originally Posted by ronnin426850 View Post

Oh you're right, but the app is not to be used by the company itself, but by its customers, so the local network thing is off..

And their current generation of software is written in Delphi, so it is .NET independant and less than 5mb in size. Of course, it is terribly limited in extendability, but he wouldn't even give me a chance to explain that if I tell him the alternative is either 50 megs or doesn't work on XP out of the box..

I'm on a tough spot biggrin.gif

My current idea is to upload the .net 3.0 web-install (2.5mb) to a web-server, then make a Win32 C++ app (web-installer also) that downloads it and launches it with the \q \norestart attributes for silent install, while copying the actual application files. And that would generally solve the issue, except the offline-setup would still have to either be 50 megs or fail on XP..

That's not a bad idea. Move away from C++ and just do it in C, its easier. Or use any other language that compiles down to x86 and can interface with Win32. If you need any help with writing bare-bones Win32 applications, let me know.
You may also find MFC easier to work with as you're familiar with .NET. MFC is exactly the same as Win32 at its core, but there's a bit of COM shoved in there and the classes wrap Win32 stuff to make them easier to use (MFC is C++).
Quote:
Originally Posted by partyboy75 View Post

This is probably the best solution.
Your Boss is double stupid. First he accepts application written in .NET. Then he have no understanding of requirements and does not understand that embedding framework in installation package is best solution.
It is possible and my friend did it but result is crap. The software is written in C#
It is dangerous approach and bad design. The downloaded installer must be verified against good known SHA-256 checksum to prevent installation of tampered binary. Also what to do if the network is not available, URL or checksum changes?
This might be the cause of all problem. Nothing can beat software written in pure C and ASM. Don't take it personally, just learn new language smile.gif

I disagree. They both have their highs and lows and it all comes down to using the right tool for the job. Sometimes that is C, sometimes its a managed language. For me in my projects, often its a combination of the two. In large projects I always find it necessary to write some components using a native language, either because it is the only way, or its faster and then call them from the managed world, or have them standalone by themselves - however it doesn't work the other way, i.e. writing the managed components in a native language is much more difficult nearly all of the time.

A managed .NET language can be (and has shown to be) as fast or even FASTER than a native language such as C - this comes from the advantage of the CLR knowing MORE about the application and the target system at RUNTIME, thus making optimization easier. For example, an optimizing C compiler may not be able to make some optimizations to the code because it can't be certain what the target hardware might support. The CLR (and similar runtimes) can safely make more optimizations because they know more about the system the code is running on.

Of course things like JIT and GC can slow down a managed language, but code need only be JITed once (none if NGEN is used [has its own problems, like lack of optimization, page thrashing if not done correctly, etc]), and with proper knowledge and use of the framework, the GC can always run effectively; anyway the CLR GC is very sophisticated and if you're doing everything right in your programming, most of your collections should be spent in generation zero.

For new projects on Windows, I would ALWAYS, ALWAYS pick .NET over a native counterpart (with a few exceptions, like games) - and fill in any holes that might arise with native components in C or the like.
Quote:
Originally Posted by ronnin426850 View Post

Anyway, another language and platform are out of the question, since boss specifically requested that I demonstrate .NET. The bad thing is that there used to be some guy before me who didn't know the first thing about C#, ended up writing tons of crapware on .NET and now everybody thinks it's .NET's fault. So I don't think they will have high tolerance for requirements they're not used to.

Its a problem indeed... tarnish from other developers, but you just got to prove that .NET is an excellent platform. And that distributing 50MB worth isn't even a big deal. How much disk space you got Mr Boss, 64K? smile.gif

Anyway you can statically compile Mono libraries, check this out: http://tirania.org/blog/archive/2008/Nov-05.html

There's also this: spoon.net/studio
Ol' Sandy
(28 items)
 
"Zeus"
(12 items)
 
Elite Preview
(6 items)
 
CPUMotherboardGraphicsRAM
Intel Xeon E3-1230v3 Gigabyte GA-Z97X-UD5H-BK MSI Gaming GTX 980 Kingston 32GB (4x8) 
Hard DriveHard DriveHard DriveHard Drive
Plextor PX-256M5S 256GB Samsung EVO 1TB Hitachi HDS721010CLA332 Hitachi HDS723020BLA642 
Hard DriveHard DriveHard DriveOptical Drive
Hitachi HDS723020BLA642 Hitachi HUA722010CLA330 WDC WD10EARS-00Z5B1 TSSTcorp CDDVDW SH-S223B 
CoolingCoolingOSMonitor
Phanteks PH-TC14PE with TY-140's Lamptron FCv5 (x2) Windows 8 Pro 64-bit Dell U2412M 
MonitorMonitorMonitorKeyboard
Dell U2412M Dell U2212HM Dell U2713HM Topre Realforce 87UB | Ducky DK9087 G2 Pro 
PowerCaseMouseMouse Pad
Corsair AX-750 Corsair Obsidian 650D Logitech G700 XTRAC Ripper XXL 
AudioAudioAudioAudio
Beyerdynamic DT-770 Pro 250ohm Schiit Bifrost DAC Schiit Asgard 2 HiVi Swan M50W 2.1 
CPUMotherboardRAMHard Drive
Intel Xeon E5-2620 Super Micro X9SRL-F-B 128GB 1333MHz LSI 9271-8i 
OSPowerCase
VMware ESXi 5.5 SeaSonic SS-400FL2 Fractal Define R3 
CPUMotherboardGraphicsRAM
Intel Core i5-3437U HP EliteBook Folio 9470m  Intel HD Graphics 4000  16GB DDR3 SDRAM 
Hard DriveOS
256GB SSD Windows 10 Insider Preview 
  hide details  
Reply
Ol' Sandy
(28 items)
 
"Zeus"
(12 items)
 
Elite Preview
(6 items)
 
CPUMotherboardGraphicsRAM
Intel Xeon E3-1230v3 Gigabyte GA-Z97X-UD5H-BK MSI Gaming GTX 980 Kingston 32GB (4x8) 
Hard DriveHard DriveHard DriveHard Drive
Plextor PX-256M5S 256GB Samsung EVO 1TB Hitachi HDS721010CLA332 Hitachi HDS723020BLA642 
Hard DriveHard DriveHard DriveOptical Drive
Hitachi HDS723020BLA642 Hitachi HUA722010CLA330 WDC WD10EARS-00Z5B1 TSSTcorp CDDVDW SH-S223B 
CoolingCoolingOSMonitor
Phanteks PH-TC14PE with TY-140's Lamptron FCv5 (x2) Windows 8 Pro 64-bit Dell U2412M 
MonitorMonitorMonitorKeyboard
Dell U2412M Dell U2212HM Dell U2713HM Topre Realforce 87UB | Ducky DK9087 G2 Pro 
PowerCaseMouseMouse Pad
Corsair AX-750 Corsair Obsidian 650D Logitech G700 XTRAC Ripper XXL 
AudioAudioAudioAudio
Beyerdynamic DT-770 Pro 250ohm Schiit Bifrost DAC Schiit Asgard 2 HiVi Swan M50W 2.1 
CPUMotherboardRAMHard Drive
Intel Xeon E5-2620 Super Micro X9SRL-F-B 128GB 1333MHz LSI 9271-8i 
OSPowerCase
VMware ESXi 5.5 SeaSonic SS-400FL2 Fractal Define R3 
CPUMotherboardGraphicsRAM
Intel Core i5-3437U HP EliteBook Folio 9470m  Intel HD Graphics 4000  16GB DDR3 SDRAM 
Hard DriveOS
256GB SSD Windows 10 Insider Preview 
  hide details  
Reply