Archive: Adapt the manifest of the setup application


Adapt the manifest of the setup application
Hi,
is there any way to adapt the manifest of a setup application created by NSIS?

I would like to extend the manifest with an additional element of type

<supportedOS Id="{...}"> to support Windows 8.


You could probably use resource hacker and !packhdr but I don't think there is any point, Win7 compatibility should be enough...


Win7
Win8

The only reason we added the Win7 guid to the manifest is for PCA.
The Win8 guid will change the IShellLink interface we use to create shortcuts so we would have to think about possible compatibility issues. The only benefit is theme support in high contrast mode, not a big deal IMHO.


Hi Anders,

thank you for your help. Your solution works great. There's just one disadvantage: The size of the resulting setup executable increased considerable (I used UPX for compression and tried different options).

Regarding the required manifest support for Windows 8 I disagree. The PCA is involved if the manifest doesn't contain the supportedOS key for Windows 8. And in that case there are a lot of situations that cause the PCA to show an error dialog or just to change the behavior of your app (see http://msdn.microsoft.com/library/hh...(v=vs.85).aspx). E.g., if the PCA detects that your setup checks the OS versions, shows a message box and aborts it informs the user that a problem occurred because Microsoft has the opinion a program should never abort because of the OS version. I could reproduce such a behavior. But in the monitored case the message box and the termination had nothing to do with the OS check performed before. Fortunately I could see that the PCA is involved. But in many cases the PCA changes the app behavior silently.
So I think it is a good idea to upgrade the manifest.