What’s New in InstallShield 12
InstallShield 2024
New Features
InstallShield includes the following new features.
Ability to Target Windows Vista Systems
InstallShield enables you to specify that your installation requires Windows Vista. It also lets you build Windows Vista–related conditions for features and components.
Validation for the Certified for Windows Vista Program
To provide the best possible installation experience for end users, ensure that your installation follows the best practices outlined in the Certified for Windows Vista program. InstallShield now includes a validation suite that helps you verify that your installation meets the installation requirements of the Certified for Windows Vista program for Basic MSI and InstallScript MSI projects. If you want to be able to use the Windows Vista Logo artwork, your application’s installation must meet the program’s requirements.
In addition, InstallShield now lets you customize the list of internal consistency evaluators (ICEs) that should be used for installation package validation and merge module validation. This is helpful if you do not want to pursue logo certification but you still want to ensure that your installation or merge module meets specific best practices that are verified during validation. To configure validation settings: on the Tools menu, click Options and select the Validation tab.
To learn more, see the following:
• | Specifying Whether Validation Should Be Performed at Build Time |
• | Specifying Which ICEs, ISICEs, ISVICEs and ISBPs Should Be Run During Validation |
• | ISICEs |
User Account Control Support
InstallShield includes support for the User Account Control functionality that Microsoft added for Windows Vista. Use the new Require Administrative Privileges setting in the General Information view to specify at a project-wide basis whether administrative privileges are required for an installation. Also, use the Required Execution Level setting in the Releases view to specify the minimum level required by your installation’s Setup.exe file for running the installation (the setup launcher, any setup prerequisites, and the .msi file) on Windows Vista platforms.
For details, see:
• | Entering Summary Information Stream Data |
• | Specifying the Required Execution Level for Your Setup Launcher on Windows Vista and Later Platforms |
Support for Minimizing Reboots Through the Restart Manager Infrastructure
Restarting the system after an installation is inconvenient for end users. One of the Certified for Windows Vista program requirements is that all installations must contain an option that enables end users to automatically close applications and attempt to restart them after the installation is complete.
To support this quality guideline, an MsiRMFilesInUse dialog is available in all Basic MSI projects. The installation displays this dialog if one or more files that needs to be updated are currently in use during the installation. To learn more, see Minimizing Reboots on Windows Vista and Later Systems.
Digital Signature Enhancements
If you specify digital signature information for your installation, InstallShield automatically adds the necessary information to the MsiDigitalCertificate and MsiPatchCertificate tables. The MsiPatchCertificate table contains the information that is needed to enable User Account Control (UAC) patching. This enables you to create patches that can be installed by non-administrators.
In addition, the Build Installation page in the Project Assistant now offers the ability to specify digital signature information for your installation.
For more information, see:
• | Preparing Installations for Non-Administrator Patches |
• | Digital Signing and Security |
Support for Documentation about Custom Action Behavior
The intended behavior of each custom action must be documented for the Certified for Windows Vista program. This is especially helpful if system administrators deploy your product to enterprise environments; they sometimes need to know what the custom actions do. InstallShield now has a new Help File Path setting in the Custom Actions view to help you meet this requirement. Use this setting to specify the path of a document that describes the behavior of a custom action that you create for your project. For details, see:
• | Documenting the Behavior of Custom Actions |
• | Guidelines for Creating Custom Actions that Meet Requirements of the Windows Logo Program |
This documentation now describes each of the built-in InstallShield custom actions that are added automatically to InstallShield projects to support different functionality. See InstallShield Custom Action Reference.
Setup Prerequisite Enhancements
Many enhancements have been made to the Setup Prerequisite Editor:
• | The user interface has been improved; it now has menus that list easy-to-access commands. |
• | The new Behavior tab lets you specify whether end users may skip the prerequisite installation. You can also specify how the prerequisite installation should proceed if it appears that the target machine does or does not need to be restarted. |
• | Now you can create prerequisite installation conditions for DWORD registry comparisons. You can also create conditions for 64-bit machines. |
For more details, see:
• | Behavior Tab |
• | Allowing End Users to Choose Whether to Install an InstallShield Prerequisite |
• | Planning for Issues that Could Occur with an InstallShield Prerequisite Installation |
• | Specifying the Behavior for an InstallShield Prerequisite that Requires a Restart |
Redistributing setup prerequisites is now more flexible than ever. You can specify different methods for supplying each individual setup prerequisite in your installation. This enables you to store some of the setup prerequisite files on the source media; compress some of the setup prerequisite files into Setup.exe, to be extracted at run time; and download some of the setup prerequisite files. In addition, you can now assign release flags to setup prerequisites. Then you can include and exclude any combinations of setup prerequisites when you build different releases.
To learn more, see:
• | Specifying a Run-Time Location for a Specific InstallShield Prerequisite |
• | Specifying the Run-Time Location for InstallShield Prerequisites at the Release Level |
• | Assigning Release Flags to InstallShield Prerequisites |
Windows Installer 4.0 Log File Support on a Project-Wide Basis
InstallShield provides support for the option to easily log installations run with Windows Installer 4.0 on a project-wide basis without having to use the command line or configure log parameters through the registry. To enable logging, specify Yes in the new Create MSI Logs setting in the General Information view. To override the default logging parameters, edit the MsiLogging property in the Property Manager view. If the installation is run on a target system that has Windows Installer 4.0, the installer creates a log file and populates the MsiLogFileLocation property with its path. In addition, a Show the Windows Installer log check box is added to the SetupCompleteSuccess, SetupCompleteError, and SetupInterrupted dialogs.
For more information, see Specifying Whether Windows Installer Installations Should Be Logged.
Registry Reflection Support for 64-Bit Systems
InstallShield includes support for the new Windows Installer 4.0 attribute called msidbComponentAttributesDisableRegistryReflection in the Component table. To easily configure this attribute, set the Disable Registry Reflection setting for a selected component in the Components view. Registry reflection keeps the 32-bit registry view and the 64-bit registry view in sync on a target machine. Only 64-bit systems with Windows Installer 4.0 support this setting. Other systems ignore it. For more specific information, see Enabling and Disabling Registry Reflection.
Multilingual User Interface (MUI) Support
If you are preparing an installation for a multilingual application and Windows Installer 4.0 will be running the installation, you can now use InstallShield to create shortcuts that include support for the Windows multilingual user interface (MUI). Four new settings are available in the Shortcuts view for a selected shortcut:
• | Display Resource DLL |
• | Display Resource ID |
• | Description Resource DLL |
• | Description Resource ID |
These new settings correspond with the four new columns in the Shortcut table for Windows Installer 4.0. To learn more, see Shortcuts View.
Additional InstallShield Collaboration Licenses for Premier Edition
InstallShield Premier Edition now includes a five-pack of licenses for InstallShield Collaboration for Visual Studio. You can use these licenses to install InstallShield Collaboration on development systems that do not have InstallShield but do have Visual Studio .NET 2002, Visual Studio .NET 2003, or Visual Studio 2005.
InstallScript Rearchitecture Enhancements for InstallScript MSI Projects and Basic MSI Projects with InstallScript Custom Actions
The InstallScript MSI architecture has had a number of issues with security (COM/DCOM) and other areas that can cause some installations to fail for various reasons. The architecture has been improved dramatically for InstallShield 12 to resolve these issues and to make InstallScript MSI a more reliable project type. The improvements also help increase the reliability of Basic MSI projects that include InstallScript custom actions.
To learn more, see the following:
• | Run-Time Behavior for Basic MSI Installations with InstallScript Custom Actions |
• | Run-Time Behavior for InstallScript MSI Installations |
• | Upgrading Projects from InstallShield 11.5 or Earlier |
DIFx 2.01 Support
InstallShield includes support for the latest version of Driver Install Frameworks for Applications (DIFx). This new version, which includes the latest binary files from Microsoft, is available for any Basic MSI, InstallScript, or InstallScript MSI projects that you create in InstallShield.
Enhancements for Setup.exe and Update.exe Command-Line Parameters
Some of the command-line parameters for Setup.exe and Update.exe were added or modified:
• | /Clone_wait (InstallScript only) |
• | /runfromtemp (Basic MSI, InstallScript, and InstallScript MSI) |
• | /v"ISSCRIPTCMDLINE=\"<Option1> <Option2>\"" (Basic MSI only) |
• | /hide_progress (Basic MSI, InstallScript, and InstallScript MSI projects) |
• | /hide_splash (InstallScript and InstallScript MSI projects) |
For more information, see Setup.exe and Update.exe Command-Line Parameters.
Registry and File Filtering Enhancements for COM Extraction and Dependency Scanners
To prevent InstallShield from extracting undesired COM data from a COM server, you can edit a new Filters.xml file that is installed with InstallShield. Editing this Filters.xml file enables you to customize the list of registry keys that will be excluded from COM extraction.
The Filters.xml file also now lists files that the Static, Dynamic, and Visual Basic dependency scanners will exclude or include. Previously, two different files—Userscan.ini and Iswiscan.ini—were used to list excluded and included files.
For more information, see:
• | Filtering Registry Changes for COM Extraction |
• | Filtering Files in Dependency Scanners |
Internet Explorer 7.0 Compatibility
Several areas of InstallShield have been revised so that it is now compatible with Internet Explorer 7.0. The Transform Wizard, Custom Action Wizard, the String Table Editor, the Distribute view, and the General Information view are all examples of areas that have been updated.
Enhanced Start Page
The list of recently opened projects that are displayed on the Start Page now includes a column that shows the project type. In addition, the maximum number of projects that are listed has been increased from four to eight.
InstallScript Enhancements and New Functionality
Several enhancements have been made to the InstallScript language. New and revised variables, functions, and constants are now available.
System Variable Changes and Text Substitution Additions
A system variable called DISK1SETUPEXENAME has been added.
Two system variables have new default values:
• | UNINST |
• | UNINSTALL_STRING |
Two new InstallScript text substitutions are available:
• | DISK1SETUPEXENAME |
• | SELECTED_LANGUAGE |
For more information, see System Variables.
Script Variable Additions
Two new script variables are available:
• | INSTALLSCRIPTMSI |
• | BASICMSI |
Function and Predefined Constant Changes
A new LANGUAGE_SUPPORTED predefined constant is available for use with the Is function. To learn more, see Is.
A new ISOSL_WINVISTA predefined constant is available for use with the FeatureFilterOS function and the SYSINFO structure variable. For more information, see FeatureFilterOS function and the SYSINFO.
The DoInstall function is now similar to the LaunchAppAndWait function. For more details, see DoInstall.
Upgrade Details
For InstallShield 12, a number of improvements were made to the InstallScript MSI architecture to resolve issues with security (COM/DCOM) and other areas that can cause some installations to fail for various reasons. The architecture was improved for InstallShield 12 to resolve these issues and to make InstallScript MSI a more reliable project type. The improvements also help increase the reliability of InstallScript projects, as well as Basic MSI projects that include InstallScript custom actions.
In addition, the merge module project type has been enhanced: it now has the same InstallScript view that is available in Basic MSI projects. This enhanced version of the merge module project type replaces the InstallScript MSI object project type, which is no longer available in InstallShield.
To learn more, see Upgrading Projects from InstallShield 11.5 or Earlier.