Thursday, 18 September 2008

Running WiX on Windows Server 2008

Our CruiseControl.NET build server is running Windows 2008. Today I added a WiX project to generate an MSI for one of the projects. This ran fine on my local machine.

I followed the instructions from the WiX 3.0 help file on “Integrating WiX Projects Into Daily Builds” with one exception - Step 2 adds a new section to the .wixproj file, but I had to remove the $(WixToolPath) prefix from the WixTasksPath element. eg.

  <PropertyGroup>
    <WixToolPath>..\Tools\Wix\</WixToolPath>
    <WixTargetsPath>$(WixToolPath)Wix.targets</WixTargetsPath>
    <WixTasksPath>wixtasks.dll</WixTasksPath>
  </PropertyGroup>

I then checked this in and watched the build die with the following error:

light.exe (,): errorLGHT0217: Error executing ICE action 'ICE01'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wix.sourceforge.net/faq.html#Error217 for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".

Others have had similar problems, and the solution seems to be to make sure that the account the build process runs as is a member of the local Administrators group.

No comments: