Question

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 problem leading to this question is with an application that has a side-by-side UAC manifest with a requestedExecutionLevel of highestAvailable specified. This should switch Vista file virtualization off, but it does not. I want to find out why. The manifest is being used, as I checked by intentionally introducing a syntactic error, but I see no way of determining how it is being used.

Was it helpful?

Solution

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?

OTHER TIPS

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.

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

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top