More Technical Notes on WIX the XML Windows Installation

We decided to rework our installation package with WIX, the open source Windows Installation XML system from Microsoft.

Time Service Example

Below is a fragment we used to enable the time server on Windows XP. This code modifies a registry entry then stops and starts the time service.

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
<Fragment Id="TimeServerFrag">
<DirectoryRef Id='SYSTEM32'>
<Component Id="TimeService" Guid='YOURGUID-HERE-EASY-USE-GUIDGEN'>
	<!-- This section stops and starts the time service -->
	<ServiceControl Id='TimeServiceCtrl' Name='w32time' Start="install" Stop="install" />
	<Registry Root="HKLM"
		Key="SYSTEM\CurrentControlSet\Services\W32Time\Parameters" 
		Action="createKey" >
		<Registry Name="LocalNTP" Value="1" Type="integer" />
	</Registry>
</Component>
</DirectoryRef>
</Fragment>
</Wix>

A simplistic index to the WIX Samples

Some notes I made about the WIX Project Samples. I have no way of knowing if this was the intent of the author, these are only my assumptions.

Sample 1 - Basic Install without User Interface
Sample 2 - INI file search setting a variable
Sample 3 - Registry and File Search.
Sample 4 - License Agreement
Sample 5 - Conditional on older install
Sample 6 - Custom Action
Sample 7 - Custom Action
Sample 8 - Upgrader and great UI stuff
Sample 9 - Patching
Sample 10 - Six Examples 10a through 10f Different Conditional UI
Sample 11 - Structured Files with separate UI
Sample 12 - Merge Files
Sample 13 - Search Registry for Dot Net installed
Sample 14 - Launch Browser after  installation
Sample 15 - HTML Component
Sample 16 - SQL Example

The above represents the opinion of George Mallard, P.E.

Copyright 2005, KMS Systems, Inc.
Information current as of August 14, 2005