mattermost-desktop/patches/app-builder-lib+24.13.3.patch
Devin Binnie e244b2c230
[MM-55341][MM-56894] Use electron-builder to create the MSI installer, drop support for 32-bit Windows and the NSIS installer (#3028)
* Drop 32-bit windows support

* Remove unnecessary after build script

* Enable MSI build from electron-builder

* Copy MSI installers correctly

* Change script to `windows-installer`

* Revert "Remove unnecessary after build script"

This reverts commit 65b1cccb063656916a7d12c440792ad013dff826.

* Fix duplicate installers when updating to EXE version

* Inject the app-update.yml from the NSIS installer into the MSI, have the MSI uninstall the EXE if it exists

* Cleanup old MSI builder, switch actions to use new process

* Sign PR builds

* Update to use absolute paths

* Use env variable paths
2024-05-14 12:07:45 -04:00

44 lines
1.8 KiB
Diff

diff --git a/node_modules/app-builder-lib/templates/msi/template.xml b/node_modules/app-builder-lib/templates/msi/template.xml
index 2d5cd3c..04ed672 100644
--- a/node_modules/app-builder-lib/templates/msi/template.xml
+++ b/node_modules/app-builder-lib/templates/msi/template.xml
@@ -26,6 +26,11 @@
<Property Id="ARPPRODUCTICON" Value="${iconId}"/>
{{ } -}}
+ <CustomAction Id="removeExeInstaller" Directory="APPLICATIONFOLDER" ExeCommand="[APPLICATIONFOLDER]Uninstall ${productName}.exe /S" Execute="immediate" Impersonate="yes" Return="asyncWait"/>
+ <InstallExecuteSequence>
+ <Custom Action="removeExeInstaller" Before="InstallInitialize"/>
+ </InstallExecuteSequence>
+
{{ if (isRunAfterFinish) { }}
<CustomAction Id="runAfterFinish" FileKey="mainExecutable" ExeCommand="" Execute="immediate" Impersonate="yes" Return="asyncNoWait"/>
{{ if (!isAssisted) { }}
@@ -42,6 +47,7 @@
<Property Id="ALLUSERS" Secure="yes" Value="2"/>
{{ } -}}
<Property Id="MSIINSTALLPERUSER" Secure="yes" Value="1"/>
+ <Property Id="DISABLEAUTOUPDATE" Value="0"/>
{{ if (isAssisted) { }}
<WixVariable Id="WixUISupportPerUser" Value="1" Overridable="yes"/>
@@ -80,6 +86,7 @@
</UI>
{{ } -}}
+ <Directory Id="resourcesDir" Name="APPLICATIONFOLDER:\resources\"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="${programFilesId}">
{{ if (menuCategory) { }}
@@ -110,6 +117,10 @@
{{-dirs}}
<ComponentGroup Id="ProductComponents" Directory="APPLICATIONFOLDER">
+ <Component Directory="resourcesDir">
+ <Condition>(NOT ALLUSERS = 1) AND DISABLEAUTOUPDATE = 0</Condition>
+ <File Name="app-update.yml" Source="$(var.appDir)\..\msi-app-update.yml" ReadOnly="yes" KeyPath="yes"/>
+ </Component>
{{-files}}
</ComponentGroup>
</Product>