PDA

View Full Version : Verify application’s installer contains an embedded manifest



elina zhu
07-24-2006, 02:05 AM
Hi,
the Windows Vista - Certified for Windows Program Test Cases 0.5.doc, test case 13 asks installer contains an embedded manifest,
STEPS:

1. Open Resource Hacker 3.41.
2. In Resource Hacker, browse application’s install executable.
a. Open the install executable.
b. In the tree menu on the left look for the 24 resource as this will be the resource for the executable’s embedded manifest execution level resource in Resource Hacker.
c. Expand tree until you get to the 1033 resource of the manifest.
d. Click on the resource (1033).
e. Embedded manifest execution level will have this format:
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>

I set the Required Execution Level in Release view as Administrator, then in Hacker, under 24, I cannot find 1033, but I find 0, and in 0 resource, I see what I want to see.

Does any one know how my installation pass this test case?

Stefan Krueger
07-25-2006, 11:01 AM
1033 is the language code for English-US. Filing the manifest under 0 probably means that it's valid for all languages (language neutral). So these instructions may simply not be language aware. I'd suggest you canontact Microsoft to make sure your setup will pass the test, and bring the documentation problem to thier attention.

elina zhu
07-25-2006, 09:20 PM
Hi Stefan Krüger, Thank you very much. I select English(United States) in Setup Languages page of Release Wizard, and in Components, each component's Languages property set as Language Independent, I think this is normal, but I dont know why I see 0 but not 1033. I will try with your suggestion. Thank you again.

darin_magoffin
10-26-2006, 11:25 AM
What version of InstallShield has the "Required Execution Level" in the Release view? I have 11.5 and have not been able to find that option in my release view.

MichaelU
10-27-2006, 10:08 AM
Required Execution Level is a newly supported option in InstallShield 12. In some rare cases you can modify the embedded manifest on setup.exe post-build without causing problems; otherwise you will have to modify it pre-build or upgrade to InstallShield 12 if you need this functionality.

Be aware that putting in a requiredExecutionLevel into a pre-12 setup.exe may work against you, as it may defeat Vista's attempts to detect and accomodate (our) code that was not written with Vista in mind. For this reason I would suggest the upgrade over editing the manifest.

AHawkins
12-13-2006, 09:11 AM
MichaelU said: "otherwise you will have to modify it pre-build "


Hopefully you can help to clarify this for me? At what stage would this modification take place, and what would you be modifying ? The setup.exe itself ?

Were you suggesting running Microsoft's MT.EXE tool to do this modification?

Many thanks ....

MichaelU
12-13-2006, 11:29 AM
In InstallShield 12, MSI installs, you can select the option in the release grid. If you need to tweak that, you can edit the <ISInstallDir>\support\setupexe.*.manifest file corresponding to the option you choose, but be aware that will affect all future builds of the same level.

In InstallShield 12, InstallScript installs, the stub setup.exe comes pre-manifested. You can use the resource editor of your choice (possibly MT, which I've never used) to edit this. Again, editing this will affect all future builds of InstallScript installers.

In InstallShield 11.5 and earlier, there is no requiredExecutionLevel entry in the manifests, and they are both part of the corresponding stub setup.exe files. Same rules apply.

In all cases, the final setup.exe should have a manifest in it, and you might be able to edit it in the built state. Or you might have problems in single exe compressed builds because of how we package the data. Test and see. This of course would require being applied after every time you rebuild. And above all, save backups of any files you modify any of the first three ways.