1 <?xml version="1.0" encoding="utf-8"?>
   2 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
   3      xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
   4     <Product Id="PRODUCT_GUID" Name="APPLICATION_NAME"
   5              Language="1033" Version="APPLICATION_VERSION"
   6              Manufacturer="APPLICATION_VENDOR"
   7              UpgradeCode="PRODUCT_UPGRADE_GUID">
   8         <Package Description="APPLICATION_DESCRIPTION" Comments="None"
   9                  InstallerVersion="200" Compressed="yes"
  10                  InstallScope="INSTALL_SCOPE" Platform="PLATFORM"/>
  11         <Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
  12         UPGRADE_BLOCK
  13 
  14         <!-- We use RemoveFolderEx to ensure application folder is fully
  15              removed on uninstall. Including files created outside of MSI
  16              after application had been installed (e.g. on AU or user state).
  17 
  18              Hovewer, RemoveFolderEx is only available in WiX 3.6,
  19              we will comment it out if we running older WiX.
  20 
  21              RemoveFolderEx requires that we "remember" the path for uninstall.
  22              Read the path value and set the APPLICATIONFOLDER property with the value.
  23         -->
  24         <Property Id="APPLICATIONFOLDER">
  25             <RegistrySearch Key="SOFTWARE\APPLICATION_VENDOR\APPLICATION_NAME"
  26                             Root="REGISTRY_ROOT" Type="raw"
  27                             Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" />
  28         </Property>
  29         <DirectoryRef Id="APPLICATIONFOLDER">
  30             <Component Id="CleanupMainApplicationFolder" Guid="*" Win64="WIN64">
  31                 <RegistryValue Root="REGISTRY_ROOT"
  32                                Key="SOFTWARE\APPLICATION_VENDOR\APPLICATION_NAME"
  33                                Name="Path" Type="string" Value="[APPLICATIONFOLDER]"
  34                                KeyPath="yes" />
  35                 <!-- We need to use APPLICATIONFOLDER variable here or RemoveFolderEx
  36                      will not remove on "install". But only if WiX 3.6 is used. -->
  37                 WIX36_ONLY_START
  38                   <util:RemoveFolderEx On="uninstall" Property="APPLICATIONFOLDER" />
  39                 WIX36_ONLY_END
  40             </Component>
  41         </DirectoryRef>
  42         <?include bundle.wxi ?>
  43         CA_BLOCK
  44         <UI>
  45             INVALID_INSTALL_DIR_DLG_BLOCK
  46             UI_BLOCK
  47         </UI>
  48         <Icon Id="DesktopIcon.exe" SourceFile="APPLICATION_ICON" />
  49         <Icon Id="StartMenuIcon.exe" SourceFile="APPLICATION_ICON" />
  50         SECONDARY_LAUNCHER_ICONS
  51     </Product>
  52 </Wix>