src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/main.wxs
author herrick
Thu, 13 Jun 2019 19:32:24 -0400
branchJDK-8200758-branch
changeset 57404 a477b26bf888
child 58696 61c44899b4eb
permissions -rw-r--r--
8223643: Provide better defined context for custom installer steps on Windows Submitted-by: asemenyuk Reviewed-by: almatvee
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
57404
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
     2
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
     3
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
     4
     
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
     5
  <?ifdef JpIsSystemWide ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
     6
    <?define JpInstallScope="perMachine"?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
     7
    <?define JpRegistryRoot="HKLM"?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
     8
  <?else?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
     9
    <?define JpInstallScope="perUser"?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    10
    <?define JpRegistryRoot="HKCU"?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    11
  <?endif?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    12
  
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    13
  <Product  Id="$(var.JpProductCode)" Name="$(var.JpAppName)"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    14
            Language="1033" Version="$(var.JpAppVersion)"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    15
            Manufacturer="$(var.JpAppVendor)"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    16
            UpgradeCode="$(var.JpProductUpgradeCode)">
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    17
    <Package  Description="$(var.JpAppDescription)"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    18
              Manufacturer="$(var.JpAppVendor)"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    19
              InstallerVersion="200" Compressed="yes"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    20
              InstallScope="$(var.JpInstallScope)" Platform="x64"/>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    21
    <Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    22
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    23
    <?ifdef JpAllowDowngrades ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    24
    <MajorUpgrade AllowDowngrades="yes"/>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    25
    <?endif?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    26
    
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    27
        <!-- We use RemoveFolderEx to ensure application folder is fully
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    28
             removed on uninstall. Including files created outside of MSI
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    29
             after application had been installed (e.g. on AU or user state).
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    30
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    31
             However, RemoveFolderEx is only available in WiX 3.6,
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    32
             we will comment it out if we running older WiX.
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    33
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    34
             RemoveFolderEx requires that we "remember" the path for uninstall.
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    35
             Read the path value and set the APPLICATIONFOLDER property with the value.
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    36
        -->
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    37
        <Property Id="APPLICATIONFOLDER">
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    38
            <RegistrySearch Key="SOFTWARE\$(var.JpAppVendor)\$(var.JpAppName)"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    39
                            Root="$(var.JpRegistryRoot)" Type="raw" Win64="yes"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    40
                            Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" />
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    41
        </Property>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    42
        <DirectoryRef Id="APPLICATIONFOLDER">
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    43
            <Component Id="CleanupMainApplicationFolder" Guid="*" Win64="yes">
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    44
                <RegistryValue Root="$(var.JpRegistryRoot)"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    45
                               Key="SOFTWARE\$(var.JpAppVendor)\$(var.JpAppName)"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    46
                               Name="Path" Type="string" Value="[APPLICATIONFOLDER]"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    47
                               KeyPath="yes" />
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    48
                <!-- We need to use APPLICATIONFOLDER variable here or RemoveFolderEx
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    49
                     will not remove on "install". But only if WiX 3.6 is used. -->
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    50
                  <?ifdef JpWixVersion36OrNewer ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    51
                  <util:RemoveFolderEx On="uninstall" Property="APPLICATIONFOLDER" />
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    52
                  <?endif?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    53
            </Component>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    54
        </DirectoryRef>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    55
        
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    56
        <?include $(var.JpConfigDir)/bundle.wxi ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    57
        
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    58
        <?ifdef JpInstallDirChooser ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    59
        <Binary Id="JpCaDll" SourceFile="wixhelper.dll"/>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    60
        <CustomAction Id="JpCheckInstallDir" BinaryKey="JpCaDll" DllEntry="CheckInstallDir" />
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    61
        <?endif?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    62
        
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    63
        <UI>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    64
          <?ifdef JpInstallDirChooser ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    65
          <Dialog Id="JpInvalidInstallDir" Width="300" Height="85" Title="[ProductName] Setup" NoMinimize="yes">
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    66
            <Control Id="JpInvalidInstallDirYes" Type="PushButton" X="100" Y="55" Width="50" Height="15" Default="no" Cancel="no" Text="Yes">
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    67
              <Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    68
            </Control>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    69
            <Control Id="JpInvalidInstallDirNo" Type="PushButton" X="150" Y="55" Width="50" Height="15" Default="yes" Cancel="yes" Text="No">
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    70
              <Publish Event="NewDialog" Value="InstallDirDlg">1</Publish>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    71
            </Control>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    72
            <Control Id="Text" Type="Text" X="25" Y="15" Width="250" Height="30" TabSkip="no">
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    73
              <Text>!(loc.message.install.dir.exist)</Text>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    74
            </Control>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    75
          </Dialog>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    76
          
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    77
          <!-- 
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    78
            Run WixUI_InstallDir dialog in the default install directory.
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    79
          -->
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    80
          <Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER"/>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    81
          <UIRef Id="WixUI_InstallDir" />
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    82
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    83
          <Publish Dialog="InstallDirDlg" Control="Next" Event="DoAction" Value="JpCheckInstallDir" Order="3">1</Publish>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    84
          <Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="JpInvalidInstallDir" Order="5">INSTALLDIR_VALID="0"</Publish>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    85
          <Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="5">INSTALLDIR_VALID="1"</Publish>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    86
          
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    87
          <?ifndef JpLicenseRtf ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    88
          <!-- 
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    89
            No license file provided. 
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    90
            Override the dialog sequence in built-in dialog set "WixUI_InstallDir"
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    91
            to exclude license dialog. 
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    92
          -->
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    93
          <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" Order="2">1</Publish>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    94
          <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2">1</Publish>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    95
          <?endif?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    96
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    97
          <?else?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    98
          
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
    99
          <?ifdef JpLicenseRtf ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   100
          <UIRef Id="WixUI_Minimal" />
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   101
          <?endif?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   102
          
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   103
          <?endif?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   104
        </UI>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   105
        
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   106
        <?ifdef JpLicenseRtf ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   107
        <WixVariable Id="WixUILicenseRtf" Value="$(var.JpLicenseRtf)"/>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   108
        <?endif?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   109
        
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   110
        <?include $(var.JpConfigDir)/icons.wxi ?>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   111
    </Product>
a477b26bf888 8223643: Provide better defined context for custom installer steps on Windows
herrick
parents:
diff changeset
   112
</Wix>