Free Sample
+ Collection

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

Nick Ramirez

An in-and-out, to-the-point introduction to Windows Installer XML with this book and ebook.
RRP $29.99
RRP $49.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781782160427
Paperback488 pages

About This Book

  • Brings the reader up to speed on all of the major features of WiX, including the new bootstrapper engine, Burn
  • Provides a richer understanding of the underlying Windows Installer technology
  • Showcases the flexibility and versatility of WiX, with a few tips and tricks along the way

Who This Book Is For

If you are a developer and want to create installers for software targeting the Windows platform, then this book is for you. You’ll be using plenty of XML and ought to know the basics of writing a well-formed document. No prior experience in WiX or Windows Installer is assumed. You should know your way around Visual Studio to compile projects, add project references and tweak project properties.

Table of Contents

Chapter 1: 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
Chapter 2: Creating Files and Directories
The File element
The DirectoryRef element
The ComponentGroup element
The Fragment element
Harvesting files with heat.exe
Copying and moving files
Installing special-case files
Installing 64-bit files
Creating an empty folder
Setting file permissions
Speeding up file installations
Chapter 3: Putting Properties and AppSearch to Work
Custom properties
Predefined Windows Installer properties
Chapter 4: Improving Control with Launch Conditions and Installed States
The syntax of conditions
Action state
Installed state
Chapter 5: Understanding the Installation Sequence
Custom actions
Rollback custom actions
Accessing properties in a deferred action
Adding conditions to custom actions
Deployment Tools Foundation
Chapter 6: Adding a User Interface
WiX standard dialog sets
Creating your own dialogs
Modal windows
ICE20 revisited
Chapter 7: Using UI Controls
Attributes common to all controls
Specific control syntax
Chapter 8: Tapping into Control Events
Publishing control events
Subscribing to control events
Publish events
Subscribe events
Chapter 9: Working from the Command Line
Compile-time variables
Conditional statements and iterations
Preprocessor extensions
Link-time variables
Building an installer without Visual Studio
Chapter 10: Accessing the Windows Registry
Reading from the registry
Writing to the registry
Removing registry values
Copying registry values
Registry permissions
Chapter 11: Controlling Windows Services
Creating a simple Windows service
Using sc.exe
Using WiX to install a service
Starting, stopping, and uninstalling a service
Setting the service's user account
Adding service dependencies
Service recovery with Util:ServiceConfig
Chapter 12: Localizing Your Installer
WiX localization files
The role of Light.exe
Setting language and code page attributes
Localizing the UI
Creating a multi-language MSI
Chapter 13: Upgrading and Patching
Planning for updates
Preparing a major upgrade
The minor upgrade
The small update
Chapter 14: Extending WiX
Building a custom WiX extension
Using the extension in a WiX project
Tying a custom action to the custom element
Chapter 15: Bootstrapping Prerequisites with Burn
Using the Bootstrapper Project template
Describing the Bundle element
Restricting the install by the operating system
UpgradeCode and detecting related bundles
Chaining packages
Downloading packages
Counting package references
Rollback boundaries
The Standard Bootstrapper UI
Chapter 16: Customizing the Burn UI
Burn extension points
Creating the class library
Extending the BootstrapperApplication class
Defining the model
Implementing the viewmodel
Marking up the view
Referencing the UI in a Burn bundle
Passing user input to a bundled MSI
Displaying progress
Downloading packages
Collecting command-line arguments

What You Will Learn

  • Register with Add/Remove Programs and build in a consistent way to uninstall your software
  • Customize an easy to navigate install Wizard
  • Gain an understanding of the order in which events happen during an install and how to hook into this process
  • Learn how WiX builds and links your files into the final MSI package and how to fine tune this process
  • Make your project more modular with Fragments, Components, and ComponentGroups
  • Prevent users from installing your software on unsupported operating systems and introduce other prerequisite checks
  • Install, start, stop, and uninstall Windows services at the time of setup
  • Bootstrap required dependencies before installing your own software

In Detail

The cryptic science of Windows Installer can seem far off from the practical task of simply getting something installed. Luckily, we have WiX to simplify the matter. WiX is an XML markup, distributed with an open-source compiler and linker, used to produce a Windows Installer package. It is used by Microsoft and by countless other companies around the world to simplify deployments.

"WiX 3.6: A Developer's Guide to Windows Installer XML" promises a friendly welcome into the world of Windows Installer. Starting off with a simple, practical example and continuing on with increasingly advanced scenarios, the reader will have a well-rounded education by book’s end.

With the help of this book, you'll understand your installer better, create it in less time, and save money in the process. No one really wants to devote a lifetime to understanding how to create a hassle-free installer. Learn to build a sophisticated deployment solution targeting the Windows platform in no time with this hands-on practical guide. Here we speed you through the basics and zoom right into the advanced. You'll get comfortable with components, features, conditions and actions. By the end, you’ll be boasting your latest deployment victories at the local pub.

Once you've finished "WiX 3.6: A Developer's Guide to Windows Installer XML", you'll realize just how powerful and awesome an installer can really be.


Read More