When UAC is enabled in Microsoft Vista*, custom actions that call WiseScripts are not executed
Steps to reproduce:
- Using WiseScript Package Editor, create a WiseScript .exe that displays a message.
- Using Windows Installer Editor, create a new .wsi.
- Add one file to the Files page.
- Go to MSI Script tab.
- In the User Interface Sequence, add a Run WiseScript from Installation action. Browse to the .exe created in step1.
- Run the .msi on a Windows Vista computer with UAC enabled.
The .msi runs, but the message in the WiseScript does not appear.
The Stub32.exe that is used to create the WiseScript .exe has two exported functions. These functions cause Windows Vista to display a prompt asking to trust the program. When the .exe is being called from a Windows Installer custom action, the prompt does not occur and the .exe does not execute.
This issue has been fixed for Wise Installation Studio\Express 7 SP1 and Wise Package Studio 7 SP3.
Workaround: Call the .msi from an .exe wrapper. This can be accomplished by performing the following:
- Go to Installation Expert > Build Options page.
- In the .EXE Options field select Single-File .EXE.
The .exe that is created will contain the .msi. When the end user executes the .exe, they will be prompted by UAC to trust the application. Once they select Allow to trust the program, the .msi will be extracted and executed. Since the user clicked Allow on the prompt when executing the .exe, the WiseScript .exe files inside the .msi will be allowed to run.
Wise Installation Studio 7.0
Wise Installation Express 7.0
Wise Package Studio 7.0