Add MSI experimental support#1251
Draft
lrandersson wants to merge 22 commits into
Draft
Conversation
* Initial prototype as shown in demo * Switch to install_launcher option * Update schema properly * Move MSI file rather than copying it * Add fallbacks for invalid versions and app names * Use absolute paths in install script * Check that briefcase.exe exists * Add briefcase to dependencies, and make it and tomli-w Windows-only * Move Windows-specific dependencies from environment.yml to extra-requirements-windows.txt --------- Co-authored-by: Marco Esters <mesters@anaconda.com>
* Add tests * Some more fixes * Test commit to see if this resolves test failure * Set version back to X also for the other failing test * Review fixes * pre-commit * Add str conversion * Remove request usage for MSI
* Add Install Options Page - WIP * Review fixes * Fix description * Remove comment and fix format * Review fixes * Remove 'self' * Review fixes
* Work in progress * Work in progress * Remove unnecessary packages * Remove call to 'pause' that was used for debugging * Fix grammar in error message Co-authored-by: Marco Esters <mesters@anaconda.com> --------- Co-authored-by: Marco Esters <mesters@anaconda.com>
* Reorganize payload into a class and add tests * Ensure new tests are Windows only * Add jinja templating, payload as tar, tests * Update docstring * Update briefcase.py * Inline test utility function * Remove payload tar, update pre_uninstall.bat * Use conda-standalone for extracting tar * Merge archive functions, update root as cached property * Remove template_file.py improve handling of templates * Add missing .dst * Remove compresslevel arg * Review fixes * Fix typo in file name causing build errors * Dynamically set archive type from file name * Rename class function and update docstring * Update uninstallation scripts * Update pre_uninstall.bat * Add logging * Improve log handling for msi tests * Add register_envs * Fix syntax error with remove * Ensure .exe test not running for MSI * Properly disable test for MSI * Add more tests and another check errorlevel * Make logging more neat * Removed all use of 'sanity' * Updated test for MSI (remove pytest.skip) * Update to use CLI for newer conda-standalone * Fix missing quote and properly use --log-file * Docstring formatting * pre-commit fix * Hopefully fix issue with conda-standalone canary * Fix typo in workflow * Automatically create 'dst' * Remove TemplateFile * Fix docstring * FIx pre-commit * Always log to file * Generalize install/uninstall logs and move into INSTDIR * pre-commit fix * Remove PayloadLayout * Fix remaining syntax error * Review fixes
* Add implementation for installer and uninstall options * Disable protected base test for MSI * Ensure yaml always is generated * Ensure we write to 64-bit registry * Make test more precise * pre-commit fix * Misc updates * Fix review comments * Remove manual delete of .nonadmin * Removed one more redundant test * Update comments and printed output * add removal of configuration files * Change to .nonadmin check instead of REG_HIVE * Update test * add another consistency check * Update constructor/briefcase/pre_uninstall.bat Co-authored-by: Marco Esters <mesters@anaconda.com> --------- Co-authored-by: Marco Esters <mesters@anaconda.com>
…1182) * Add virtual specs * fix: pre-commit * fix: update tests * Add condarc support for MSI installers * add tests also t test_utils.py * enable more examples for MSI * update calculation of MSI path * try use existing parse function * add temporary skip for MSI * pre-commit fix * MSI: Add .condarc during preconda * update .condarc handling for all installers
* Add support for script_env_variables * add to uninstall * update docs * Update construct.schema.json due to earlier changes * review fixes * Fix issue with virtual specs
* add support for extra_envs, work in progress * Fix rebase issues * Add more examples to MSI testing * fix error: TypeError: unhashable type * Changed default value of shortcut option for consistency with NSIS * Add debug output * Always uninstall with conda-standalone * Add debug output * Improve debug output * Remove debug output, skip test * Remove more debug statements * Use pytest.xfail * Review fix * Add suggestion from review Co-authored-by: Marco Esters <mesters@anaconda.com> * Bump min conda-standalone --------- Co-authored-by: Marco Esters <mesters@anaconda.com>
* Add support for user supplied scripts * Enable some new examples * Fix type error for test * Change copying of extra_files to base environment * Fix issue with license file not being copied * Add debug output * Fix order of user script, fixes last error
…a#1200) * Set CONDA_QUIET * Add new uninstaller variables
* Enable test for MSI * Dummy commit * Account for 'base' in test for MSI * pre-commit fix
* add signing of installers - work in progress * Review fixes: sign before move, docstring update, rename func
* Update write_images and add tests * Update calls to write_images * Add second test * Add image generation to MSI installers * Remove obsolete old code * Update docs * Update formatting and add comment * Add news * Make fixes for issues visible from tests * pre-commit fix * review fixes * Review fixes, update docs, remove invalid test * Update doc to be explicit
* Enable test for MSI * Apply fixes from review * Fix list default
* Add function to modify text font * Add tests and misc improvements
* Add experimental warning * Dont include branding images into payload * Fix order of installer options * Remove comment
6106faa to
d2336c2
Compare
lrandersson
commented
May 28, 2026
| @@ -0,0 +1,19 @@ | |||
| ### Enhancements | |||
|
|
|||
| * MSI: Add branding image support (`welcome_image`, `header_image`, `icon_image`). (#1235) | |||
lrandersson
commented
May 28, 2026
|
|
||
| {%- for condarc in write_condarc %} | ||
| {{ condarc }} | ||
| {%- endfor %} |
Contributor
Author
There was a problem hiding this comment.
TODO; dont remember the origin of this change
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This branch is a copy of the branch
briefcase-integrationcontaining the entire feature branch for MSI installers.Checklist - did you ...
newsdirectory (using the template) for the next release's release notes?