views:

12

answers:

0

I am new to WiX (and installers in general), and am finding the whole process quite overwhelming. What I want to do is this:

  1. I have a very large application with a working installer currently (VS2008 Setup Project)
  2. The application depends on SQL Server Express 2008 R2 to be installed, but if the machine already has a full version of SQL Server, I want to skip this install. Also problematic is that I have written a .cmd file to properly install Express with the correct options.
  3. I have a launch condition that I need to check against for MySQL ODBC Driver 5.1.6.

I've done a few test projects, but they are all working with project outputs, not MSI files. I've seen examples where people use SETUPBLD.exe to chain the installs, but none of those are using conditional checks to install individual packages. How can I work these checks into the install process with WiX, and use the parameters from the .cmd file to optionally install SQL Server Express?

Update: I gave up on WiX, as I just couldn't seem to find a 'beginners' guide. Instead, I wrote my own MSI-chaining bootstrapper (command-line program). Here is a sample for others who need something similar:

using System.Diagnostics;

static void Main(string[] args)
{
   Console.WriteLine("Please wait until Finish message appears before closing  
   this Window.");    

   // Do some registry checks or whatever to control the flow of the following
   // installations.

   ProcessStartInfo psi = new ProcessStartInfo("msiexec.exe", "/i somemsi.msi");
   Process p = Process.Start(psi);
   p.WaitForExit();

   // Do process again for however many MSI's you have
}