Diagnosing Windows application manifests

前端 未结 4 1025
青春惊慌失措
青春惊慌失措 2020-12-19 08:44

Windows application manifests have a very loose grammar — unrecognized parts are ignored. How can I diagnose which parts are recognized and which are not?

The proble

相关标签:
4条回答
  • 2020-12-19 08:59

    There is a cache.

    The SxS Activation Context Cache caches .manifest files.

    From what I've read it supposedly only caches the existence of a manifest.

    It is memory based and clears only on a reboot - HOWEVER, I know for fact it does not always clear on a reboot and many others report this as well. I did find c:\windows\sxs\manifestCache and wonder if it really reloads from there on reboot.

    The only way to force is to change the modified date on the .exe.

    Also becareful when editing your manifest, if you don't elevate your editor, it will be UAC virtualized - of coures the virtualized copy is ignored by the loader.

    References: http://blogs.msdn.com/b/junfeng/archive/2006/10/25/touch-the-exe-after-you-added-a-manifest-for-it-in-vista.aspx http://blogs.msdn.com/b/junfeng/archive/2007/10/01/vista-activation-context-cache.aspx

    0 讨论(0)
  • 2020-12-19 09:06

    I had the similar problem: the task manager showed Virtualization was enabled for the running apps despite the apps being manifested as highestAvailable. I tried using mt.exe to manifest my files. It worked on some but not on others. That strange behavior made me think there was some persistent cache in Vista that affected UAC info based on an exe's timestamp. The solution was to use the manifest wizard from Resource Tuner.

    0 讨论(0)
  • 2020-12-19 09:08

    I would review through the documentation to ensure that it conforms to spec, but other than that there isn't an automated tool to do the same thing as far as I am aware.

    0 讨论(0)
  • 2020-12-19 09:16

    See my comment to Wylder - have you tried to update the timestamp of executable & manifest?
    What does "sxstrace" run from an elevated command prompt return?
    Could you post your manifest somewhere?

    0 讨论(0)
提交回复
热议问题