ISICE11

InstallShield 2015

Project: This information applies to the following project types:

Basic MSI
InstallScript MSI
Merge Module
MSI Database

Messages

Message 1 (Error)

Exe [1] in component [2] lacks a manifest.

[1] is the name of an executable file in your project that does not have a manifest, and [2] is the name of the component that contains the executable file.

Message 2 (Error)

Exe [1] in component [2] lacks a requestedExecutionLevel level setting in its manifest.

[1] is the name of an executable file in your project that has a manifest that was possibly created for Windows XP but that was not updated for Windows Vista and later. The manifest does not define the execution level for the executable file. [2] is the name of the component that contains the executable file.

Message 3 (Error)

Exe [1] in component [2] lacks a requestedExecutionLevel uiAccess setting in its manifest.

[1] is the name of an executable file in your project that has a manifest that was possibly created for Windows XP but that was not updated for Windows Vista and later. The manifest does not define the UI accessibility value for the executable file. [2] is the name of the component that contains the executable file.

Message 4 (Warning)

Exe [1] in component [2] is marked to require elevated privileges (highestAvailable) which requires a waiver from Microsoft.

[1] is the name of an executable file in your project that has a manifest that specifies that elevated privileges are required, and [2] is the name of the component that contains the executable file.

Message 5 (Warning)

Exe [1] in component [2] is marked to require elevated privileges (requireAdministrator) which requires a waiver from Microsoft.

[1] is the name of an executable file in your project that has a manifest that specifies that elevated privileges are required, and [2] is the name of the component that contains the executable file.

Message 6 (Warning)

Exe [1] in component [2] is marked to require uiAccess which requires a waiver from Microsoft.

[1] is the name of an executable file in your project that has a manifest that specifies that the executable file is allowed to bypass UI protection levels in order to use higher privileges to pass information to other windows on the desktop; that is, the value of uiAccess is set to true. [2] is the name of the component that contains the executable file.

Description

ISICE11 verifies that every .exe file in your installation has an embedded manifest that defines its execution level. The execution level is defined in the manifest as follows:

<requestedExecutionLevel

  level="asInvoker"

  uiAccess="false"/>

Other valid values for the level attribute are highestAvailable and requireAdministrator. Note that if you set the level value to highestAvailable or requireAdministrator, you must apply for a waiver from Microsoft to obtain Windows logo certification.

The uiAccess attribute indicates whether the executable file is allowed to bypass UI protection levels in order to use higher privileges for passing information to other windows on the desktop, such as on-screen keyboards. This attribute should be set to true only for UI accessibility applications. Note that if you set the UI accessibility value to true, you must apply for a waiver from Microsoft to obtain Windows logo certification.

Corrective Action

To resolve the validation errors (messages 1 through 3), replace the executable file in your installation with one that has an embedded manifest whose level and uiAccess values are set appropriately.

The validation warnings (messages 4 through 6) are displayed to inform you that if you want to have your product qualify for the Windows logo program but you keep the requestedExecutionLevel element as it is currently defined in the executable file’s manifest, you may need to obtain a waiver from Microsoft.

See Also