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