PDA

View Full Version : Application Manifest for VISTA



torrid
04-25-2007, 08:42 PM
From Help file under Vista best practices... it says:

"SetupBuilderŪ provides the capability to automatically embed an XML application manifest file within the resource section of a Portable Executable (PE) image. "

How do I do that? Where is it in SB6.5? I've looked in places I thought it would be and can't find it...

torrid
04-25-2007, 09:00 PM
OK that was dumb... found it under Vista Manifest search in help file... appears to be something we add to Script and not a setting somewhere...

Does it matter where in the script we call the embed manifest directive? I put it at the top for the moment. Does that just embed it into EXE on my local computer prior to creating installer and prior to code signing step?

linder
04-26-2007, 01:08 AM
You can call it wherever you want in your script. Just make sure it is before the file is compiled into the installation (means, before the specific "Install File" function).

I would suggest to leave the "Permanent" option unchecked.

Does this help?

Friedrich

torrid
04-26-2007, 03:27 PM
I did not understand the Permanent check option.
For all the avid readers that may later search and find this, can you explain that option a bit more? Even after reading help file it was slightly confusing. :cool:

torrid
04-26-2007, 03:30 PM
While I'm asking... if I have a file called Planner.exe and I have 4 installers all 4 loading the same Planner.exe into 4 separate packages... and all 4 have an embed Vista manifest script line in them.... Is SB6.5 smart enough to check the file first before adding the manifest? Or will it remove old manifest and re-add new one each time?

i.e. it won't add 4 different manifests will it, simply because that code gets called 4 times in 4 different installer files that act on same file?

I just want to make sure I'm not doing something I shouldn't be doing....:D

torrid
04-26-2007, 07:17 PM
I understand user control concepts for when my planner executable runs. But I'm unclear about the isntaller itself. Is the manifest for the installer EXE or for the Program EXE that runs after it has been installed?

I have read a bunch of MS articles on Vista and on other websites.

Do I just need to worry about the privs and registry etc for my app or also for the installer? Doesn't the installer have to have elevated admin privs to install into program files and registry under LOCAL MACHINE?

Or are we assuming on Vista, like on XP that the installer is installed with eleveated privs and my app just needs to be concerned with after installation.

linder
04-27-2007, 03:55 AM
If you mark the "permanent" option, the compiler will embed the Vista-aware manifest into your source executable (means, it makes permanent modifications to your original file). After script compilation, your executable still has this embedded manifest.

If the "Permanent" option is disabled (this is the default and recommended setting), the compiler embeds the Vista-aware manifest only into the file that goes into the installation. It will not touch your original source file!!!

Does this help?

Friedrich

linder
04-27-2007, 03:56 AM
Yes, if you are not using the "Permanent" option, the compiler is smart enough to handle this scenario ;)

Does this help?

Friedrich

linder
04-27-2007, 04:01 AM
SetupBuilder 6.5 can compile Vista-aware installations. Your installer should always request administrator execution level privileges (SetupBuilder 6.5 does this by default).

To make your own application Vista-aware, you have to embed a Vista manifest (SetupBuilder can do this for you). I would suggest to request asInvoker privileges. If your application itself has to write to protected areas, e.g. HKEY_LOCAL_MACHINE, c:\program files, etc. (not good, btw), then asInvoker is not enough.

Does this help?

Friedrich