InstallShield 2010/InstallShield 2010 SP1/InstallShield 2010 Expansion Pack Release Notes
SummaryThis article lists features, enhancements, and changes that were made in InstallShield 2010. It also describes the changes that are available in InstallShield 2010 Service Pack 1 for InstallShield 2010. In addition, it describes the changes that are available in InstallShield 2010 Expansion Pack for Visual Studio 2010.
SymptomsThis article lists features, enhancements, and changes that were made in InstallShield 2010. It also describes the changes that are available in InstallShield 2010 Service Pack 1 for InstallShield 2010. In addition, it describes the changes that are available in InstallShield 2010 Expansion Pack for Visual Studio 2010.
To obtain Service Pack 1, see Related KB Articles section for article Q206429 Service Pack 1 for InstallShield 2010.
To obtain the Expansion Pack for Visual Studio 2010, see Related KB Articles section for article Q209084 InstallShield 2010 Expansion Pack for Visual Studio 2010.
Note: If you have not purchased a license for InstallShield, you can install it and use it for a limited number of days without activating it. When you use InstallShield before activating it, it operates in evaluation mode, and some of its functionality is not available. For details, see Related KB Articles section for article Q200900 Functionality Notes for the Evaluation Version of InstallShield. Note that when you activate InstallShield, the evaluation limitations are removed.
InstallShield is recognized as the industry standard in installation authoring. Successful software publishers around the world rely on InstallShield for authoring powerful and flexible Windows Installer and InstallScript installations.
InstallShield 2010 offers many new features and enhancements that help you use the latest technologies and save time on everyday tasks. InstallShield now supports Windows 7, Windows Server 2008 R2, Windows Installer 5, and SQL Server 2008 SP1. Many of the views in InstallShield contain new toolbars and dynamic search capabilities that make it easier to find information, modify project settings, and customize grids. A new String Editor view enables you to view and edit all localizable run-time strings in one centralized place. The new Text File Changes view lets you quickly configure search-and-replace behavior for content in text files on target systems. The redesigned Internet Information Services view now lets you create IIS Web applications and virtual directories separately. Plus, you can now add InstallShield prerequisites?which were previously supported only in Basic MSI and InstallScript MSI projects?to InstallScript projects.
New in InstallShield 2010 Expansion Pack for Visual Studio 2010 (May 5, 2010)
InstallShield includes four new .NET-related InstallShield prerequisites that you can add to Basic MSI, InstallScript, and InstallScript MSI projects:
- Microsoft .NET Framework 4.0 Full
- Microsoft .NET Framework 4.0 Full (Web Download)
- Microsoft .NET Framework 4.0 Client
- Microsoft .NET Framework 4.0 Client (Web Download)
- The Full prerequisites install the .NET Framework runtime and associated files that are required to run and develop applications that target the .NET Framework 4.
- The Client prerequisites install the .NET Framework runtime and associated files that are required to run most client applications.
- The two Web download prerequisites require an Internet connection. These prerequisites download the required redistributable files if appropriate. The other two prerequisites are stand-alone installations that do not require an Internet connection.
- Windows Installer 3.1 (x86)
- Windows Imaging Component (x86)
- Windows Installer 3.1 for Windows Server 2003 SP1 (x86)
- Windows Imaging Component (x64)
- Windows Installer 3.1 for Windows Server 2003 SP1 (IA64)
- Windows Installer 3.1 for Windows Server 2003 SP1 (x64)
- Windows Installer 3.1 for Windows XP (x64)
- Windows Installer 3.1 (x86)
- Windows Imaging Component (x86)
- Windows Installer 3.1 for Windows Server 2003 SP1 (x86)
- Windows Imaging Component (x64)
- Windows Installer 3.1 for Windows Server 2003 SP1 (x64)
- Windows Installer 3.1 for Windows XP (x64)
InstallShield includes the following new InstallShield prerequisites that you can add to Basic MSI, InstallScript, and InstallScript MSI projects:
- Microsoft SQL CE 3.5 SP2
- Microsoft ReportViewer 2010
- Microsoft VSTO 2010 Runtime
- FSharp Redistributable Package 2.0
- Microsoft Office 2007 PIA (This prerequisite installs the Microsoft Office 2007 Primary Interop Assemblies. To use this prerequisite, download the PrimaryInteropAssembly.exe file from Microsoft?s Web site and run it to extract the o2007pia.msi file. Note that you may need to change the path of the o2007pia.msi installation in the .prq file, depending on where the .msi package is located on your system.)
InstallShield includes two new predefined system searches:
- Microsoft .NET Framework 4.0 Full package
- Microsoft .NET Framework 4.0 Client package
New in InstallShield 2010 SP1 (October 6, 2009)
InstallShield 2010 SP1 includes changes that offer support for the final released versions of Windows 7, Windows Server 2008 R2, and Windows Installer 5. It also includes additional changes.
Upgrade Note: If you want to open an InstallShield 2010 project in InstallShield 2010 SP1, you must allow InstallShield to upgrade your project to InstallShield 2010 SP1. InstallShield 2010 SP1 includes support for tables that were not available in InstallShield 2010 projects, and these tables need to be added during the upgrade. Note that it is not possible to open InstallShield 2010 SP1 projects in earlier versions of InstallShield (including InstallShield 2010 without SP1). Therefore, if multiple users need to open and modify your InstallShield projects, ensure that all of you apply the SP1 patch at the same time.
If you open an InstallShield 2010 project in InstallShield 2010 SP1, InstallShield 2010 SP1 displays a message box that asks you if you want to convert the project to the new version. If you reply that you do want to convert it, InstallShield creates a backup copy of the project before converting it.
Setup.exe Manifests Now Have Compatibility Section to Avoid Triggering Program Compatibility Assistant on Windows 7 and Windows Server 2008 R2 Systems
If you configure your InstallShield project to create a setup launcher for your installation, the manifest that InstallShield creates for the setup launcher now includes a compatibility section. Previously, without this compatibility section, a Program Compatibility Assistant (PCA) dialog box may have appeared at the end of an installation on Windows 7 and Windows Server 2008 R2 systems. The PCA dialog box indicated that the program might not have installed correctly. This dialog box was displayed if the installation did not create the application uninstallation key. This may happen if the end user cancels the installation or the installation fails to complete successfully.
Support for Creating App-V Package Upgrades and for Compressing App-V Packages
InstallShield now has support for creating App-V package upgrades. The Package Information page in the Microsoft App-V Assistant has a new Upgrade Settings link. Click this link to specify whether you want to create an upgrade. If you specify that you do want to create an upgrade, you can specify additional information about the upgrade, such as whether to append the version number to the App-V package file name. By default, App-V package upgrades are not created.
The Build Options page in the Microsoft App-V Assistant has a new setting that lets you specify whether you want to use compression for the data files in the App-V package. If you select Yes for this setting, InstallShield uses zlib compression for your App-V package.
The App-V upgrade and compression functionality is available in the following project types: Basic MSI and MSI Database.
The Microsoft App-V Assistant is available if you purchase InstallShield with the Virtualization Pack.
Windows Installer 5 Support for Configuring New Customization Options for Windows Services, Plus Other Service-Related Improvements
InstallShield now includes support for configuring extended customization options for Windows services. The customization options include a new delayed auto-start capability to help system startup performance, improved failure detection and recovery options to improve system reliability, and more. Windows Installer 5 supports these new options; earlier versions of Windows Installer ignore them.
To configure the new service-related settings, use the new Services node in the Advanced Settings area for a component in the Setup Design view (in installation projects) or the Components view. All of the services for a component are now grouped and listed by service name under the Services node. In addition, the previously available service-related settings are now consolidated in the same grid with the new settings. In earlier versions of InstallShield, these previously available service-related settings were split among separate subviews for the Install NT Services and Control NT Services nodes. The consolidated grid of settings makes it easier to create a component that installs, configures, starts, stops, or deletes a new or existing service during installation or uninstallation.
This functionality is available in the following project types: Basic MSI, InstallScript MSI, Merge Module, MSI Database, MSM Database, and Transform.
Validation for the Windows 7 Logo Program
InstallShield includes two new validation suites: InstallShield Validation Suite for Windows 7 and InstallShield Merge Module Validation Suite for Windows 7. These validation suites can help you verify that your Windows Installer?based installation or merge module meets the installation requirements of the Compatible with Windows 7 logo program. If you want to be able to use the Windows 7 logo artwork, your product's installation must meet the program's requirements.
If you want to configure InstallShield to perform validation with these validation suites each time that a release is successfully built: On the Tools menu, click Options. On the Validation tab, select the appropriate check boxes.
If you want to perform validation separately from the build process: On the Build menu, point to Validation, and then click the appropriate new suite.
Windows Installer 5 Support for Setting Windows Shell Properties for a Shortcut
The Shortcuts view in InstallShield now lets you specify one or more shortcut properties that need to be set by the Windows Shell at run time. For example, if you do not want the Start menu entry for one of your shortcuts to be highlighted as newly installed after end users install your product, you can set a property for that shortcut. You might want to use this property with shortcuts that are for tools and secondary products.
Windows Installer 5 includes support for setting Shell shortcut properties. Earlier versions of Windows Installer ignore those properties.
Ability to Specify a Custom .png Shortcut Icon for the Start Screen on Windows Mobile 6.5 Professional?Powered Devices
If you are creating a mobile device installation for Windows Mobile?powered devices and you plan to distribute your product through Windows Marketplace for Mobile, you need to use a 90×90 pixel Start screen icon (.png file) for your product. Both the Windows Mobile Wizard and the Smart Device Setup Wizard in InstallShield enable you to select the .png file that you want to use. When the shortcut is installed and displayed on Windows Mobile 6.5 Professional?powered devices, the Windows Mobile Shell scales down the shortcut's icon as necessary, depending on the DPI of the device.
The Shortcut Properties dialog box has a new "Use a Start screen icon (.png)" check box. If you want to use a .png file, select this check box, and then click the browse button to specify the file. The Shortcut Properties dialog box opens when you are using the Windows Mobile Wizard or the Smart Device Setup Wizard and you and you add a new shortcut or change the properties of an existing shortcut on the Shortcuts panel.
This functionality is available in the following project types: Basic MSI, InstallScript MSI, and Smart Device.
Windows Installer 5 Support for the MsiPrint and MsiLaunchApp Control Events
When you are adding a control to a dialog in your project, you can select one of the new events that is now available for Windows Installer 5:
- MsiPrint?You can add this event to a push button control that is on a dialog that has a scrollable text control. When an end user clicks the push button control, the contents of the scrollable text control are printed.
- MsiLaunchApp?You can add this event to a check box control on a dialog, and select the file that you want to be launched in the event's Argument setting. The check box enables end users to choose whether to run the file at the end of the installation. This event is typically used with a check box control that is on the SetupCompleteSuccess dialog. The check box control should include a condition that prevents the control from being displayed during uninstallation.
Windows Installer 5 includes support for these control events. Earlier versions of Windows Installer ignore these events. Therefore, if your installation is run on a system that has Windows Installer 4.5 or earlier and you want to use one or both of these new events, add a condition to the dialog controls so that they are not displayed on systems that have Windows Installer 4.5 or earlier.
This functionality is available in Basic MSI projects.
Note that if you want to add the print or launch support to your project but your installation targets systems that have Windows Installer 4.5 or earlier, consider using the support that InstallShield provides. For information on adding the print support, see "Specifying Dialogs for Your Installation in the Project Assistant" in the InstallShield Help Library. For information on adding the print support, see "Adding a Print Button to a Dialog." The support that is available with InstallShield does not require Windows Installer 5.
Windows Installer 4.5 Prerequisites for Windows Vista Systems
The conditions in the following two InstallShield prerequisites are now configured correctly: Windows Installer 4.5 for Windows Vista (x86) and Windows Installer 4.5 for Windows Vista (x64). If one of these InstallShield prerequisites is installed on the target system during your installation, the installation no longer attempts to install it again.
Dependency Scanning and COM Extraction Now Exclude Protected Windows 7 Files and Registry Entries
The Filters.xml file that is installed with InstallShield has been updated with exclusions for files and registry keys that are protected by Windows Resource Protection (WRP) on Windows 7 systems. Therefore, if you extract COM data from COM servers, InstallShield does not extract any registry keys that are protected by WRP for Windows 7. In addition, if you run the dependency scanners in InstallShield, they do not list as dependencies any files that are protected by WRP for Windows 7.
IOA-000049763 (Merge Module)
The validation information for the Property table is now generated correctly in Merge Module projects that include no properties of their own. Previously in this scenario, the Value column was incorrectly marked as nullable.
If you password-protect your Setup.exe file through the Setup.exe tab in the Releases view and your installation includes feature prerequisites, the installation displays a password prompt only when the end user first launches Setup.exe. The installation no longer displays a prompt when the feature prerequisites are launched.
Message boxes that are launched by the InstallScript function SdShowMsg are now displayed in front of the installer window that launched SdShowMsg, but not in front of any subsequently launched windows that are opened by end users. Previously, SdShowMsg message boxes were displayed in front of all windows. This applies to InstallScript installations, InstallScript MSI installations, and Basic MSI installations that contain InstallScript custom actions and are run with a full user interface.
Note that if a function such as SdShowMsg, MessageBox, or AskYesNo is used in a custom action in a Basic MSI project and the installation is run with a limited user interface (that is, with a basic UI, a reduced UI, or no UI), the message box could be displayed behind any other open windows. This occurs because the parent window of the message box cannot be found, so the desktop is considered to be the parent window. Displaying any UI from any type of custom action that is sequenced in the Execute sequence is strongly discouraged; if this is avoided, the issue with SdShowMsg, MessageBox, and other functions displaying behind other windows does not occur.
If you are creating an operating system condition for an InstallShield prerequisite, you can now specify the number zero for the service pack maximum; this indicates that no service pack should be installed on the target system in order for the condition to evaluate as true. Previously if you entered the number zero, the installation behaved as though no service pack maximum was specified for the InstallShield prerequisite.
The Specify Output File Name panel in the Transform Wizard now lets you specify the location and name of the file by using the Browse button. Previously, if you used the Browse button to specify the location and name, a "file not found" error was displayed; to work around the issue, it was necessary to manually enter the location and name.
If you use a custom dialog skin in a project that contains setup prerequisites, the installation no longer displays a blank area on the setup prerequisite dialog at run time. Previously, the list of setup prerequisites disappeared from this dialog after end users selected a prerequisite in the list and then clicked the Install button.
IOA-000051224 (InstallScript, InstallScript MSI)
If the InstallScript functions PlaceBitmap and SetTitle are used to show a full-screen bitmap image and specify the text on the image, the specified title is now displayed correctly on the image. Previously, part of the title was cut off.
When InstallShield is determining the target folders that are represented by each directory in the .msi package during the App-V conversion process, it checks to see if the package contains set-a-property and set-a-directory custom actions that alter the directory target location. Now InstallShield has better handling for this scenario, enabling the conversion process to better resolve Windows Installer variables that are used by the custom action to set the directory target; this results in fewer -9137 conversion warnings. Previously, the conversion process failed to determine the correct directory target location when such a custom action used properties or references to other Windows Installer variables such as environment variables to specify the target.
IOA-000051784 (Basic MSI, InstallScript MSI)
When you have specified release flags and product configuration flags for a release that you are building in the Releases view, and the release includes an InstallShield prerequisite that also has a release flag that needs to be included in the release, the installation installs the prerequisite if appropriate. Previously, if no prerequisites were included without such flags, the installation ignored the prerequisite. In addition, if any feature prerequisites were included, the installation would relaunch itself after the end user clicked the Install button.
When creating a virtual package, InstallShield can now decompress certain .msi packages that could not previously be decompressed. Previously in certain cases, virtual conversion error -9006 occurred for these .msi packages.
If a file is selected on the Application to Run tab in the InstallShield Prerequisite Editor, that file is the one that is launched on the target system at run time when the installation runs that InstallShield prerequisite. Previously, if the InstallShield prerequisite also included a file that started with the same string of characters as the file that was selected to be run, the installation may have launched the wrong file.
IOC-000081558 (Basic MSI)
If you are using the Unicode setup launcher type and your project includes one or more Unicode-only languages (such as Hindi), the installation can now be run in those languages. Previously when end users launched the Setup.exe file, run-time error 1208 occurred; the error message stated that the code page for the specific language was not available on the target system.
If you use the App-V Application Launcher utility (AppVLauncher.exe) to launch an App-V application that does not contain any shortcuts, the App-V Application Launcher now displays a more informative message: "No application OSD files were found. Most App-V packages have OSD files which are entry points (similar to shortcuts) to launch applications." The previous message was, "There are no application OSD files."
IOC-000081717 (InstallScript, InstallScript MSI)
If you upgrade a project from InstallShield 2009 or earlier to InstallShield 2010 SP1, and the earlier project contained one or more dialogs that were edited on a machine that had a large or custom DPI setting selected, the dialogs are now imported into the project correctly. Previously, the dialogs were smaller than they should have been.
IOC-000081969 (Basic MSI, InstallScript MSI)
If a multilanguage installation is run on a 64-bit target system and the installation contains an InstallScript custom action that has Deferred Execution in System Context selected for its In-Script Execution setting, that custom action can now be executed successfully. In addition, Windows Installer no longer crashes in that scenario.
IOC-000082018 (Basic MSI, InstallScript, InstallScript MSI)
Some IIS settings that are configured in the Internet Information Services view and that were previously configured incorrectly at run time are now configured correctly at run time.
In addition, if your project includes an application pool that you configured through the Internet Information Services view, you select the SpecificUser option for the application pool's Identity setting, and you specify a password in the SpecificUser Password setting, the password is now set correctly at run time.
IOC-000082019 (Basic MSI, InstallScript MSI)
If a project that was created in an earlier version of InstallShield contains a Windows Mobile installation, and that project is upgraded to InstallShield 2010 SP1, the Windows Mobile application is now installed at run time. Previously at run time, the Application Manager (CeAppMgr.exe) was not launched, so the Windows Mobile application could not be installed.
IOC-000082066 (Basic MSI)
InstallShield now includes a new 64-bit EulaScrollWatcher.dll file that you can use in a custom action that will run on 64-bit target systems. This DLL enables you to require end users to scroll through the EULA in the LicenseAgreement dialog. Previously, the only EulaScrollWatcher.dll file that InstallShield included would fail on 64-bit systems.
For detailed instructions, see "Requiring End Users to Scroll Through the EULA in the LicenseAgreement Dialog" in the InstallShield Help Library.
When you build an App-V package, the Output window now displays a link to the build output folder for the virtual package.
The Package Information page of the Microsoft App-V Assistant now includes options for targeting Windows 7 and Windows Server 2008 R2.
IOC-000082427 (Basic MSI, InstallScript MSI)
Build error -1530 no longer occurs if you try to build a network image release that uses compression and automatic disk spanning, and if the release includes a large file for an InstallShield prerequisite whose location is Copy from Source Media.
The Microsoft App-V Assistant now lets you add shortcuts that point to files that are not in the App-V package.
The App-V Application Launcher utility (AppVLauncher.exe) now adds the App-V package to the client and uses the OVERRIDEURL option, which overrides the application source root (ASR) setting. As a result of adding the package instead of just individual OSD applications, the file extensions and shortcuts of the package are now published to the machine. Previously, the AppVLauncher.exe failed to successfully launch OSD files in an App-V client environment that had the ASR set.
When InstallShield is used within Visual Studio and a referenced project has a short name, InstallShield now resolves project output groups correctly, and build error -6221 no longer occurs.
In OSD files, paths for items such as shortcut parameters and environment variables now correctly refer to the root drive of the machine by using C:\ instead of %drive_c%\.
If you choose to include an installation package for the App-V package as part of the App-V package build output and you specify to have the application loaded from the shared location (thus, the .sft file is not included in the installation package), the installation package now determines whether the .sft file is in the same folder as the installation package. If the .sft file is in the same folder, the .sft file location is now passed to the App-V client when the application is loaded. If the .sft file is not in the same folder, the location that is specified in the manifest file and the OSD files is used. Previously, the location that was specified in the manifest file and the OSD files was used regardless of whether the .sft file was in the same folder.
IOC-000082597 (Basic MSI)
When Setup.exe launches a 64-bit .msi package, it now launches the 64-bit version of Windows Installer to work around a Windows Installer problem. As a result, a 64-bit minor upgrade (or a 64-bit installation run in maintenance mode) that updates files in System64folder no longer generates run-time error -2324.
IOC-000082647 (Basic MSI, InstallScript MSI, QuickPatch)
If you create an installation that uses the MsiServiceConfig, MsiServiceConfigFailureActions, or MsiLockPermissionsEx tables?which are new for Windows Installer 5?the patch cannot be marked as uninstallable. Thus, Val0015 now displays a warning if any of these tables are included in a release when upgrade and patch validation is performed.IOC-000082648 (Virtualization)
InstallShield includes a new machine-wide setting that lets you specify an existing writable location where all virtual packages should be built. You may want to use this global setting if you are converting .msi packages that are in a read-only location to virtual packages.
To configure the machine-wide setting, find the Settings.xml file that is installed with InstallShield. In that Settings.xml file, enter the path as the text content for the <GlobalBuildRedirectFolder> element, which is a child element of the <Virtualization> element.
The IIS scanner (IISscan.exe) now scans non-default Web sites and creates XML files that record the values of the settings that you can configure in the Internet Information Services view in InstallShield. Previously in this scenario, the IIS scanner displayed an error message that indicated that the Web site could not be found; in addition, the XML file was not generated.
IOC-000082757 (Basic MSI)
InstallShield no longer adds the SQLBrowse dialog to your project if you upgrade it from an earlier version of InstallShield to InstallShield 2010 SP1, and if the project does not contain a SQL connection that was configured in the SQL Scripts view.
InstallShield now creates the .osd, manifest, and .sprj files with UTF-8 encoding when building App-V packages; this matches the behavior of the Microsoft Application Virtualization Sequencer. Previously, InstallShield created these files with UTF-16 encoding, which seemed to lead to parser errors on some systems that had Cumulative Update 1 for Microsoft Application Virtualization 4.5.
New in InstallShield 2010 Original Release Version (June 18, 2009)
Note: Without SP1, InstallShield 2010 supports Microsoft Windows 7 Release Candidate English, Microsoft Windows Server 2008 R2 Release Candidate English, and the beta version of Windows Installer 5.
Features in InstallShield 2010 Original Release Version
Support for Creating Customized Virtual Applications
Now you can use InstallShield to create customized virtual applications in the Microsoft App-V format. Virtualization enables you to isolate an application in its own environment so that it does not conflict with existing applications or modify the underlying operating system.
Virtual applications run in virtual environments that keep the application layer and the operating system layer separate. Each application includes its own configuration information in its virtual environment. As a result, many applications can run side-by-side with other applications on the same computer without any conflicts.
To create a virtual application, use the new Microsoft App-V tab that is available in the following project types: Basic MSI and MSI Database.
The virtualization support is available if you purchase InstallShield with the Virtualization Pack.
InstallShield also includes InstallShield prerequisites for the Microsoft App-V 4.5 Desktop Client installation and the Microsoft Application Error Reporting installation. The Application Error Reporting prerequisite is a dependency of the App-V prerequisite. The redistributable files for these InstallShield prerequisites are not available for download from within InstallShield, since you must obtain them from Microsoft. Once you obtain them from Microsoft, place them in the location that is displayed when you are editing these prerequisites in the InstallShield Prerequisite Editor.
Ability to Target Windows 7 and Windows Server 2008 R2 Systems
InstallShield enables you to specify that your installation requires Windows 7 or Windows Server 2008 R2. It also lets you build feature and component conditions for these operating systems.
Windows 7 and Windows Server 2008 R2 Support for Displaying Installation Progress on the Taskbar
Installations that are run on Windows 7 and Windows Server 2008 R2 now show a progress bar on the Windows taskbar during file transfer. This applies to InstallScript and InstallScript MSI installations. In addition, it applies to Basic MSI installations that display billboards that were configured in the Billboards view. Note that a progress bar is not displayed on the taskbar on earlier versions of Windows. It is also not displayed during setup initialization or while InstallShield prerequisites are being installed.
Beta Windows Installer 5 Support for Per-User Installations
The General Information view has a new Show Per-User Option setting. This setting lets you specify whether you want the ReadyToInstall dialog?in certain scenarios?to include buttons that let end users indicate how they want to install the product: for the current user or for all users. The per-user button sets the new Windows Installer property MSIINSTALLPERUSER equal to 1 to indicate that the package should be installed for the current user. The MSIINSTALLPERUSER property is available with the beta of Windows Installer 5.
This feature is available in Basic MSI projects.
Beta Windows Installer 5 Support for Reducing the Time for Installing Large Packages
Use the new Fast Install setting in the General Information view to select one or more options that may help reduce the time that is required to install a large Windows Installer package. For example, you can specify that you do not want a system restore point to be saved for your installation. You can also specify that you want the installation to perform file costing, but not any other costing.
This setting configures the new Windows Installer property MSIFASTINSTALL, which can be set at the command line. Windows Installer 5 includes support for this property. Earlier versions of Windows Installer ignore it.
This setting is available in the following project types: Basic MSI, InstallScript MSI, MSI Database, and Transform.
Beta Support for Additional Windows Installer 5 Features
The Director Editor in InstallShield includes beta support for the new Windows Installer 5 tables (MsiLockPermissionEx, MsiServiceConfig, MsiServiceConfigFailureActions, and MsiShortcutProperty).
This feature is available in the following project types: Basic MSI and InstallScript MSI.
Ability to Detect the Presence of a Virtual Machine
InstallShield lets you determine whether an installation is running on any of the following types of virtual machines:
- Microsoft Hyper-V
- A VMware product such as VMware Player, VMware Workstation, or VMware Server
- Microsoft Virtual PC
Two new Windows Installer properties are available when you add an MSI DLL custom action to your project to detect virtual machines: IS_VM_DETECTED and IS_VM_TYPE. The custom action should be configured to call the ISDetectVM function in the SetAllUsers.dll file, which is installed with InstallShield.
In addition, the InstallScript language has been expanded to support the detection. The structure SYSINFO contains a new bIsVirtualMachine member, and a new VIRTUAL_MACHINE_TYPE constant is available for use with the InstallScript function GetSystemInfo.
This feature is available in the following project types: Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, and Merge Module.
For more information, see "Detecting Whether the Installation Is Being Run on a Virtual Machine" in the InstallShield Help Library.
Support for 64-Bit COM Extraction
InstallShield now supports 64-bit COM extraction. If you are using InstallShield on a 64-bit operating system, InstallShield can extract COM data from a 64-bit COM server. In order to install the data to the correct locations, the component must be marked as 64 bit.
InstallShield must be installed on a 64-bit operating system in order to perform 64-bit COM extraction.
This feature is available in the following project types: Basic MSI, InstallScript MSI, and Merge Module.
This feature resolves issue IOB-000005298.
New Support for Setting Permissions for Files, Folders, and Registry Keys
InstallShield offers two new ways to secure files, folders, and registry keys for end users who run your product in a locked-down environment:
- Custom InstallShield handling?In Windows Installer?based projects, you can choose to use custom support for setting permissions at run time. With this option, InstallShield stores permission information for your product in the custom ISLockPermissions table of the .msi database. InstallShield also adds custom actions to your project to set the permissions. This support is available in the following project types: Basic MSI, InstallScript MSI, Merge Module, MSI Database, MSM Database, and Transform.
- SetObjectPermissions, an InstallScript Function?You can use the new SetObjectPermissions function in InstallScript events and InstallScript custom actions to set permissions at run time. You can use this function in the following project types: InstallScript, Basic MSI, InstallScript MSI, and Merge Module.
With the custom InstallShield handling option, the file, folder, or registry key for which you are setting permissions must be installed as part of your installation. With the SetObjectPermissions function, the file, folder, or registry key can be installed as part of your installation, or it can be already present on the target system.
Previously, the only option that InstallShield offered for setting permissions was to use the traditional Windows Installer handling. With this option, the permission information is stored in the LockPermissions table of the .msi database. The new custom InstallShield handling option and the SetObjectPermissions function offer several advantages over the traditional Windows Installer handling:
- The custom option and the SetObjectPermissions function include support for many well-known security identifiers (SIDs) that are not supported by the traditional Windows Installer handling option.
- The custom option and the SetObjectPermissions function support the use of localized user names for the supported SIDs, unlike the traditional option. With the traditional option, if you try to use a localized name to set permissions on a non-English system, the installation may fail.
- The custom option and the SetObjectPermissions function let you specify that you want to deny a user or group from having the permissions that you are specifying. The traditional handling does not allow you to do this.
- The custom option and the SetObjectPermissions function let you add permissions to a file, folder, or registry key that already exists on the target system, without deleting any existing permissions for that object. With the traditional handling, the existing permissions are deleted.
- The custom option and the SetObjectPermissions function let you configure permissions for a folder (or a r