PacktLib: WiX: A Developer's Guide to Windows Installer XML

WiX: A Developer's Guide to Windows Installer XML

Credits

About the Author

About the Reviewer

Preface

Getting Started

Introducing Windows Installer XML

Your first WiX project

Adding a User Interface

Viewing the MSI database

Turning logging on during installation

Other resources

Summary

Creating Files and Directories

File element

DirectoryRef element

ComponentGroup element

Fragment element

Harvesting files with heat.exe

Copying and moving files

Installing special-case files

Creating an empty folder

Setting file permissions

Speeding up file installations

Summary

Putting Properties and AppSearch to Work

Custom properties

Predefined Windows Installer properties

AppSearch

Summary

Improving Control with Launch Conditions and Installed States

Conditions

Action state

Installed state

Summary

Understanding the Installation Sequence

InstallUISequence

InstallExecuteSequence

Custom actions

Rollback custom actions

Accessing properties in a deferred action

Adding conditions to custom actions

Deployment Tools Foundation

Summary

Adding a User Interface

WiX standard dialog sets

Creating your own dialogs

Modal windows

ICE20 revisited

Summary

Using UI Controls

Controls

Summary

Tapping into Control Events

Publish element

Subscribe element

Publish events

Subscribe events

Summary

Working from the Command Line

Candle.exe

Compile-time variables

Conditional statements and iterations

Light.exe

Link-time variables

Building an installer without Visual Studio

Summary

Accessing the Windows Registry

Reading from the Registry

Writing to the Registry

Removing Registry values

Copying Registry values

Registry permissions

Summary

Controlling Windows Services

Creating a simple Windows service

Using sc.exe

Starting, stopping, and uninstalling a service

Setting the service's user account

Adding service dependencies

Service recovery with Util:ServiceConfig

Summary

Localizing Your Installer

Setting language and code page attributes

WiX localization files

The role of Light.exe

Localizing error messages

Localizing the EULA

Creating a multi-language MSI

Summary

Upgrading and Patching

Planning for updates

Major upgrade

Minor upgrade

Small update

Summary