Manifest problems with 64 bit Vista.

I have just installed the new RC1 release of the Vista SDK and there isn't a new mt.exe included in that release. This is concerning since we are so close to gold and there are still so many issues with manifests.

Issues:

1. The current released SDK (mt.exe) generates warnings when embeding manifests in .exe files like the following. Our builds do not allow checkins that build with warnings so thats a problem.

setup.exe.manifest() : warning manifest authoring warning 81010003: Element "description" in an unrecognized namespace "urn:schemas-microsoft.com:asm.v1".
setup.exe.manifest() : warning manifest authoring warning 81010003: Element "trustInfo" in an unrecognized namespace "urn:schemas-microsoft.com:asm.v3".

2. If we make the build succeed despite the warnings, then I find that 64 bit vista will still not elevate my setup process which has the requestedExecutionLevel level='requireAdministrator' uiAccess='false' manifest tags embeded in the .exe. I verified this by opening the .exe file with 2005 and I clearly see the RT_MANIFEST component embeded in the binary. Which leads to number 3.

3. Since using mt.exe to embed the manifest in the binary didn't work, I tried to have setup.rc do the work instead. I defined the following in my setup.rc file.

#define MANIFEST_RESOURCE_ID 1
MANIFEST_RESOURCE_ID RT_MANIFEST "Setup.exe.manifest"

This will give me two results I find interesting. After completing a build with this define set, I see two similar defines in the binary for a manifest. RT_MANIFEST has a default VC8 manifest embeded(empty xml), and then there is a "RT_MANIFEST" embeded (Note: it has quotes around it, and the other doesn't) which is the manifest I specified in the setup.rc file. Is Vista reading the wrong manifest and doing something wrong? Is this a compiler issue?

4. Assuming that all the above gets resolved before Vista ships, then there is the new problem of binaries that include embeded vista manifests causing blue screens on XP SP2 and lower as well as W2k3 plain. The work around is to create a bootstrapper for my bootstrapper to check for the hotfix. Ugg. Being an administration application this is a big problem. Our binaries are multiplatform compatible like many other companies out there. Is there nothing else that can be done?@?@?@?

Thanks

Nick

[2457 byte] By [NickE] at [2007-12-24]

Software Development for Windows Vista

Site Classified