github.com/containers/podman/v4@v4.9.4/contrib/win-installer/podman.wxs (about)

     1  <?xml version="1.0" encoding="utf-8"?>
     2  <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     3       xmlns:PanelSW="http://schemas.panel-sw.co.il/wix/WixExtension">
     4  
     5    <?ifndef var.VERSION?>
     6    <?error VERSION must be defined via command line argument?>
     7    <?endif?>
     8  
     9    <?ifdef env.UseGVProxy?>
    10      <?define UseGVProxy = "$(env.UseGVProxy)"?>
    11    <?else?>
    12      <?define UseGVProxy = ""?>
    13    <?endif?>
    14  
    15    <Product Name="Podman $(var.VERSION)" Id="*" UpgradeCode="696BAB5D-CA1F-4B05-B123-320F245B8D6D" Version="$(var.VERSION)" Language="1033" Manufacturer="Red Hat Inc.">
    16  
    17      <Package Id="*" Platform="x64" 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"/>
    18  
    19      <Media Id="1" Cabinet="Podman.cab" EmbedCab="yes"/>
    20      <MajorUpgrade AllowDowngrades="yes"/>
    21      <Property Id="DiskPrompt" Value="Red Hat's Podman $(var.VERSION) Installation"/>
    22      <SetProperty Id="WSL_INSTALL" Before="AppSearch" Value="1" Sequence="first">NOT (WITH_WSL = 0)</SetProperty>
    23      <Directory Id="TARGETDIR" Name="SourceDir">
    24        <Directory Id="ProgramFiles64Folder" Name="PFiles">
    25          <Directory Id="RedHatPFiles" Name="RedHat">
    26            <Directory Id="INSTALLDIR" Name="Podman">
    27              <Component Id="INSTALLDIR_Component" Guid="14B310C4-9B5D-4DA5-ADF9-B9D008E4CD82" Win64="yes">
    28                <CreateFolder/>
    29                <RegistryKey Root="HKLM" Key="SOFTWARE\Red Hat\Podman">
    30                  <RegistryValue Name="InstallDir" Value="[INSTALLDIR]" Type="string" />
    31                </RegistryKey>
    32              </Component>
    33              <Component Id="MainExecutable" Guid="73752F94-6589-4C7B-ABED-39D655A19714" Win64="yes">
    34                <File Id="MainExecutableFile" Name="podman.exe" Source="artifacts/podman.exe" KeyPath="yes"/>
    35              </Component>
    36              <Component Id="WinSshProxyExecutable" Guid="0DA730AB-2F97-40E8-A8FC-356E88EAA4D2" Win64="yes">
    37                <File Id="WinSshProxyExecutableFile" Name="win-sshproxy.exe" Source="artifacts/win-sshproxy.exe" KeyPath="yes"/>
    38              </Component>
    39              <?if $(var.UseGVProxy) != Skip?>
    40              <Component Id="GvProxyExecutable" Guid="1A4A2975-AD2D-44AA-974B-9B343C098333" Win64="yes">
    41                <File Id="GvProxyExecutableFile" Name="gvproxy.exe" Source="artifacts/gvproxy.exe" KeyPath="yes"/>
    42              </Component>
    43              <?endif?>
    44              <Component Id="GuideHTMLComponent" Guid="8B23C76B-F7D4-4030-8C46-1B5729E616B5" Win64="yes">
    45                <File Id="GuideHTMLFile"  Name="welcome-podman.html" Source="docs/podman-for-windows.html" KeyPath="yes"/>
    46              </Component>
    47            </Directory>
    48          </Directory>
    49        </Directory>
    50        <Directory Id="EnvEntries">
    51          <Component Id="EnvEntriesComponent" Guid="b662ec43-0e0e-4018-8bf3-061904bb8f5b" Win64="yes">
    52            <CreateFolder />
    53            <Environment Id='UpdatePath' Name='PATH' Action='set' Permanent='no' System='yes' Part='last' Value='[INSTALLDIR]' />
    54          </Component>
    55        </Directory>
    56      </Directory>
    57  
    58      <CustomAction Id="OpenGuide" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
    59      <CustomAction Id="CheckWSL" BinaryKey="PodmanHooks" Execute="immediate" DllEntry="CheckWSL" />
    60      <CustomActionRef Id="WixBroadcastEnvironmentChange" />
    61      <ComponentGroup Id="WSLFeature" Directory="INSTALLDIR">
    62        <Component>
    63          <Condition>(NOT Installed) AND WSL_INSTALL = 1 AND HAS_WSLFEATURE = 0</Condition>
    64          <File Source="$(sys.SOURCEFILEPATH)"/>
    65          <PanelSW:Dism EnableFeature="VirtualMachinePlatform" ErrorHandling="prompt"/>
    66          <PanelSW:Dism EnableFeature="Microsoft-Windows-Subsystem-Linux" ErrorHandling="prompt"/>
    67        </Component>
    68      </ComponentGroup>
    69      <Feature Id="Complete" Level="1">
    70        <ComponentRef Id="INSTALLDIR_Component"/>
    71        <ComponentRef Id="EnvEntriesComponent"/>
    72        <ComponentRef Id="MainExecutable"/>
    73        <ComponentRef Id="WinSshProxyExecutable"/>
    74        <?if $(var.UseGVProxy) != Skip?>
    75        <ComponentRef Id="GvProxyExecutable"/>
    76        <?endif?>
    77        <ComponentRef Id="GuideHTMLComponent"/>
    78        <ComponentGroupRef Id="ManFiles"/>
    79        <ComponentGroupRef Id="WSLFeature"/>
    80      </Feature>
    81  
    82      <Icon Id="podman.ico" SourceFile="resources/podman-logo.ico"/>
    83      <Property Id="ARPPRODUCTICON" Value="podman.ico"/>
    84      <Property Id="WixShellExecTarget" Value="[#GuideHTMLFile]" />
    85      <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Show Getting Started Guide" />
    86      <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
    87      <WixVariable Id="WixUIBannerBmp" Value="resources\podman-banner.png" />
    88      <WixVariable Id="WixUIDialogBmp" Value="resources\podman-dialog.png" />
    89      <UIRef Id="PodmanUI"/>
    90      <UI>
    91        <Publish Dialog="ExitDialog" Control="Finish" Event="DoAction"
    92                 Value="OpenGuide">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
    93      </UI>
    94  
    95      <InstallExecuteSequence>
    96        <Custom Action="CheckWSL" After="SetWSL_INSTALL">WSL_INSTALL = 1</Custom>
    97        <ForceReboot Before="StopServices">(NOT Installed) AND WSL_INSTALL = 1 AND HAS_WSLFEATURE = 0 AND NOT AFTERREBOOT</ForceReboot>
    98      </InstallExecuteSequence>
    99      <Binary Id="PodmanHooks" SourceFile="artifacts/podman-msihooks.dll" />
   100    </Product>
   101  </Wix>