-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
feat(installer/windows): add wix installer #3916
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
14ce5ed to
f20af0e
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3916 +/- ##
==========================================
- Coverage 15.49% 15.45% -0.05%
==========================================
Files 94 94
Lines 19248 19248
Branches 8907 8907
==========================================
- Hits 2982 2974 -8
- Misses 12868 14975 +2107
+ Partials 3398 1299 -2099
Flags with carried forward coverage won't be shown. Click here to find out more. |
Bundle ReportBundle size has no change ✅ |
9e4b955 to
6ef5e6e
Compare
|
|
The latest NSIS version now runs properly on ARM64 systems, so we can stick with NSIS if we want. WiX does make it easier to support having a single unified installer for both x64 and ARM64 binaries if we want that. |
|
Good to know. I still need to setup a VM to test this out. I think msi would still be nice to use, especially for anyone installing Sunshine with a script as it supports more CLI options. I discovered in a recent change that I couldn't even get the output of the installer scripts to a log file with NSIS. Do you know the process for unifying the installer? That would be pretty nice. |
c3efb02 to
07c0044
Compare
07c0044 to
805e270
Compare
This comment was marked as outdated.
This comment was marked as outdated.
46f307b to
b57a26e
Compare
a348849 to
a6dbf17
Compare
Replaces custom-actions.wxs and custom-shortcuts.wxs with sunshine-installer.wxs, consolidating custom actions and shortcut definitions. Adds patch.xml for WiX patching. Updates windows_wix.cmake to use new resource files, install the WiX Util extension, and adjust build directories. This streamlines and modernizes the Windows installer packaging process.
Remove CA_GamepadInstall and CA_GamepadUninstall custom actions from the WiX installer and update the InstallExecuteSequence accordingly. ServiceInstall is now run after FirewallAdd, and RestoreNvPrefs now runs after ServiceUninstall. This removes the PowerShell-based gamepad install/uninstall steps and fixes the action ordering to avoid references to the removed actions.
a6dbf17 to
e18cc13
Compare
|
|
This is basically working now, just need to nail down a few things.
Any preference? I think I will also have one single script that calls all the other scripts, especially if we're going to have the window show. And then output the stdout out from the script to a log file, as currently I don't think this is logged by the msi installer. |



Description
This PR adds a WIX installer for Sunshine. The NSIS installer will be removed at a later point after any bugs with the WIX installer are ironed out.
This is a requirement for having an ARM64 installer for #3905 or #3369
TODO:
For first release after this is merged, we will keep both exe and msi, so that the winget automation will still work to auto update winget. We will then to update winget manually to use the msi
Screenshot
Issues Fixed or Closed
Type of Change
.github/...)Checklist