Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(msi): MSI fails to install when deployed machine-wide via GPO #6514

Merged

Conversation

aplum
Copy link
Contributor

@aplum aplum commented Dec 23, 2021

Disable advertised shortcuts, since MSIs with advertised Start Menu shortcuts that have a
Shortcut Property fail to install when deployed machine-wide via GPO, but work fine in all
other contexts. This might be a bug in Windows, or a misdiagnosis; see #6508 for more details.

Closes #6508
BREAKING CHANGE: Admins using advertisement must apply an MST to re-enable it. See #6508.

Disable advertised shortcuts, since MSIs with advertised Start Menu shortcuts that have a
Shortcut Property fail to install when deployed machine-wide via GPO, but work fine in all
other contexts. This might be a bug in Windows, or a misdiagnosis; see electron-userland#6508 for more details.

Closes electron-userland#6508
BREAKING CHANGE: Admins using advertisement must apply an MST to re-enable it. See electron-userland#6508.
@changeset-bot
Copy link

changeset-bot bot commented Dec 23, 2021

🦋 Changeset detected

Latest commit: 410ddc7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 8 packages
Name Type
app-builder-lib Patch
dmg-builder Patch
electron-builder-squirrel-windows Patch
electron-builder Patch
electron-forge-maker-appimage Patch
electron-forge-maker-nsis-web Patch
electron-forge-maker-nsis Patch
electron-forge-maker-snap Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@mmaietta
Copy link
Collaborator

fail to install when deployed machine-wide via GPO, but work fine in all
other contexts.

You mentioned this is a breaking change. Can you clarify further? Will these only break configurations that install machine-wide via GPO? Or will this impact all MSI builds?

BREAKING CHANGE: Admins using advertisement must apply an MST to re-enable it.

@aplum
Copy link
Contributor Author

aplum commented Dec 29, 2021

This will only affect admins using advertisement. All MSI builds will have this new property, but whether that matters depends on how the admin is using the MSI. I had never used advertisement before, but just played around with it a bit using msiexec /j (docs) (presumably GPO would behave the same. Yes, I realize the irony of this assumption 😬). My findings:

  • For current MSI builds (no DISABLEADVTSHORTCUTS), current-user (/ju) and all-user (/jm) advertisement works.
  • For MSI builds with DISABLEADVTSHORTCUTS, logging indicates that the advertisement succeeded (for both current- and all-user) – however, I couldn't find the app anywhere. Shortcuts don't get installed, it doesn't show up in "Apps & Features" or "Add a feature" (though it doesn't for current MSI builds either, so I guess that's expected), and I don't know where else to look for it.
    • Adding the transform from this script with /t causes it to work fine like the current MSI builds.

I also tried Slack's machine-wide MSI for comparison, and it behaved similarly to the MSI with DISABLEADVTSHORTCUTS – "succeeded", but no visible trace.

My opinion is that this is overall a better situation. Other MSIs I've looked at often don't support advertisement (as far as I can tell; I'm not really an expert), so we're not worse than the status quo – and in fact we're still better since an MST can re-enable it, though that's hard to discover. One of the big reasons to use MSI is GPO deployment, but currently our MSIs mysteriously fail for machine-wide GPOs, somewhat defeating the point of supporting MSI at all.

@mmaietta
Copy link
Collaborator

Sounds solid.

Since this is a Breaking Change for Admins w/ Advertisements, I suggest we incorporate this into a v23.0.0-alpha branch that I'm currently working on. Can we retarget this PR to that branch?

@aplum aplum changed the base branch from master to v23.0.0-alpha January 3, 2022 17:57
@mmaietta mmaietta merged commit dcbb05d into electron-userland:v23.0.0-alpha Jan 7, 2022
mmaietta added a commit that referenced this pull request Jan 16, 2022
* Adding INPUTxxx and OUTPUTxxx CHARSETS to makensis
Fixes: #4898 #6232 #6259

* Adding additional details to error console logging

* Breaking change: Removing Bintray support since it was sunset. Ref: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

* fix: force strip path separators for backslashes on Windows

* fix: Force authentication for local Mac Squirrel update server

* Breaking Change: Fail-fast for signature verification failures. Adding `-LiteralPath` to update file for injected wildcards

* Adding changeset and eslint

* Fix error: `-OUTPUTCHARSET is disabled for non Win32 platforms.`

* feat(mac): ElectronAsarIntegrity in electron@15 (#6511)

* feat(mac): ElectronAsarIntegrity in electron@15
See: electron/electron#30667
Fix: #6506
Fix: #6507

* fix(msi): MSI fails to install when deployed machine-wide via GPO (#6514)

* fix(msi): MSI fails to install when deployed machine-wide via GPO
* Disable advertised shortcuts, since MSIs with advertised Start Menu shortcuts that have a
Shortcut Property fails to install when deployed machine-wide via GPO but works fine in all
other contexts. This might be a bug in Windows or a misdiagnosis; see #6508 for more details.
Closes #6508
* BREAKING CHANGE: Admins using advertisement must apply an MST to re-enable it. See #6508.

* Don't set GitHub Releases draft title since it automatically pulls it from tag name. Fixes #3683

* feat(snap): add lzo to Snap compression options (also as new default) (#6201)

* feat(msi): add fileAssociation support for MSI target (#6530)

* fix(win): iconId sometimes containing invalid characters, and iconId config option being ignored.
* fix(msi): change the fallback value for generated MSI Ids to a unique string for the product.

* BREAKING CHANGE: remove MSI option `iconId`

* fix: stabilizing tests by moving updater tests to its own node to explicitly segment env.___TOKEN integration tests from other standard unit tests

* chore: synchronizing docs and schema plus prettier

* Adding changset to set as alpha

* Updating changeset documentation

* feat(msi): support assisted installer for MSI target (#6550)

* Add basic support for assisted installer, with UI to choose between per-user and per-machine. Supported config settings: runAfterFinish, perMachine, oneClick. Not supported: license (EULA), allowToChangeInstallationDirectory, etc. Also prevent oneClick's runAfterFinish from executing when installed silently.

Co-authored-by: Fedor Indutny <[email protected]>
Co-authored-by: Alex Plumley <[email protected]>
Co-authored-by: Mike Maietta <[email protected]>
Co-authored-by: Omer Akram <[email protected]>
Co-authored-by: Maximilian Federle <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MSI fails to install when deployed machine-wide via GPO
2 participants