cad-editor/packaging/windows/ui.wxs
Hakan Seven e7afe35d62 feat(packaging): desktop shortcut, icon-cache refresh, checksums, AppStream
Windows installer:
- Optional Desktop shortcut feature (default on, deselectable) via a switch to
  the WixUI_FeatureTree UI.
- Refresh the shell after install (ie4uinit -show) so .dwg/.dxf icons and
  associations appear without a reboot.
- Tidy the Add/Remove Programs entry: ARPNOREPAIR plus contact/update/comments
  metadata (Modify stays enabled for the feature tree).

Release workflow:
- Publish SHA256 sidecars for the AppImage, portable .exe, MSI and .dmg.

Linux:
- Ship an AppStream metainfo.xml for software-centre integration.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 04:27:46 +03:00

54 lines
2.1 KiB
XML

<?xml version='1.0' encoding='windows-1252'?>
<!--
Installer UI for the Windows MSI, kept separate from the package/feature
definition in main.wxs. Linked in via `<UIRef Id='OpenCADStudioUI' />`
there; both files are compiled together by candle and linked by light
(which needs `-ext WixUIExtension` for the WixUI_Minimal dialog set).
Provides:
* WixUI_FeatureTree wizard (Welcome → License → Features → Progress →
Finish). The Features page lets the user deselect the optional Desktop
shortcut feature (default on).
* A pre-ticked "Launch Open CAD Studio" checkbox on the finish screen
that starts the freshly installed exe when the user clicks Finish.
-->
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<Fragment>
<!--
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.
-->
<Property Id='WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT' Value='Launch Open CAD Studio' />
<Property Id='WIXUI_EXITDIALOGOPTIONALCHECKBOX' Value='1' />
<!--
License shown on the WixUI_Minimal EULA page. Without this variable WiX
falls back to its built-in placeholder (Lorem ipsum) RTF. Point it at the
project's GPL-3 text (License.rtf, generated from the repo LICENSE).
-->
<WixVariable Id='WixUILicenseRtf' Value='$(var.License)' />
<!--
Start the installed exe after the wizard closes. FileKey points at the
File defined in main.wxs (light resolves the cross-fragment reference).
asyncNoWait lets the installer exit cleanly while the app starts.
-->
<CustomAction
Id='LaunchApplication'
FileKey='OpenCADStudioEXE'
ExeCommand=''
Execute='immediate'
Return='asyncNoWait'
Impersonate='yes' />
<UI Id='OpenCADStudioUI'>
<UIRef Id='WixUI_FeatureTree' />
<Publish
Dialog='ExitDialog'
Control='Finish'
Event='DoAction'
Value='LaunchApplication'>WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 AND NOT Installed</Publish>
</UI>
</Fragment>
</Wix>