> > I'll bet money it doesn't say "please distribute our dlls as .zip files and ask the end > > users to unzip them into the windows partition" anywhere) > > You can hate microsoft for the way they do things, even it is the way they > intended them to be done.
It isn't the way microsoft intends things to be done, and that was kinda my point. Seriously, I'm not kidding. And this is important: ** IF YOU WANT TO RELEASE SOFTWARE BUILT WITH MSVC THEN YOU MUST SHIP THE CORE SUPPORT DLLS THE WAY MICROSOFT WANTS YOU TO ** Why? Because if you don't the reference counts are not going to be updated in the registry. And suppose you then install some software that DOES maintain the reference counts correctly. If it happens to install the same named DLL, and you subsequently uninstall that application, the uninstaller can (justifiably) remove the DLL from the system. This is a very, very real issue when installing a 'new' core DLL such as a .NET or MSVC7 support library, as there is a low chance of the end user already having this file installed. For Msvc6 it was easy - just make the installer run the "vc6redist.exe" program to install the redistributable DLLs for you. vc6redist.exe is included with MSVC6 SP5 (so, the developers download the service pack, and then bundle the redist.exe with the installers for the software they release). For Msvc7 it's harder - the end user must install the .Net runtime libraries in order to install the Msvc7 support DLLs - and that's like a 28MB download. I did a hunt for you. Check out these articles for the specific details. (each is a long line URL, apologies if the lines are mangled) Deploying applications created with Visual Studio .NET (aka "MSVC7"): http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/ht ml/vboriDeploymentInVisualStudio.asp Essentially, "USE WINDOWS INSTALLER" is what they say here. (And freenet uses Nullsoft Installer not Windows Installer). A quote: Visual Studio .NET provides its redistributable files in the form of merge modules. These merge modules encapsulate the redistributable DLLs and can be used by setup projects or other redistribution tools. Using the merge modules ensures that the correct files are redistributed with an application. However, if your installer does not support distributing merge modules, you can redistribute the DLLs embedded in the merge modules. You need to either extract the DLLs from the merge modules or get them from the product CD or DVD. Do not copy files from your hard disk.... Windows 2000 and newer operating systems provide a new feature, Windows File Protection, which prevents the replacement of essential system files installed as part of Windows 2000. Applications cannot overwrite these files because they are used by the system and other applications. Deploying applications created with MSVC6: http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q259403& So, so much easier. You can just upload vc6redist.exe on freenetproject.org and say, hey kids, download this if you get "missing DLL" errors when running freenet (or you can mod the webinstaller to run it automatically but it will increase the installer size by approx 7MB and you only need to install it once, ever, anyway). And in most cases, the kids won't even get missing DLL errors if you stick with vc6, because vc6 is over two years old (and I can't imagine anybody who spends two years without installing any new software). Save everyone grief and just rerelease from MSVC6 instead of MSVC7. I mean, clearly whoever did the release has access to both - as two releases were done - whose crazy idea was it to make the MSVC7 release the main one?! Also, the developer in question is perhaps the only Freenet developer with access to MSVC7, adding further fuel to the argument to stick with MSVC6. (I remember when I still only had MSVC5 and had to keep insisting that changes to freenet.exe maintained compatibility with vc5 so I could still build!) On the other hand (playing devil's advocate a little), for future proofness I'd migrate the installer to using Microsoft Windows Installer (.msi). Why? Well, the MSI DSK is free, and the Windows Installer system is very, very, very good indeed. And it works, and Microsoft rarely (need to) update it. Actually, I'll look into this, because I doubt anyone else will bother. > I also hate them: for designing a browser that has a repair function that > cannot seem to repair itself > [...] > The spiders do enjoy making webs around it Sorry, no idea what you were talking about there. d _______________________________________________ support mailing list [EMAIL PROTECTED] http://hawk.freenetproject.org/cgi-bin/mailman/listinfo/support