Skip to content

Fix product database to use stable GUIDs for Inno Setup installers and track MSI separately#3059

Merged
jmcouffin merged 4 commits intodevelopfrom
copilot/review-comments-from-devloai
Feb 1, 2026
Merged

Fix product database to use stable GUIDs for Inno Setup installers and track MSI separately#3059
jmcouffin merged 4 commits intodevelopfrom
copilot/review-comments-from-devloai

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 1, 2026

PR #3058 prevented Inno Setup AppIds from being overwritten on each build, but left pyrevit-products.json receiving random UUIDs instead of the stable GUIDs defined in .iss files. This breaks version detection and upgrade logic since the registry GUID won't match the database.

Additionally, for pyRevit CLI which has both Inno Setup and MSI installers, the MSI ProductCode needs to be tracked separately to support both installer types.

Changes

dev/scripts/configs.py

  • Added constants for stable Inno Setup product codes matching .iss files:
    PYREVIT_INNO_PRODUCT_CODE = "f2a3da53-6f34-41d5-abbd-389ffa7f4d5f"
    PYREVIT_CLI_INNO_PRODUCT_CODE = "9557b432-cf79-4ece-91cf-b8f996c88b47"

dev/_release.py

  • Use stable GUIDs for Inno Setup product database entries
  • Generate new ProductCode only for MSI installers (per MSI spec requirements)
  • Track MSI ProductCode separately as "pyRevit CLI MSI" entries in the database
  • Removed redundant MSI call for pyRevit (PYREVIT_MSI_PROPS_FILES is empty)
  • Updated _update_product_data_file() to support MSI parameter for separate tracking
  • Updated docstring to reflect that function no longer sets new UUIDs for Inno Setup installers

Result

Product database now properly tracks all installer types:

  • pyRevit: Inno Setup stable GUID
  • pyRevit CLI: Inno Setup stable GUID
  • pyRevit CLI MSI: MSI ProductCode (new per version)

This enables proper version detection and upgrade flows for both Inno Setup and MSI installers.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copy link
Copy Markdown
Contributor

@devloai devloai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Summary:

This is an empty work-in-progress PR created by GitHub Copilot to address review comments from the already-merged PR #3058. The PR currently contains:

  • 0 files changed
  • 0 additions, 0 deletions
  • 1 empty commit titled "Initial plan"

Review Summary:

No code changes to review. This PR was created to address critical and minor review comments from PR #3058 (regarding Inno Setup installer GUID stability and product code mismatches), but Copilot has not yet implemented any fixes. The branch is identical to develop except for the empty placeholder commit.

Follow-up suggestions:

  • Close this PR if the review comments from PR #3058 will be addressed in a different PR or directly on develop
  • Alternatively, implement the suggested fixes from PR #3058's review comments in this branch

Co-authored-by: jmcouffin <7872003+jmcouffin@users.noreply.github.com>
Copilot AI changed the title [WIP] Review comments on pull request #3058 Fix product database to use stable GUIDs for Inno Setup installers Feb 1, 2026
Copilot AI requested a review from jmcouffin February 1, 2026 17:54
@jmcouffin jmcouffin requested a review from Copilot February 1, 2026 17:56
@jmcouffin jmcouffin added the Installer Issues related to the pyRevit installer [subsystem] label Feb 1, 2026
@jmcouffin jmcouffin marked this pull request as ready for review February 1, 2026 17:57
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the release tooling so pyrevit-products.json uses the stable Inno Setup GUIDs (AppIds) defined in the .iss installers, avoiding random UUID churn that breaks installer/registry-based identification.

Changes:

  • Added stable Inno Setup GUID constants to dev/scripts/configs.py.
  • Updated set_product_data in dev/_release.py to write stable Inno GUIDs to the product database and only generate new ProductCodes for MSI builds.
  • Removed the redundant MSI update call for pyRevit when the MSI props list is empty.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
dev/scripts/configs.py Adds stable Inno Setup GUID constants so release scripts can reference the same IDs as the .iss files.
dev/_release.py Adjusts product-data generation to store stable Inno GUIDs and limits new GUID generation to MSI ProductCodes.

Copilot AI and others added 2 commits February 1, 2026 18:13
Co-authored-by: jmcouffin <7872003+jmcouffin@users.noreply.github.com>
Co-authored-by: jmcouffin <7872003+jmcouffin@users.noreply.github.com>
Copilot AI changed the title Fix product database to use stable GUIDs for Inno Setup installers Fix product database to use stable GUIDs for Inno Setup installers and track MSI separately Feb 1, 2026
@jmcouffin jmcouffin merged commit 3903d1a into develop Feb 1, 2026
1 check passed
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 1, 2026

📦 New work-in-progress (wip) builds are available for 5.3.1.26032+1829-wip

@jmcouffin jmcouffin deleted the copilot/review-comments-from-devloai branch February 1, 2026 19:34
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 1, 2026

📦 New work-in-progress (wip) builds are available for 5.3.1.26032+1937-wip

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 1, 2026

📦 New work-in-progress (wip) builds are available for 6.0.0.26032+1956-wip

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 1, 2026

📦 New work-in-progress (wip) builds are available for 6.0.0.26032+2005-wip

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 1, 2026

📦 New work-in-progress (wip) builds are available for 6.0.0.26032+2008-wip

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 1, 2026

📦 New public release are available for 6.0.0.26032+2040

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 1, 2026

📦 New public release are available for 6.0.0.26032+2040

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Installer Issues related to the pyRevit installer [subsystem]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants