Microsoft recently released
.Net Framework v3.0. Regardless of the fact that the next release of Visual Studio codenamed ORCAS
is not yet released ( and therefore you are very unlikely to need to deploy any WinFX
applications yet), one installation vendor
has made a big deal of their `exclusive` support
to target the new framework. They point to this as one of the reasons that makes them the `only viable alternative` to InstallShield
. Well to quote a famous proverb:
“Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime.”
12 comes with a series of `Setup Prerequisites`. In a nutshell, these are XML project files that describe the contents, conditions, execution and other attributes of a redistributable package that you need your setup.exe bootstrapper
to install prior to running your main MSI
installation package. Additionally there is a Setup Prerequisite Editor that allows developers to fully define their own prerequisites.
So let’s walk through creating our own Setup Prerequisite:
Download the full redistributable from Microsoft. While it’s downloading review this whitepaper that tells you everything you need to know to implement the setup prerequisite.
Open up your InstallShield project and select Tools Prerequisite editor. First do a File Save As. Next we’ll start with the properties tab. Add in a description:
Next click on the conditions tab and add our conditions. Were going to tell it to install when a certain registry key is missing and the OS is XP
Now let’s add the file we downloaded from Microsoft.
Now we teach InstallShield
how to install the package silently and check to see if a reboot is needed.
Finally, let’s set some attributes that complete describing the installation story to InstallShield
Next we save the prereq and add it to our Project.
Now it’s time to build and deploy to a test machine that doesn’t have .Net 3.0.
That’s all there is to it. When you run your setup.exe the redist is installed and then your MSI package is installed. When you run setup.exe again it skips installing .Net and goes to servicing your install.