feat(installer): add finish screen with launch-app checkbox to Windows MSI
Adds WixUI_Minimal UI to the WiX installer so users see a proper Welcome → Progress → Finish wizard. The finish screen includes a pre-ticked "Launch Open CAD Studio" checkbox; clicking Finish with it checked starts the application immediately after the installer closes. Also updates the light.exe invocation in release.yml to include -ext WixUIExtension, which is required to link the WixUI dialogs. https://claude.ai/code/session_01DFVSKgViFaxEjZD2KsTdtt
This commit is contained in:
parent
99f1a2679e
commit
556989dbdb
2 changed files with 32 additions and 2 deletions
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
|
@ -138,7 +138,7 @@ jobs:
|
||||||
$wxsPath `
|
$wxsPath `
|
||||||
-out $wixObj
|
-out $wixObj
|
||||||
if ($LASTEXITCODE -ne 0) { throw "candle failed" }
|
if ($LASTEXITCODE -ne 0) { throw "candle failed" }
|
||||||
& $light $wixObj -out $msiPath
|
& $light $wixObj -ext WixUIExtension -out $msiPath
|
||||||
if ($LASTEXITCODE -ne 0) { throw "light failed" }
|
if ($LASTEXITCODE -ne 0) { throw "light failed" }
|
||||||
|
|
||||||
- name: Sign MSI installer (Azure Trusted Signing)
|
- name: Sign MSI installer (Azure Trusted Signing)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
candle.exe -arch x64 -dVersion=<x.y.z> -dSource=target\release\OpenCADStudio.exe \
|
candle.exe -arch x64 -dVersion=<x.y.z> -dSource=target\release\OpenCADStudio.exe \
|
||||||
-dIcon=packaging\windows\AppIcon.ico packaging\windows\main.wxs \
|
-dIcon=packaging\windows\AppIcon.ico packaging\windows\main.wxs \
|
||||||
-out packaging\windows\main.wixobj
|
-out packaging\windows\main.wixobj
|
||||||
light.exe packaging\windows\main.wixobj -out OpenCADStudio.msi
|
light.exe packaging\windows\main.wixobj -ext WixUIExtension -out OpenCADStudio.msi
|
||||||
|
|
||||||
Provides:
|
Provides:
|
||||||
* Per-machine install under Program Files\Open CAD Studio.
|
* Per-machine install under Program Files\Open CAD Studio.
|
||||||
|
|
@ -122,5 +122,35 @@
|
||||||
<ComponentRef Id='ProgramMenuDirComp' />
|
<ComponentRef Id='ProgramMenuDirComp' />
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Finish-screen "Launch Open CAD Studio" checkbox.
|
||||||
|
WIXUI_EXITDIALOGOPTIONALCHECKBOX=1 pre-ticks the checkbox; the Publish
|
||||||
|
below fires the launch action when the user clicks Finish with it checked.
|
||||||
|
WixUI_Minimal shows a minimal wizard (Welcome → Progress → Finish).
|
||||||
|
-->
|
||||||
|
<Property Id='WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT' Value='Launch Open CAD Studio' />
|
||||||
|
<Property Id='WIXUI_EXITDIALOGOPTIONALCHECKBOX' Value='1' />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Start the installed exe after the wizard closes.
|
||||||
|
asyncNoWait lets the installer exit cleanly while the app starts.
|
||||||
|
-->
|
||||||
|
<CustomAction
|
||||||
|
Id='LaunchApplication'
|
||||||
|
FileKey='OpenCADStudioEXE'
|
||||||
|
ExeCommand=''
|
||||||
|
Execute='immediate'
|
||||||
|
Return='asyncNoWait'
|
||||||
|
Impersonate='yes' />
|
||||||
|
|
||||||
|
<UI>
|
||||||
|
<UIRef Id='WixUI_Minimal' />
|
||||||
|
<Publish
|
||||||
|
Dialog='ExitDialog'
|
||||||
|
Control='Finish'
|
||||||
|
Event='DoAction'
|
||||||
|
Value='LaunchApplication'>WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 AND NOT Installed</Publish>
|
||||||
|
</UI>
|
||||||
|
|
||||||
</Product>
|
</Product>
|
||||||
</Wix>
|
</Wix>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue