mirror of https://github.com/containers/podman.git
This is a followup of https://github.com/containers/podman/pull/26048 It fixes `process-release.ps1` that was always looking for the amd64 release zip file, even if `$env:PODMAN_ARCH` was set to arm64. With this fix it looks for the right zip file. It fixes `winmake.ps1` that, when the `-arch` param was not passed, set `$env:PODMAN_ARCH` to the empty string instead of the local `$env:GOARCH`. Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com> |
||
---|---|---|
.. | ||
resources | ||
README.md | ||
build.ps1 | ||
burn.wxs | ||
check.ps1 | ||
podman-setup.wixproj | ||
podman-theme.wxl | ||
podman-theme.xml | ||
podman-ui.wxs | ||
podman.sln | ||
podman.wixproj | ||
podman.wxs | ||
process-release.ps1 | ||
test-installer.ps1 | ||
utils.ps1 | ||
welcome-install-dlg.wxs |
README.md
Windows Installer Build
Instructions [have moved here](Build and test the Podman Windows installer](#build-and-test-the-podman-windows-installer)).
How to run a full tests scenarios
Manual tests to validate changes the wxs files or a WiX upgrade.
Preparation
- checkout previous release tag (e.g. 5.3.0)
git fetch --all --tags --prune && git tag --list v5.* && git checkout tags/v5.3.0
- make the installer
./winmake podman && ./winmake docs && ./winmake win-gvproxy && ./winmake installer
- checkout tag
v5.3.1
make the installer./winmake podman && ./winmake docs && ./winmake win-gvproxy && ./winmake installer
- get the
v5.3.1
msi product id (with superorca) - checkout the main branch and change the product id on
podman.wxs
to matchv5.3.1
product id - set
$env:V531_SETUP_EXE_PATH
and make current and next installer$env:V531_SETUP_EXE_PATH=<path> && ./winmake podman && ./winmake docs && ./winmake win-gvproxy && ./winmake installer && ./winmake installer 9.9.9
- patch installertest to make sure it doesn't download the setup.exe from internet but uses the one just built
Run the tests
- Uninstall the virtualization providers (WSL and Hyper-V) using the "Windows Features" app
- Run installtest for both
wsl
andhyperv
(as an admin)
.\contrib\win-installer\test-installer.ps1 `
-scenario all `
-setupExePath ".\contrib\win-installer\podman-5.4.0-dev-setup.exe" `
-previousSetupExePath ".\contrib\win-installer\podman-5.3.0-dev-setup.exe" `
-nextSetupExePath ".\contrib\win-installer\podman-9.9.9-dev-setup.exe" `
-v531SetupExePath ".\contrib\win-installer\podman-5.3.1-dev-setup.exe" `
-provider hyperv
- Manually test the upgrade "from v5.3.1 to current to next"
contrib\win-installer\podman-5.3.1-dev-setup.exe /install /log contrib\win-installer\podman-setup-531.log
contrib\win-installer\podman-5.4.0-dev-setup.exe /install /log contrib\win-installer\podman-setup-540.log
contrib\win-installer\podman-9.9.9-dev-setup.exe /install /log contrib\win-installer\podman-setup-999.log
contrib\win-installer\podman-9.9.9-dev-setup.exe /x /log contrib\win-installer\podman-uninstall-999.log
- manually run the current installer with the option to install wsl and confirm it reboots and install both podman and wsl
- manually run the current installer with the option to install hyperv and confirm it reboots and install both podman and wsl
- run installtest for both wsl and hyperv
- manually run the current installer with the option to install wsl and confirm it doesn't reboot
- manually run the current installer with the option to install hyperv and confirm it doesn't reboot
retrieve installed podman msi package information
$Installer = New-Object -ComObject WindowsInstaller.Installer;
$InstallerProducts = $Installer.ProductsEx("", "", 7);
$InstalledProducts = ForEach($Product in $InstallerProducts){
[PSCustomObject]@{ProductCode = $Product.ProductCode();
LocalPackage = $Product.InstallProperty("LocalPackage");
VersionString = $Product.InstallProperty("VersionString");
ProductName = $Product.InstallProperty("ProductName")
}
};
$InstalledProducts | Where-Object {$_.ProductName -match "podman"}
and uninstall it with msiexec /x "{<product-code>}"