github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/contrib/msi/podman.wxs (about)

     1  <?xml version="1.0" encoding="utf-8"?>
     2  <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
     3  
     4    <?ifndef var.VERSION?>
     5    <?error VERSION must be defined via command line argument?>
     6    <?endif?>
     7  
     8    <?ifndef var.ManSourceDir?>
     9    <?define ManSourceDir = "bin/windows" ?>
    10    <?endif?>
    11  
    12    <Product Name="Podman $(var.VERSION)" Id="*" UpgradeCode="696BAB5D-CA1F-4B05-B123-320F245B8D6D" Version="$(var.VERSION)" Language="1033" Manufacturer="Red Hat Inc.">
    13  
    14      <Package Id="*" Keywords="Installer" Description="Red Hat's Podman $(var.VERSION) Installer" Comments="Apache 2.0 License" Manufacturer="Red Hat Inc." InstallScope="perMachine" InstallerVersion="200" Compressed="yes"/>
    15      <Media Id="1" Cabinet="Podman.cab" EmbedCab="yes"/>
    16      <!-- Switch to AllowDowngrades="yes" when msitools is released with commit dde7dd2f -->
    17      <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed. Uninstall first to downgrade."/>
    18      <Property Id="DiskPrompt" Value="Red Hat's Podman $(var.VERSION) Installation"/>
    19  
    20      <Directory Id="TARGETDIR" Name="SourceDir">
    21  
    22        <Directory Id="ProgramFiles64Folder" Name="PFiles">
    23          <Directory Id="RedHatPFiles" Name="RedHat">
    24            <Directory Id="INSTALLDIR" Name="Podman">
    25              <Component Id="INSTALLDIR_Component" Guid="14B310C4-9B5D-4DA5-ADF9-B9D008E4CD82" Win64="Yes">
    26                <CreateFolder/>
    27              </Component>
    28              <Component Id="MainExecutable" Guid="73752F94-6589-4C7B-ABED-39D655A19714" Win64="Yes">
    29                <File Id="520C6E17-77A2-4F41-9611-30FA763A0702" Name="podman.exe" Source="bin/windows/podman.exe" KeyPath="yes"/>
    30              </Component>
    31              <Component Id="WinPathExecutable" Guid="00F5B731-D4A6-4B69-87B0-EA4EBAB89F95" Win64="Yes">
    32                <File Id="8F507E28-A61D-4E64-A92B-B5A00F023AE8" Name="winpath.exe" Source="bin/windows/winpath.exe" KeyPath="yes"/>
    33              </Component>
    34              <Component Id="WinSshProxyExecutable" Guid="0DA730AB-2F97-40E8-A8FC-356E88EAA4D2" Win64="Yes">
    35                <File Id="4A2AD125-34E7-4BD8-BE28-B2A9A5EDBEB5" Name="win-sshproxy.exe" Source="bin/windows/win-sshproxy.exe" KeyPath="yes"/>
    36              </Component>
    37            </Directory>
    38          </Directory>
    39        </Directory>
    40      </Directory>
    41  
    42      <CustomAction Id="AddPath" ExeCommand="add" FileKey="8F507E28-A61D-4E64-A92B-B5A00F023AE8" Execute="deferred" Impersonate="yes" Return="check"/>
    43      <CustomAction Id="RemovePath" ExeCommand="remove" FileKey="8F507E28-A61D-4E64-A92B-B5A00F023AE8" Execute="deferred" Impersonate="yes" Return="check"/>
    44  
    45      <Feature Id="Complete" Level="1">
    46        <ComponentRef Id="INSTALLDIR_Component"/>
    47        <ComponentRef Id="MainExecutable"/>
    48        <ComponentRef Id="WinPathExecutable"/>
    49        <ComponentRef Id="WinSshProxyExecutable"/>
    50        <ComponentGroupRef Id="ManFiles"/>
    51      </Feature>
    52  
    53      <Icon Id="podman.ico" SourceFile="contrib/msi/podman-logo.ico"/>
    54      <Property Id="ARPPRODUCTICON" Value="podman.ico"/>
    55  
    56      <InstallExecuteSequence>
    57        <RemoveExistingProducts Before="InstallInitialize"/>
    58        <Custom Action="AddPath" After="InstallFiles">NOT Installed</Custom>
    59        <Custom Action="RemovePath" Before="RemoveFiles" After="InstallInitialize">(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</Custom>
    60      </InstallExecuteSequence>
    61  
    62    </Product>
    63  </Wix>