How to build a minimal WiX installer UI without a license page?

I would simply use one of the already created WiX UI and override the sequence (make it higher so that it will override the previous setting): <Product> … <UI> <UIRef Id=”WixUI_InstallDir” /> <!– Skip license dialog –> <Publish Dialog=”WelcomeDlg” Control=”Next” Event=”NewDialog” Value=”InstallDirDlg” Order=”2″>1</Publish> <Publish Dialog=”InstallDirDlg” Control=”Back” Event=”NewDialog” Value=”WelcomeDlg” Order=”2″>1</Publish> </UI> <Property Id=”WIXUI_INSTALLDIR” Value=”INSTALLFOLDER” /> … … Read more

How to register file types/extensions with a WiX installer?

Unfortunately there’s no way to do a “safe” association with Windows Installer. We just write everything out to the registry and then have a separate component that takes over the system-wide default and is only installed if no other application has already registered itself as the default. With Vista there’s the new “default programs” interface, … Read more

In WiX files, what does Name=”SourceDir” refer to?

From: https://robmensching.com/blog/posts/2010/1/26/stackoverflow-what-does-namesourcedir-refer-to/ Honestly, it’s something that we should have hidden from the developer but didn’t. Sorry. The truth of the matter is that the Windows Installer expects the Directory tree to always be rooted in a Directory row where the primary key (Directory/@Id) is “TARGETDIR” and the DefaultDir column (Directory/@Name) is “SourceDir”. During an install, … Read more

Reboot on install, Don’t reboot on uninstall

Restart Manager: The Restart Manager Feature of Windows (Installer) (middle page) is designed to help restart applications automatically during installation rather than requiring a reboot. This feature should always be used to try to eliminate reboot requirements. Only in very special circumstances should a reboot be really required. Technical Crash Course: This is a technical … Read more

WiX tricks and tips

Keep variables in a separate wxi include file. Enables re-use, variables are faster to find and (if needed) allows for easier manipulation by an external tool. Define Platform variables for x86 and x64 builds <!– Product name as you want it to appear in Add/Remove Programs–> <?if $(var.Platform) = x64 ?> <?define ProductName = “Product … Read more