views:

220

answers:

3

I'm running into the Windows Vista/7 Program Compatibility Assistant problem described here:

http://stackoverflow.com/questions/1069135/this-program-might-not-have-installed-correctly-message-in-windows-7-rc

The solution (backed-up by similar questions elsewhere, and MSDN), is apparently to add a 'compatibility' section to setup.exe's manifest. InstallShield 10 SP1 does this automatically, but unfortunately I only have InstallShield 2009.

How would I go about editing the manifest? Is there a way to do this programmatically, so I can integrate it into my build?

A: 

a manifest file could be outside the exe, in the same path, or inside, in the resources of an exe.

Oops
InstallShield places a manifest in its bootstrap's resources. So since Vista (and possibly XP, I keep forgetting the cutoff) any external manifest will be ignored.
Michael Urman
+1  A: 

Yes, just use mt.exe from the Windows SDK.

sascha
+1  A: 

Look for the files named setupexe.*.manifest (Support or Program subfolder of InstallShield, I think) and edit or replace them. The appropriate one is selected and incorporated into setup.exe during build.

Michael Urman
DNS