[PR #1896] [MERGED] fix(installer): Fix Windows MSI installer for WiX v6 #2688

Closed
opened 2026-01-29 17:23:25 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/CCExtractor/ccextractor/pull/1896
Author: @cfsmp3
Created: 12/25/2025
Status: Merged
Merged: 12/25/2025
Merged by: @cfsmp3

Base: masterHead: master


📝 Commits (8)

  • ea5125f fix(installer): Use Order attribute to override license dialog navigation
  • 6789376 fix(installer): Try Order=999 to force dialog override to fire last
  • 4a51ad1 fix(installer): Use custom UI without license dialog
  • 84692b5 fix(installer): Disable path validation to avoid local drive errors
  • c0deae4 fix(installer): Add InstallScope=perMachine and update InstallerVersion
  • 1fc5ec0 fix(installer): Use correct WiX v4+ attribute name 'Scope' not 'InstallScope'
  • 1950f09 fix(workflow): Extract only numeric version for MSI
  • 903ccc1 chore: trigger CI rerun

📊 Changes

3 files changed (+84 additions, -13 deletions)

View changed files

📝 .github/workflows/release.yml (+6 -2)
windows/CustomUI.wxs (+71 -0)
📝 windows/installer.wxs (+7 -11)

📄 Description

Summary

  • Fix Windows MSI installer to work correctly with WiX v6.0.2
  • Remove license dialog from installation flow
  • Fix version extraction to use only numeric parts for valid MSI versions
  • Add proper per-machine installation scope

Changes

Custom UI without License Dialog

  • Add CustomUI.wxs - a custom WiX UI based on WixUI_InstallDir but without the LicenseAgreementDlg
  • This restores the original behavior where the installer skips the license dialog

Installer Configuration Updates (installer.wxs)

  • Use custom UI instead of standard WixUI_InstallDir
  • Add Scope="perMachine" for proper admin-level registry access
  • Update InstallerVersion from 200 to 500 (Windows Installer 5.0)
  • Disable path validation to avoid "must be on local hard drive" errors in VMs

Workflow Updates (release.yml)

  • Extract only numeric version from tags (strip everything after first dash)
  • MSI versions must be numeric format (major.minor.build), so v1.0-test becomes 1.0.0.0
  • Include CustomUI.wxs in the WiX build command

Test Plan

  • Build completes successfully on GitHub Actions
  • MSI installs without license dialog
  • MSI installs without registry errors
  • CCExtractor runs correctly after installation

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/CCExtractor/ccextractor/pull/1896 **Author:** [@cfsmp3](https://github.com/cfsmp3) **Created:** 12/25/2025 **Status:** ✅ Merged **Merged:** 12/25/2025 **Merged by:** [@cfsmp3](https://github.com/cfsmp3) **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (8) - [`ea5125f`](https://github.com/CCExtractor/ccextractor/commit/ea5125f030052fdb2a27a0c7aa606df1597bf9ca) fix(installer): Use Order attribute to override license dialog navigation - [`6789376`](https://github.com/CCExtractor/ccextractor/commit/6789376b92e58f2783e1077ba4ee6b0fbeffcf06) fix(installer): Try Order=999 to force dialog override to fire last - [`4a51ad1`](https://github.com/CCExtractor/ccextractor/commit/4a51ad114e7a296f0195e50c04974a69fc9635f2) fix(installer): Use custom UI without license dialog - [`84692b5`](https://github.com/CCExtractor/ccextractor/commit/84692b5658c482e24c15a4d3b6b1a687bbae766c) fix(installer): Disable path validation to avoid local drive errors - [`c0deae4`](https://github.com/CCExtractor/ccextractor/commit/c0deae4b0cac0f1a9d808ac939764453d075a587) fix(installer): Add InstallScope=perMachine and update InstallerVersion - [`1fc5ec0`](https://github.com/CCExtractor/ccextractor/commit/1fc5ec00d4eacd6dc073cc04f24adf1130726fb1) fix(installer): Use correct WiX v4+ attribute name 'Scope' not 'InstallScope' - [`1950f09`](https://github.com/CCExtractor/ccextractor/commit/1950f096b6670a8002dcdaee7086f40daac5daec) fix(workflow): Extract only numeric version for MSI - [`903ccc1`](https://github.com/CCExtractor/ccextractor/commit/903ccc1442c9a8964ea3785a4adf021a2be192ae) chore: trigger CI rerun ### 📊 Changes **3 files changed** (+84 additions, -13 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/release.yml` (+6 -2) ➕ `windows/CustomUI.wxs` (+71 -0) 📝 `windows/installer.wxs` (+7 -11) </details> ### 📄 Description ## Summary - Fix Windows MSI installer to work correctly with WiX v6.0.2 - Remove license dialog from installation flow - Fix version extraction to use only numeric parts for valid MSI versions - Add proper per-machine installation scope ## Changes ### Custom UI without License Dialog - Add `CustomUI.wxs` - a custom WiX UI based on WixUI_InstallDir but without the LicenseAgreementDlg - This restores the original behavior where the installer skips the license dialog ### Installer Configuration Updates (`installer.wxs`) - Use custom UI instead of standard WixUI_InstallDir - Add `Scope="perMachine"` for proper admin-level registry access - Update `InstallerVersion` from 200 to 500 (Windows Installer 5.0) - Disable path validation to avoid "must be on local hard drive" errors in VMs ### Workflow Updates (`release.yml`) - Extract only numeric version from tags (strip everything after first dash) - MSI versions must be numeric format (major.minor.build), so `v1.0-test` becomes `1.0.0.0` - Include `CustomUI.wxs` in the WiX build command ## Test Plan - [x] Build completes successfully on GitHub Actions - [x] MSI installs without license dialog - [x] MSI installs without registry errors - [x] CCExtractor runs correctly after installation 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 17:23:25 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2688