About the bootstrapper

The bootstrapper has minimally the following requirements:

  • Needs to run without any pre-requisite
  • Has to update Windows Installer if necessary
  • Has to install .NET Framework if necessary
  • Has to facilitate a single file install (Has to embedd then extract the payload WPF installer)

There are plenty of solutions of creating bootstrappers with the above conditions. Here are a couple of other options you can explore:

Feel free to explore these options if the provided IMBootstrapper project does not cover your needs.

The bootstrapper project uses the same mechanisms as the sample available in the Windows SDK. After installing it you can find the sample setup.exe project here: “C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\msi\setup.exe”

Briefly, the application checks if the required Windows Installer Version is available on the system. If not it installs it exactly the way that is in the SDK sample. Then goes ahead and checks for .NET FW 4. If it is not installed it extracts the dotNetFx40_Client_setup.exe that is the official web install for .net FW and executes it. Once it detects that it’s finished checks for .NET FW again. If it finds it it extracts the WPF Installer, launches it, end exits. If the .NET FW is not installed it closes with an error message.

The only thing you may want to change is the payload WPF installer, here are the steps for that:

  1. Add the WPFinstaller exe to the project.
  2. Open the source of the bootstrapper.rc file (Right click -> View Code)
  3. Change the path of IDR_BIN2 to the relative path of the WPF installer

The bootstrapper provided is basic.

I do suggest to explore the other opportunities especially if you have more robust requirements.


~ by baloghp on August 15, 2012.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: