Monday, November 26, 2007

WiX tools, Logging and Silent installation

Some useful WiX tools and Windows installer notes:

WiXEdit

1

WiXEdit is a decent WiX editor (open source). I used it extensively during the initial UI design, it works for most purposes but don’t expect it to be very intuitive like for example when it comes to Attribute on controls its shows all possible attributes on right clicking the control instead of showing only the applicable ones.

Votive (the visual studio plugin)

You can use Votive to use Visual Studio to build your WiX code.

Remember you won’t be able to see the dialogs in design mode if you are using Votive. Only advantage here would be you could use visual studio’s intellisense for the WiX code after you copy the WiX XSD’s from WiX\doc  to the following directory: C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas and ofcourse you could integrate it with your project or as a separate build process

 

I personally use a batch file to build my WiX project mainly because it’s easier to point to different releases of WiX binaries without having to install Votive each time and also with some custom actions you might want to perform when building your project.

 

Orca Editor

2

I use this tool for peaking into the msi files, it also lets you edit the .msi or.msm file directly.

To install and run the Orca editor, follow these steps:

a.

Download the Windows Installer SDK samples, tools, and documentation.

b.

Install the Orca editor by double-clicking the Orca.msi file in the \Microsoft SDK\bin folder.

Tallow

This tool is used to generate WiX fragments by harvesting a directory with WiX2.0

3

 Tallow - d c:/My_Custom_Dir/tools >> Output.wxs

Heat

Similar functionality as in Tallow but Heat is optimized for working with WiX 3.0.

4

Heat dir c:/My_Custom_Dir/tools -out output.wxs

 

Keep in mind that both Heat and Tallow designed to allow a setup author to generate their setup authoring very quickly for the first time after which authoring should be done manually to make sure that guids, identifier names remain the same and component rules aren’t broken

Dark

Dark is used to reverse engineer an MSI into a WiX source file

5

Dark Package.msi DarkedOutput.wxs

 

Install your installation package with logging:

msiexec /i "Package.msi" /l*v "d:\place for logs\Install.log"

 

Silent Install with selective feature installation and logging:

msiexec /i “Package.msi" /q ADDLOCAL=Feature1,Feature3 /l*v Install.log

Use the msiexec switch /q for silent installation

You can specify properties on the command line with PROPERTYNAME=Value

For a selection of features use ADDLOCAL= Feature ID (assigned in WiX code)

You can also control the install directory by passing it as a parameter. INSTALLDIR=C:\My_Custom_Dir

No comments: