#2010 Program Compatibility Assistant dialogue box

INSTALLER
closed
None
Support
fixed
Unknown
False
2013-08-10
2013-08-04
Earnie Boyd
No

Is it expected to have a dialogue box titled "Program Compatibility Assistant" open when using the Windows close (X) function from guimain.exe versus the Quit function from the menu?

Discussion

  • Earnie Boyd
    Earnie Boyd
    2013-08-04

    Hmm... Pressing the "This program installed correctly." button causes this dialogue box to not show again. This is something to keep in mind though. Maybe some new API to cause the dialogue box to not display again but not worth the time to research it more than a few minutes. Maybe just flag this a documentation?

     
  • Keith Marshall
    Keith Marshall
    2013-08-04

    Hmm. So you're seeing it too, then. I've noticed it from mingw-get-setup.exe, (which is explicable -- see below), but I don't ever recall having seen it from guimain.exe itself.

    I think this is one of those heuristic -- a.k.a. broken by design -- Win7 issues: seeing the substring "setup" in the program name, Win7 thinks this program should be storing information either into the registry, or in the add/remove programs database. Of course, mingw-get-setup.exe does no such thing, so Win7 "helpfully" -- and completely erroneously -- launches the PCA dialogue.

    I've tracked down an MSDN KB article which suggests a resources hack to work around this stupidity; don't know if it will work for Win8 tho' -- they provide compatibility manifest keys for Vista and Win7 only, that I've been able to find.

     
  • Earnie Boyd
    Earnie Boyd
    2013-08-05

    There is also this article explaining the possible scenarios in which one receives the dialogue window. A popular solution on that page is "Run as Administrator".

     
    • Keith Marshall
      Keith Marshall
      2013-08-05

      There is also this article ...

      I'd already seen that; there's also significant innuendo to the effect that the information presented there is inadequate, particularly when supporting Win7.

      A popular solution on that page is "Run as Administrator".

      That isn't a "solution" we even want to consider; there is no reason to require mingw-get to run with any privilege level other than "asInvoker", and mingw-get/mingw-get-setup already have manifest resources specifying:

      <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      

      which is exactly how we want to keep it; the Microsoft articles even hint that this should suffice, but it doesn't. Other resources indicate that Win7 imposes the additional requirement for the <compatibility> specification, which mingw-get doesn't currently incorporate; adding that is the obvious next step.

       
    • Keith Marshall
      Keith Marshall
      2013-08-06

      According to this (apparently authoritive) MSDN TechNet blog, just adding the requestedExecutionLevel manifest key definitely isn't sufficient under Win7, (nor presumably Win8); a compatibility section with appropriate supportedOS tags is also needed.

      Adding the supportedOS keys does seem to kill the PCA annoyance, for me. I'll post an appropriately modified snapshot later tonight, if you'd care to check it too; (do note that, having selected the "This program installed correctly" button will have added a registry key at HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted, to disable PCA for each of mingw-get-setup.exe and/or guimain.exe; you may need to kill those, to test effectively).

       
      • Keith Marshall
        Keith Marshall
        2013-08-06

        I'll post an appropriately modified snapshot later tonight...

        That's available for download now. I won't make a formal announcement at this time, since the only change from the previous snapshot is the manifest addition to address this specific issue.

         
  • Keith Marshall
    Keith Marshall
    2013-08-06

    • status: unread --> open
     
  • Earnie Boyd
    Earnie Boyd
    2013-08-07

    I'll give it a go sometime toward the weekend.

     
  • Earnie Boyd
    Earnie Boyd
    2013-08-10

    I find the resolution works.

     
    • Earnie Boyd
      Earnie Boyd
      2013-08-10

      I should phrase that as does not bring up the compatibility wizard.

       
  • Earnie Boyd
    Earnie Boyd
    2013-08-10

    • status: open --> closed
    • Resolution: none --> fixed