src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/template.wxs
author herrick
Mon, 11 Mar 2019 13:24:47 -0400
branchJDK-8200758-branch
changeset 57254 c1b92a014e89
parent 57181 d10b861e8d62
child 57255 f686bda3b831
permissions -rw-r--r--
8214566: --win-dir-chooser does not prompt if destination folder is not empty Submitten-by: almatvee Reviewed-by: herrick

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
    <Product Id="PRODUCT_GUID" Name="APPLICATION_NAME"
             Language="1033" Version="APPLICATION_VERSION"
             Manufacturer="APPLICATION_VENDOR"
             UpgradeCode="PRODUCT_UPGRADE_GUID">
        <Package Description="APPLICATION_DESCRIPTION" Comments="None"
                 InstallerVersion="200" Compressed="yes"
                 InstallScope="INSTALL_SCOPE" Platform="PLATFORM"/>
        <Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
        UPGRADE_BLOCK

        <!-- We use RemoveFolderEx to ensure application folder is fully
             removed on uninstall. Including files created outside of MSI
             after application had been installed (e.g. on AU or user state).

             Hovewer, RemoveFolderEx is only available in WiX 3.6,
             we will comment it out if we running older WiX.

             RemoveFolderEx requires that we "remember" the path for uninstall.
             Read the path value and set the APPLICATIONFOLDER property with the value.
        -->
        <Property Id="APPLICATIONFOLDER">
            <RegistrySearch Key="SOFTWARE\APPLICATION_VENDOR\APPLICATION_NAME"
                            Root="REGISTRY_ROOT" Type="raw"
                            Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" />
        </Property>
        <DirectoryRef Id="APPLICATIONFOLDER">
            <Component Id="CleanupMainApplicationFolder" Guid="*" Win64="WIN64">
                <RegistryValue Root="REGISTRY_ROOT"
                               Key="SOFTWARE\APPLICATION_VENDOR\APPLICATION_NAME"
                               Name="Path" Type="string" Value="[APPLICATIONFOLDER]"
                               KeyPath="yes" />
                <!-- We need to use APPLICATIONFOLDER variable here or RemoveFolderEx
                     will not remove on "install". But only if WiX 3.6 is used. -->
                WIX36_ONLY_START
                  <util:RemoveFolderEx On="uninstall" Property="APPLICATIONFOLDER" />
                WIX36_ONLY_END
            </Component>
        </DirectoryRef>
        <?include bundle.wxi ?>
        CA_BLOCK
        <UI>
            INVALID_INSTALL_DIR_DLG_BLOCK
            UI_BLOCK
        </UI>
        <Icon Id="DesktopIcon.exe" SourceFile="APPLICATION_ICON" />
        <Icon Id="StartMenuIcon.exe" SourceFile="APPLICATION_ICON" />
        SECONDARY_LAUNCHER_ICONS
    </Product>
</Wix>