I'm currently writing an installation for our in-house development SDK. Part of this SDK is a guidance package for Visual Studio 2008 (Guidance Framework Version: February 2008).
Unfortunately I have no idea how to write a WiX-installation for the guidance package created. How to do that?
By default the guidance-package-wizard in Visual Studio only supports creating a Visual Studio deployment project. Could this be useful?
I already tried to analyse the deployment project in order to find out what to do:
- The deployment project calls an custom action. SourcePath for the action is an GuidanceInstaller.dll, CustomActionData is: /Configuration=”[TARGETDIR]Guidance.xml”,
GuidanceInstaller.dll is the output of a project which was also created by the Visual Studio package wizard. The project consists only of one class:
using Microsoft.Practices.RecipeFramework; [System.ComponentModel.ToolboxItem(false)] public class InstallerClass : ManifestInstaller { }
Seems for me that every install action is hidden in the ManifestInstaller class?
Guidance.xml is an XML file created by the DflGuidance wizard.
How to create an WiX installatin while from this information? Although alternative ideas are welcome! (One thought I had was to integrate the resulting msi/cab file from the Visual Studio deployment project in my WiX-Installation, is that possible?)
Pre-Condition Checks
Prerequisites are,
To check these, Reference these two DLLs:
and add preconditions to your .wxs file as shown below.
Installation Folder
Define run time installation folder setup. This link will help you to answer all your "how to"s.
Running Installer
You have to modify your InstallerClass as shown below.
Without this WIX installer throws an exception saying no class are marked as "RunInstaller"
After this you can use below WIX elements to run installutil.exe to run your installer class.
Hope this helps.