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>