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

Separate the app.manifest from the exe [Customer] #629

Closed
ferventcoder opened this issue Dec 5, 2018 · 1 comment
Closed

Separate the app.manifest from the exe [Customer] #629

ferventcoder opened this issue Dec 5, 2018 · 1 comment
Assignees
Labels
Feature Issues that introduce new functionality to the project, instead of updating existing functionality
Milestone

Comments

@ferventcoder
Copy link
Member

This will allow folks to make decisions on how best to set things when they run into interesting Windows issues. One issue being requested elevation when standard Windows users are members of groups that have some additional privilege elevation (including but in this case not the Administrators group), UAC will also pop up. An admin using self-service that wants to remove this can simply make the adjustment to the app.manifest file to asInvoker.

<!-- UAC Manifest Options
Specifying requestedExecutionLevel node (below) will disable file and
registry virtualization.
Set level to "asInvoker" when you want to run under the context
of the user invoking.
Set level to "requireAdministrator" to only allow administrators to
run ChocolateyGUI.
Set level to "highestAvailable" to allow non-admins to run in
non-administrative context, but require administrators to always run
with administrative privileges. This is the recommended behavior.
The following is an unsupported use case: If you want to utilize File
and Registry Virtualization for backward compatibility then delete
the requestedExecutionLevel node.
-->
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />

Related

@ferventcoder ferventcoder added Feature Issues that introduce new functionality to the project, instead of updating existing functionality Customer Bug reported or feature requested by a licensed customer of Chocolatey labels Dec 5, 2018
@ferventcoder ferventcoder added this to the 0.17.0 milestone Dec 5, 2018
@ferventcoder ferventcoder self-assigned this Dec 5, 2018
ferventcoder added a commit to ferventcoder/ChocolateyGUI that referenced this issue Dec 5, 2018
By default highestAvailable is desired for UAC prompting behavior, but
sometimes there are groups that provide some level of elevation
(Network Configuration Operators Group) that also mean that UAC will
prompt. This is undesirable behavior in shops that might want to use
self-service and have Chocolatey GUI run as the user that invoked
without any elevation being requested. To allow this behavior,
app.manifest can not be embedded, but must sit next to
ChocolateyGUI.exe so that it can be changed for those situations that
require it by those users.
ferventcoder added a commit to ferventcoder/ChocolateyGUI that referenced this issue Dec 5, 2018
By default highestAvailable is desired for UAC prompting behavior, but
sometimes there are groups that provide some level of elevation
(Network Configuration Operators Group) that also mean that UAC will
prompt. This is undesirable behavior in shops that might want to use
self-service and have Chocolatey GUI run as the user that invoked
without any elevation being requested. To allow this behavior,
app.manifest can not be embedded, but must sit next to
ChocolateyGUI.exe so that it can be changed for those situations that
require it by those users.
gep13 added a commit to ferventcoder/ChocolateyGUI that referenced this issue Dec 6, 2018
ferventcoder added a commit to ferventcoder/ChocolateyGUI that referenced this issue Dec 6, 2018
Windows behavior of manifest caching is enough to make even the best of
admins and developers want to tear out their hair until they realize
there is a cache and changes to the manifest are completely ignored by
Windows. So leave a breadcrumb here so that folks know if they make a
change to the manifest file, they will need to "touch" the file they
are trying to get the manifest to take effect for - in this case
ChocolateyGUI.exe. The modification date will need changed to clue
Windows in that there is a new manifest.

This is only when changing the file AFTER the exe / modification date
has been run even once. It's better to just say to always update the
modification date as someone may not know whether the file has been ran
before.
@gep13 gep13 closed this as completed in #630 Dec 6, 2018
gep13 added a commit that referenced this issue Dec 6, 2018
@gep13 gep13 changed the title Separate the app.manifest from the exe Separate the app.manifest from the exe [Customer] Mar 26, 2020
@gep13 gep13 removed the Customer Bug reported or feature requested by a licensed customer of Chocolatey label Mar 26, 2020
@choco-bot
Copy link

🎉 This issue has been resolved in version 0.17.0 🎉

The release is available on:

Your GitReleaseManager bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Issues that introduce new functionality to the project, instead of updating existing functionality
Projects
None yet
Development

No branches or pull requests

3 participants