I was attempting to do a manual install of flash player for firefox 126.96.36.199 on Vista. For some reason, I think it did not go too well. When I was about to click the final 'finish' button on the installer - the following window popped up:
So now, what do I do to UNDO the compatibility settings? On right-clicking and seeing the property page for compatibility, no checkboxes are checked (that is - it seems as though no settings are applied).
How do I understand whether it is running as a compatibility app? How do I convince Vista not to run it in compat mode?
This PCA dialog detects that the target application (Firefox) called the CreateProcess API to create a process that requires elevation (either through installer detection or manifest). This makes sense, since you are actively trying to install something.
From a development point of view, you should call ShellExecute(Ex) instead. Regardless, what we have set is the ElevateCreateProcess shim for this executable. That means that if you call CreateProcess and it returns ERROR_ELEVATION_REQUIRED, then we will try
again, this time prompting for elevation.
So, this compatibility mode doesn't really hurt anything, and will help you out the next time Firefox calls CreateProcess on another exe that requires elevation. Other than that, it won't interfere with anything - presumably you aren't calling CreateProcess
much in normal web browsing, so you won't even run this shim code much.
If you want to see what we are doing, you can go to:
Why don't we give this particular PCA dialog an opt-out button? Because we are 100% certain that the fix for ERROR_ELEVATION_REQUIRED when calling CreateProcess is to shim with ElevateCreateProcess, and the fix is very low overhead.
Thanks a lot for clearing it up. Firefox is indeed listed in that registry key with the following data: ELEVATECREATEPROCESS
If it bothers me, I know what to delete.
[Note: sorry to bump this thread back up]
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.