VS.NET Installer Tricks
I don't think I got the chance to blog about this yet, but with all the installer issues I've been having lately, and the lack of tips, I figured I'd better talk about it.
I started keeping my Builds in a separate folder from my code.... it was becoming quite ridiculous to hunt all over my hard drive to find compiled assemblies for my install routines. Several times, I mixed up assemblies because I did not keep good enough track. So now, I store all my builds as follows:
- Builds
- Product Name
- MajorVersion.Minor Version
- MajorVersion.MinorVersion.Build.Revision
- 3300
- 5000
- MajorVersion.MinorVersion.Build.Revision
- MajorVersion.Minor Version
- Product Name
Now, the last time I uploaded installers for the code I have online, I used this setup. The problem was, I just recompiled everything and set up new folders, and now I had to practically redo my whole installer setup. It was getting to be a real PITA. So what I did was add a Current Installer folder to my Major.Minor directory. So now it looks like this:
- Builds
- Product Name
- MajorVersion.Minor Version
- MajorVersion.MinorVersion.Build.Revision
- 3300
- 5000
- MajorVersion.MinorVersion.Build.Revision
- Current Installer
- 3300
- 5000
- MajorVersion.Minor Version
- Product Name
This way, I just copy the latest assemblies into the “Current Installer” folder, and now all I need to do is rebuild my already completed installer (after incrementing the installer version number of course). It's a whole lot less hassle than what I was dealing with before. Now if I just had a build server......
One more tip too. If you are creating an installer in VS.NET 2003, make sure that you right click on your deployment project file, select “View | Launch Conditions“. Click on “.NET Framework“, and make sure that the “Supported Runtime“ property looks like this (without the quotes) “1.1.4322;1.0.3705“. All my installers had an issue where the wouldn't run on 1.0-only boxes.
Having said that, I just fixed several issues with GenX.NET and ScrollingGrid, and updated the installers with the information I just described. You can read more about the changes to GenX.NET here, and ScrollingGrid here.