Home » Questions » Computers [ Ask a new question ]

Prevent elevation (UAC) for an application that doesn't need it [duplicate]

Prevent elevation (UAC) for an application that doesn't need it [duplicate]

Having recently migrated from Vista 32bit to Windows 7 64bit, one of my programs now requires admin rights.

Asked by: Guest | Views: 73
Total answers/comments: 2
Guest [Entry]

"No, the reason Crimson Editor does this is NOT because it is unsigned. (And this is not new to Win7). It is because the application manifest, which is embedded at compile-time, specifies requestedPrivilegeLevel=""highestLevel"".

According to this forum post, the Crimson Editor developers changed this in revision 237-241. They did this because the ""Add Crimson Editor to shell context menus"" feature requires admin privileges.

The long-term fix would be for the Crimson Editor developers to correct their application manifest. They should add themselves to the shell context menus during install, or at least tell users they have to manually run the app elevated (which is easy to do) instead of requiring it.

For all apps with requestedPrivilegeLevel=""highestLevel"" in their manifest (use Manifest View to view application manifests), you can use Microsoft's Application Compatibility Toolkit to shim the application with the RunAsInvoker fix, which forces the app to run with your standard user tokens.

For more information on how to use the Application Compatibility Toolkit, see this post about applying it to Crimson Editor, or general instructions."
Guest [Entry]

"If you have Visual Studio you can do the following:

Open Visual Studio as Administrator.
Press Ctrl-O to open a file
Browse to the folder where Crimson Editor is and open cedt.exe
The file is opened using the resource editor and you will see a tree with a branch named RT_MANIFEST, expand this and double-click the single child entry named ""1 [English United States]""
About three quarters of the way down in the right column you will see requestedExecutionLevel level=""highestAvailable"", change ""highestAvailable"" to ""asInvoker"" (NB the editor opens in over-type mode by default.
Save the file and you're done.