楷俴佽隴

# InstallShield 2008

## 2007-05-23

Introduction | Critical Information | New Features | Enhancements | Resolved Issues | System Requirements | Known Issues

### Introduction

InstallShield 2008 contains many new features and enhancements. Some of the highlights include:

- New end-user dialog themes for Basic MSI projects
- Ability to digitally sign any files—including your product's executable files—in your project at build time
- Support for using .pfx files for digital signatures
- InstallShield Best Practice Suite available in Premier Edition
- Faster Direct Editor and String Table editor
- Expanded operating system condition settings in the Setup Prerequisite Editor
- Usability enhancements for many views, including the Releases, Custom Actions, Sequences, Files and Folders, Registry, and Redistributables views
- Expanded automation interface
- Ability to test XML file changes without having to build and run the entire installation
- Namespace and encoding support for XML file changes
- Increased support for User Account Control (UAC) in InstallScript projects
- Ability to require end users to scroll through the EULA in the LicenseAgreement dialog

InstallShield 2008 also includes support for key technologies such as the following:

- IIS 7.0
- SSL 痐抎
- 64-bit versions of .NET Framework 2.0 or 3.0
- Windows Embedded CE 6.x
- DirectX 9.0c 勤砓
- Windows Server "Longhorn"

The quality of InstallShield has been improved for this release: more than 275 issues were resolved in InstallShield 2008.

For the latest information about InstallShield 2008, including updates to these release notes, see Knowledge Base article Q112996.

###### 階窒

### 痐抎陓洘

#### End of Support for Windows 9x, Windows NT 4, and Windows Me on Target Systems

InstallShield no longer supports the creation of installations for Windows 9x, Windows NT 4, and Windows Me systems. If end users have one of these operating systems on their computer and they try to run an installation that was built with InstallShield 2008, unexpected results may occur, unless the project includes launch conditions that prevent end users from running the installation on any of these legacy operating systems.

Although the legacy operating systems are no longer supported, you may have projects from earlier versions of InstallShield that target these operating systems. When you upgrade these projects to InstallShield 2008, InstallShield does not remove any references to any of the legacy operating systems. Therefore, an "Always show legacy platforms" check box has been added throughout the InstallShield interface wherever operating systems are listed. This check box determines whether the legacy operating systems are displayed in all of the operating system lists throughout InstallShield. If you select this check box, you can see whether the legacy operating systems are selected, and you can remove any references to the no-longer-supported platforms. Two examples of areas in InstallShield that have this check box are:

- The Installation Requirements page of the Project Assistant (Basic MSI and InstallScript MSI projects)
- The Platforms tab on the Project Settings dialog box (InstallScript projects)

For Basic MSI and InstallScript MSI projects, you may want to consider adding launch conditions that display a message if end users are running your installation on any of the legacy systems. For InstallScript projects, you may want to consider adding InstallScript code that uses the SYSINFO structure variable to check for these legacy systems, and then display a message if any of these legacy systems are present.

The "Always show legacy platforms" check box is an InstallShield interface–wide setting. If you select this check box from anywhere within any InstallShield project, InstallShield shows the legacy operating system check boxes throughout InstallShield for all projects that you open on your computer. Similarly, if you clear this check box, InstallShield hides the legacy operating system check boxes throughout InstallShield for all projects.

#### 馱最ヮ痄劑尨

For detailed information about possible migration issues that may occur when you migrate projects that were created with earlier versions of InstallShield to InstallShield 2008, see Knowledge Base article Q113162. The following sections provide an overview.

##### Migrating Projects Created in Earlier Versions of InstallShield

If you use InstallShield 2008 to open a project that was created with an earlier version, InstallShield 2008 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 with a file extension such as .765 before converting it. Delete the .765 part from the original project's file name if you want to reopen the project in the earlier version of InstallShield. Note that you cannot open InstallShield 2008 projects in earlier versions of InstallShield.

You can migrate projects that were created with the following versions of InstallShield to InstallShield 2008: InstallShield 12 and earlier, InstallShield DevStudio, InstallShield Professional 7 and earlier, and InstallShield Developer 8 and earlier. Note that projects that were created with InstallShield MultiPlatform or InstallShield Universal cannot be migrated to InstallShield 2008.

##### COM Extraction

When you use InstallShield to extract COM information from a COM server, InstallShield now puts the data in the Registry table, instead of in the TypeLib table. Microsoft strongly advises against using the TypeLib table, as described in the TypeLib Table topic on the MSDN Web site.

##### Unused Directories Automatically Removed from the .msi File at Build Time by Default

Note that if you upgrade a Basic MSI, InstallScript MSI, or Merge Module project that was created in InstallShield 12 or earlier to InstallShield 2008, the new Keep Unused Directories setting on the Build tab in the Releases view is set to No. Therefore, if a directory that is listed in the Directory column of the Directory table is not referenced in any known location in the .msi file, InstallShield removes it from the Directory table of the .msi file that it creates at build time. For Basic MSI and InstallScript MSI projects, this occurs after any merge modules are merged, but only directories that are present in the .msi file are removed; therefore, if a merge module contains new unused directories in its Directory table, the new unused directories are added to the installation.

##### New Default Value for the Cache Path Setting for a Release

The default value for the Cache Path setting for a compressed release in the Releases view is now set to [LocalAppDataFolder]Downloaded Installations. The previous default value was [WindowsFolder]Downloaded Installations, which may not be available to users on locked-down systems. If you migrate a project from InstallShield 12 or earlier to InstallShield 2008, the Cache Path setting is not automatically changed. Therefore, you may want to change that value. To modify the Cache Path setting, use the Local Machine panel in the Release Wizard.

##### Windows Server 2003 Conditions and 64-Bit Windows XP Conditions for Setup Prerequisites

The operating system version number is 5.2 for both Windows Server 2003 and 64-bit Windows XP. As a result, prerequisites that were created in InstallShield 12 and that required Windows Server 2003 could be installed on 64-bit Windows XP systems, and those that required Windows XP could not be installed on 64-bit Windows XP systems.

To resolve this issue, the Setup Prerequisite Editor in InstallShield 2008 has been enhanced to enable you to specify whether the target system is required to be a workstation, a server, or a domain controller.

To resolve this issue for an existing prerequisite that includes a Windows Server 2003 requirement or a 64-bit Windows XP requirement, open the prerequisite in the Setup Prerequisite Editor in InstallShield 2008. On the Conditions tab, select the condition that needs to be corrected and click Modify. In the "Select the operating system on which to run the setup requirement" box, select the appropriate operating system requirement. Doing this correctly sets the new Product (OS) Type setting to the appropriate workstation, server, or domain controller value.

##### InstallScript One-Click Install Installations

Setup.exe is no longer used as the setup player for InstallScript One-Click Install installations; Setup.ocx is now used instead. In order for a Setup.ocx file to be included in an installation, the new Generate One-Click Install setting in the Releases view must be set to Yes. If you upgrade an InstallScript project from InstallShield 12 or earlier to InstallShield 2008 and the Create Default Web Page setting in the Releases view is set to Yes, InstallShield sets the Generate One-Click Install setting to Yes automatically during the upgrade. However, if the Create Default Web Page setting is set to No and you intend to distribute the installation over the Internet, you must manually select Yes for the Generate One-Click Install setting after upgrading the project.

##### Automation Interface

If you use the automation interface with InstallShield or the Standalone Build, update your existing code to reflect the new ProgIDs: IswiAuto14.ISWiProject or SAAuto14.ISWiProject.

The Display Save Options dialog setting was removed from the Releases view. Therefore, the WebSaveOptionsDlg property, which corresponds with that setting, is no longer available for the ISWiRelease object of the automation interface.

##### Patch Creation for Basic MSI and InstallScript MSI Projects

InstallShield now uses version 3.1 of Patchwiz.dll to create patches.

##### FLEXnet Connect 6.1 Merge Module

The DWUSVERSION property, which is used in the FLEXnet Connect merge module for Basic MSI and InstallScript MSI projects, has been changed in the FLEXnet Connect 6.1 release. For full details, see Knowledge Base article Q113086.

#### Visual Studio Integration

Microsoft Visual Studio can be integrated with only one version of InstallShield Premier Edition or InstallShield Professional Edition at a time. The last version of InstallShield that is installed or repaired on a system is the one that is used for Visual Studio integration.

#### Update Service Renamed FLEXnet Connect

FLEXnet Connect is the new name for the Update Service. The name of the Update Service view has been changed to Update Notifications.

#### DemoShield Support

DemoShield is no longer being sold by Macrovision or any authorized resellers and distributors. In addition, it is no longer supported. Therefore, InstallShield no longer includes any DemoShield integration.

#### Changes for the Windows Vista Validation Suites

The validation suites that help you determine whether your installation meets installation requirements for the Windows Vista logo program have been renamed:

- The new name for the Windows Vista Quality Validation Suite (plus InstallShield ICEs) is Certified for Windows Vista Validation Suite (plus InstallShield ICEs).
- The new name for the Windows Vista Quality Merge Module Validation Suite (plus InstallShield ICEs) is Certified for Windows Vista Merge Module Validation Suite (plus InstallShield ICEs).

In addition, three of the InstallShield ICEs have been moved to the InstallShield Best Practice Suite:

- ISICE13 (which verifies that no .hlp files or WinHelp run-time files are included) is now ISBP17.
- ISICE14 (which verifies that no obsolete APIs are imported) is now ISBP18.
- ISICE15 (which verifies that no deprecated APIs are imported) is now ISBP19.

These validators were moved because they are not requirements for the Certified for Windows Vista program.

###### top

### New Features

##### New End-User Dialog Themes for Basic MSI Projects

Dialog themes are predefined sets of images that give your end-user dialogs a unified and distinctive look. With the click of a button, you can now select one of the available themes for your project, and InstallShield applies that theme to all of the interior and exterior dialogs, as well as the Setup.exe initialization dialog, in your project. You can easily preview each dialog from within the Dialogs view to see how it looks with the selected theme.

Some of the themes are available in both the Premier and Professional editions of InstallShield, and some are available in only the Premier edition.

##### Digital Signing Improvements

InstallShield now lets you digitally sign any files—including your product's executable files—in your installation at build time. In addition, you can now use a personal information exchange file (.pfx) for digital signatures. All of the following project types support this functionality: Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, and Web.

The new Signing tab in the Releases view is where you specify the digital signature information—including the digital signature files granted to you by a certification authority—that InstallShield should use to sign your files. The Signing tab is also where you specify which files in your installation should be digitally signed. You can also use the Release Wizard to specify all of the digital signature information.

If you specify a .pfx file for signing, InstallShield uses SignTool.exe to sign your files. If you specify an .spc file and a .pvk file, InstallShield uses Signcode.exe to sign your files. Using a .pfx file is often the preferred method, since it is more likely to work in many different environments (such as locked build machines). If you specify the digital signature password in InstallShield, you will never see a password prompt if you are using a .pfx file. However, if you are using .spc and .pvk files, a password prompt may be displayed.

Note that InstallShield does not support using .pfx files to sign media header files (.hdr files), which are used for the One-Click Install type of installation for InstallScript projects. For this type of installation, consider one of the following alternatives: (1) Use .spc and .pvk files instead of a .pfx file for your digital signature. (2) Build a compressed installation, which would enable you to sign with a .pfx file.

Previously, InstallShield included support for signing only the .msi, .hdr, and Setup.exe files. In addition, InstallShield allowed you to specify .spc and .pvk files for the digital signature, but not .pfx files.

This feature resolves issues IOB-000003166 and IOC-000057680.

##### InstallShield Best Practice Suite Available in Premier Edition

InstallShield includes a set of validators called the InstallShield Best Practice Suite. The InstallShield Best Practice (ISBP) validators in this suite alert you if your installation violates best-practice guidelines.

This feature is available for Basic MSI, InstallScript MSI, and MSI Database projects.

##### Support for Internet Information Services (IIS) 7.0 and SSL

InstallShield now includes support for IIS 7.

In addition, InstallShield lets you include an SSL certificate for a Web site in your installation. Including an SSL server certificate enables users to authenticate the Web server, check the validity of the Web content, and establish a secure connection.

This feature resolves issue IOC-000054593.

##### New Microsoft .NET Prerequisites Available

InstallShield now includes many new .NET-related setup prerequisites that you can add to Basic MSI and InstallScript MSI projects:

- .NET Framework 2.0 (x64)
- .NET Framework 2.0 (x64) Language Packs
- .NET Framework 2.0 (IA64)
- .NET Framework 2.0 (IA64) Language Packs
- .NET Framework 3.0 (x64)

##### Updated Microsoft .NET Object for InstallScript Projects

An updated Microsoft .NET object is available in InstallShield. This object includes support for versions 1.0 (SP3), 1.1 (SP1), 2.0, and 3.0 of the .NET Framework, including 32-bit, 64-bit x64, and 64-bit Itanium versions. The object also includes all supported language packs, and the latest service packs of 1.0 and 1.1.

In addition, the object launches and completes the .NET Framework installation as the feature containing the .NET object installs. This allows the .NET Framework to be available as early as possible, in case it is needed to install or configure files that are subsequently installed during the installation.

##### Support for the UAC Shield Icon on Dialog Buttons (Basic MSI Projects)

For any new Basic MSI projects that you create, the Install button on the ReadyToInstall dialog now has the User Account Control (UAC) shield icon when the installation is run on Windows Vista systems.

In addition, you can now add the shield icon to any button in a Basic MSI dialog through the Dialog Editor in the Dialogs view. If you are using InstallShield on a Windows Vista system, you can see the shield icon on a button in the Dialog Editor as it will be displayed at run time.

##### Ability to Require End Users to Scroll Through the EULA in the LicenseAgreement Dialog

InstallShield includes support for disabling the Next button on the LicenseAgreement dialog until the end user reaches the end of the End-User License Agreement (EULA) text in the scrollable EULA control through mouse or keyboard scrolling.

The end user must also select the "I accept the terms in the license agreement" option before the Next button is enabled; this behavior is the same as with earlier releases of InstallShield.

The scroll requirement is not available in the LicenseAgreement dialog by default. To use this functionality, you must add to your project the new Windows Installer DLL custom action called WatchScroll. This custom action calls the EulaScrollWatcher.dll file. In addition, you must modify the Next button's Control conditions and add an event to the Memo control. For detailed instructions, see the InstallShield Help Library.

This is available for Basic MSI projects.

##### Windows Embedded CE 6.x Support

InstallShield now enables you to specifically target installations for Windows Embedded CE 6.x. This applies to Basic MSI, InstallScript MSI, and Smart Device projects.

In addition, the Windows Mobile Wizard now enables you to specify configuration XML files for any Windows Mobile device installations. Previously, only Smartphone device installations could include configuration XML files.

##### Windows Mobile 5.0 for Smartphone Support

InstallShield now enables you to specifically target installations for Windows Mobile 5.0 for Smartphone devices. Previously, you had to select the Smartphone 2003 option if you wanted to include support for Windows Mobile 5.0 for Smartphone devices in your installation. This applies to Basic MSI, InstallScript MSI, and Smart Device projects.

##### Updated DirectX 9.0c Objects

Two DirectX 9.0c objects are available with InstallShield: a Windows Installer–based object that is available for Basic MSI and InstallScript MSI projects, and an InstallScript-based object that is available for InstallScript projects. Both of these objects install all of the latest DirectX 9.0c core and optional components, including 32-bit-specific and 64-bit-specific components.

In addition, some changes have been made to the DirectX 9 Object Wizard for Basic MSI and InstallScript MSI projects. The wizard now lets you specify whether the redistributable files should be included in the Disk1 folder or streamed into the .msi file. This change enables you to use the DirectX 9 object in compressed installations. Also, you can now use the DirectX 9 object in silent installations.

For Basic MSI and InstallScript MSI projects, the custom action that launches the DirectX installation is now sequenced in the Execute sequence and run in deferred system context so that it can be run with elevated privileges on Windows Vista systems.

This feature resolves issues 1-G1RJL, IOC-000052412, and IOC-000055104.

##### DIFx 2.1 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. This new version can be installed on Windows Vista systems. Earlier versions of InstallShield include an earlier version of DIFx that failed to install on Windows Vista in some cases.

This feature resolves issue IOC-000054803.

##### Support for 64-Bit Self-Registration of COM Servers (Basic MSI Projects)

InstallShield now includes support for 64-bit self-registration of COM servers in Basic MSI projects. If you mark a component as 64 bit and then add a file to that component, you can select the file's Self Register check box to enable 64-bit self-registration of that file during installation. In addition, InstallShield supports 64-bit self-registration of dynamically linked COM servers.

##### Expanded Operating System Condition Settings in the Setup Prerequisite Editor

The Setup Prerequisite Editor now enables you to specify more details about operating system requirements when you are creating conditions for a prerequisite. The Prerequisite Condition dialog box, which is displayed when you are adding or modifying a condition for a prerequisite through the Setup Prerequisite Editor, lets you select a predefined operating system or select the custom option. With the new custom option, you can configure settings for operating system requirements such as platform, major and minor versions, processor architecture (64-bit or 32-bit), and service pack. If a target system does not meet the operating system requirements, the prerequisite is not installed.

##### Ability to Target Windows Server "Longhorn" Systems

InstallShield enables you to specify that your installation requires Windows Server "Longhorn". It also lets you build Windows Server "Longhorn"每related conditions for features and components.

Note that Windows Vista and Windows Server "Longhorn" use the same major and minor version numbers. Therefore, if you want to use InstallScript to distinguish between Windows Server "Longhorn" and Windows Vista, check whether SYSINFO.nOSProductType = VER_NT_WORKSTATION; for Windows Vista, this is TRUE; for Windows Server "Longhorn", it is FALSE.

##### Updated Windows Installer Object for InstallScript Projects

The Windows Installer 3.x Engine object for InstallScript projects now supports 64-bit versions of Windows Installer 3.1. In addition, the object launches and completes the Windows Installer installation when the feature that contains the Windows Installer object is installed. This allows the Windows Installer engine to be available as early as possible, in case it is needed to install or configure files that are subsequently installed during the installation.

##### Support for .NET Compact Framework 2.0 SP1

InstallShield now adds to your project the .NET Compact Framework 2.0 SP1 if you select .NET Compact Framework 2.0 in the Windows Mobile Wizard, and if .NET Compact Framework 2.0 SP1 is available on your system. The .NET Compact Framework 2.0 SP1 must be installed, or it must be added to the Support folder in the InstallShield Program Files folder.

This applies to Basic MSI, InstallScript MSI, and Smart Device projects.

##### New MSXML 6 SP1 Setup Prerequisites Available

InstallShield now includes some new MSXML setup prerequisites that you can add to Basic MSI and InstallScript MSI projects:

- MSXML 6.0 SP1
- MSXML 6.0 SP1 (IA64)
- MSXML 6.0 SP1 (x64)

##### Updated MSDE 2000 SP4 Object for InstallScript Projects

The MSDE 2000 object for InstallScript projects now contains the MSDE 2000 SP4 files.

##### Ability to Suppress Build Warnings

InstallShield includes support for suppressing build warnings. You can suppress specific warnings for a specific project or for all projects whose releases are built on your machine. For instructions, see Knowledge Base article Q113176.

This enhancement resolves issues IOB-000003662 and IOC-000005557.

##### FLEXnet Connect Support

You can add a redistributable for FLEXnet Connect 6.1 or 5.x to Basic MSI and InstallScript MSI projects. In addition, you can add a redistributable for FLEXnet Connect 6.0 to InstallScript projects.

The Update Notifications view in Basic MSI and InstallScript MSI projects lets you select which version of FLEXnet Connect you want to include in your project. You can include version 6.1 or any legacy version that is installed in any of the locations that are specified in the Merge Module Location area on the Merge Module tab of the Options dialog box.

The Update Notifications view includes a new Vendor Database setting, which FLEXnet Connect 6.1 supports.

###### top

### Enhancements

##### Usability Enhancements for Releases

The release settings are now organized by category on several different tabs in the Releases view.

In addition, you can now select Compressed or Uncompressed for the Compression setting from within the Releases view. Previously, the only way to modify this setting was to use the Release Wizard. Note that if you want to specify a custom compression setting (one .cab file per feature or one .cab file per component), you must still use the Release Wizard. The Compression setting is available in Basic MSI, InstallScript MSI, Merge Module, and Web projects.

The settings in the Distribution view have been moved to the new Postbuild tab in the Releases view for Basic MSI, InstallScript MSI, Merge Module, and Web projects. The Postbuild tab lets you configure settings for distributing releases to a folder or FTP site automatically at build time.

A new Distribute command is available when you right-click a release in the Releases view for Basic MSI, InstallScript MSI, Merge Module, and Web projects. When you select this command, InstallShield copies all of the relevant files for your release to the locations that are specified on the Postbuild tab. Note that for InstallScript and InstallScript Object projects, InstallShield automatically copies the release to the locations that you specify on the Postbuild tab every time that you build the release.

This enhancement resolves issue IOC-000054427.

##### Usability Enhancements for Custom Actions and Sequences

The Custom Actions view and the Sequences view have been combined into a more robust view called the Custom Actions and Sequences view. The combined view supports drag-and-drop editing and copying:

- To sequence a new custom action, drag it from the Custom Actions explorer to the appropriate location in a sequence under the Sequences explorer.
- To move a dialog, standard action, or custom action to a different point in a sequence (or from one sequence to another), drag it from the old location to the new location.
- To copy a custom action from one sequence to another, press and hold CTRL while dragging the custom action from one sequence to another sequence.

In addition, the Conditions setting for a selected custom action that is scheduled in a sequence now has an ellipsis button (...) that you can click to launch the Condition Builder.

The Custom Actions and Sequences view is available in Basic MSI, InstallScript MSI, MSI Database, Transform, and Web projects.

##### Usability Enhancements for the Files and Folders view, the Registry View, and the Redistributables View

Several enhancements are available for the Files and Folders view:

- You can right-click a file in the Destination computer's files pane and then click the new Open Containing Folder command. Doing so opens a Windows Explorer window and displays the folder that contains the file that you right-clicked.
- A new Add command is available when you right-click the Destination computer's files pane. Use this command to display an Open dialog box that lets you browse to the file that you want to add to your project.
- The upper-right corner of this view has a new link (either Show Source Panes or Hide Source Panes). Use this new link to show or hide the two top panes〞the Source computer's folders pane and the Source computer's files pane〞in this view. You can hide the two panes, open a Windows Explorer window, and drag and drop files from the Windows Explorer window to the two remaining panes in InstallShield.

The Registry view also has a new link (either Show Source Panes or Hide Source Panes) in the upper-right corner. Use this new link to show or hide the two top panes〞the Source computer's folders pane and the Source computer's files pane〞in this view.

Two enhancements have also been made to the Redistributables view for Basic MSI and InstallScript MSI projects:

- The right pane in this view shows details about the merge module, object, or setup prerequisite that is selected in the upper-left pane. You can now hide or show the details pane by clicking the Show Details or Hide Details link in the upper-right corner of this view.
- The Details pane that is displayed for setup prerequisites now shows complete information about the selected setup prerequisite. This includes conditions, command-line parameters, and other information that is configured for the prerequisite.

##### Automation Interface Enhancements

Many enhancements have been made to the automation interface.

- PropertySchemaVersion Property Value for Saving the Current Project as an InstallShield 12 Project—You can now save an InstallShield 2008 project as an InstallShield 12 project (.ism) through the automation interface by using the new epv120 value for the PropertySchemaVersion property of the ISWiProject object.
- CreateProject Method Now Enables Creation of Merge Module Projects—The CreateProject method for the ISWiProject object now enables you to create merge module projects. Previously, this method supported only Basic MSI, InstallScript, InstallScript MSI, and InstallScript Object projects.
- Support for Configuring Dynamic File Links—The automation interface includes a new object and a new collection for dynamic file links. In addition, the ISWiComponent object includes two new methods and a property that let you add (AddDynamicFileLinking) and remove (RemoveDynamicFileLinking) a component's dynamic file link, as well as get the collection of dynamic file links (ISWiDynamicFileLinkings).
- Support for Configuring Path Variables—The automation interface includes a new object and a new collection for configuring path variables in a project. In addition, the ISWiProject object includes two new methods and a property that let you add (AddPathVariable) and remove (DeletePathVariable) a path variable from a project, as well as get the collection of path variables (ISWiPathVariables).
- Support for Modifying String-Table Entries—The automation interface includes new objects and collections for configuring languages and string entries in a project. The ISWiLanguage object includes two methods and a property that let you add (AddStringEntry) and remove (DeleteStringEntry) a string entry from a project, as well as get the collection of string entries (ISWiStringEntries). In addition, the ISWiProject object includes a new property (ISWiLanguages) that gets the collection of languages included in the current project.
- Support for Configuring Environment Variables—The automation interface includes a new object and a new collection for environment variables. In addition, the ISWiComponent object includes two new methods and a property that let you add (AddEnvironmentVar) and remove (RemoveEnvironmentVar) a component's environment variables, as well as get the collection of environment variables (ISWiEnvironmentVars).
- ISWiProject Object Properties for Setting the Company Name, Company URL, and Company Phone Number—The ISWiProject object includes several new properties that let you specify values for General Information view settings: CompanyName, CompanyURL, and CompanyPhone.
- ISWiRelease Object Properties for Digitally Signing Files—The ISWiRelease object includes several new properties that enable you to configure settings for digitally signing files for releases at build time: CertificatePassword, SignFiles, SignFilesExclude, SignFilesInclude, and SignSignedFiles.
- ISWiRelease Object Properties for Specifying Whether to Keep Unused Directories in the Directory Table—The ISWiRelease object includes a new KeepUnusedDirectories property that lets you specify whether you want to want InstallShield to remove unused directories from the Directory table of the .msi file when you build this release.
- ISWiRelease Object Property for Configuring Whether to Postpone Any Reboot for Installing or Updating the .NET Framework—The ISWiRelease object includes a new DotNetDelayReboot property that lets you specify whether you want to postpone any reboot associated with installing or updating the .NET Framework on the target system until after your installation has completed.
- ISWiRelease Object Property for Specifying Whether to Display a Message Box Asking the End User if They Want to Install the .NET Framework—The ISWiRelease object includes a new DisplayDotNetOptionDialog property. Use this property to specify if a message box should be displayed at run time to let end users indicate whether the .NET Framework should be installed.
- ISWiRelease Object Properties for Configuring Build-Time Distribution Options—The ISWiRelease object includes now includes several new properties that enable you to configure settings for distributing releases to a folder or FTP site automatically at build time. The new properties are DistributeToLoc, DistributeToURLLoc, DistributeToURLUserName, DistributeToURLPassword, and DistributeAfterBuild.
- New RemoveSequenceRecord Method for the ISWiSequence Collection—The ISWiSequence collection has a new RemoveSequenceRecord method that enables you to delete an item from a sequence.
- Basic MSI Projects Now Support Adding and Removing Support Files—The automation interface now includes support for the ISWiSetupFile and ISWiAdvancedFile objects in Basic MSI projects. These objects include methods (AddSetupFile, DeleteSetupFile, AddAdvancedFile, and DeleteAdvancedFile) that are now available in Basic MSI projects. Previously, these objects and methods were available in only InstallScript, InstallScript MSI, and InstallScript Object projects.

These enhancements resolve issues IOA-000027207, IOA-000027208, IOA-000027801, IOC-000041546, and IOC-000052798.

##### XML File Change Enhancements

Support for XML file changes has been expanded in InstallShield:

- Now you can test just the XML file changes that are configured for your project through the XML File Changes view without having to build and run your entire installation.
- The XML File Changes view now supports namespaces in XML files.
- InstallShield lets you specify the XML encoding of an XML file.

##### Faster Direct Editor and String Table Editor

Loading records in the Direct Editor and the String Table editor in InstallShield takes less time now.

This enhancement resolves issue IOA-000029812.

##### Enhanced User Account Control Support for InstallScript Projects

The Required Execution Level setting is now available on the Setup.exe tab in the Releases view for InstallScript projects. Use this setting to specify the minimum level required by your installation's Setup.exe file for running the installation (the setup launcher) on Windows Vista platforms. InstallShield adds a manifest that specifies the required level.

Previously, InstallShield always included a Highest Available manifest for InstallScript projects, and the Required Execution Level setting was available in only Basic MSI and InstallScript MSI projects.

This enhancement resolves issues IOA-000028399 and IOC-000052554.

##### Shortcuts View Enhancements

Some enhancements have been made to the Shortcuts view for Basic MSI, InstallScript MSI, and Merge Module projects.

- To change the icon that is used for a shortcut, you can right-click the shortcut and then click the new Change Shortcut icon command. InstallShield opens the Change Icon dialog box, which enables you to select the icon file and associated icon index that should be used when the shortcut is created on target systems at run time.
- Shortcuts that are listed in the Shortcuts explorer now show the icon image that will be used on the target system. Previously, the Shortcuts explorer used a different image for all types of shortcuts, even if an icon was specified for the shortcut.

##### Windows Vista and Internet Explorer 7 Support for One-Click Install Installations

One-Click Install installations in InstallScript projects can now be used on Windows Vista systems and with Internet Explorer 7. The One-Click Install setup player is now an external .ocx file, instead of being embedded in the Setup.exe file. The setup player downloads and then launches the Setup.exe file with the appropriate command line. This enables end users who are using Windows Vista with limited privileges to run the installation; if elevated privileges are required because of the required execution level specified in the installation＊s manifest, the appropriate User Account Control (UAC) prompt is displayed when the Setup.exe file is launched.

To support this new behavior, a new Generate One-Click Install setting is available on the Internet tab in the Releases view and on the Internet Options panel in the Release Wizard. If you select Yes for this setting, InstallShield includes an .ocx file for the installation.

This enhancement resolves issue IOC-000054462.

##### Enhanced Support for the SecureCustomProperties Property

If you set a public property in the user interface sequence of an installation that requests elevated privileges for the execute sequence, and you want to pass the property's value to the execute sequence, the property must be listed as a value for the SecureCustomProperties property, or it must be a restricted public property.

InstallShield now automatically adds to the SecureCustomProperties property properties that may need to be passed from the user interface sequence to the execute sequence.

This support applies to Basic MSI, InstallScript MSI, and Merge Module projects.

##### Automatic Downgrade Prevention Entries in Basic MSI and InstallScript MSI Projects

To prevent end users from being able to install the current version of your product over a future major version of the same product, the following conditions should be met: The Upgrades view should contain a major upgrade item, the major upgrade item should be properly configured to prevent the current version of your product from being installed over a future version, and your project should include a properly configured and scheduled type 19 custom action.

When you create a new Basic MSI or InstallScript MSI project, InstallShield automatically adds support for preventing the current installation from overwriting a future major version.

##### Changes for ALLUSERS and for the Customer Information Dialog

Beginning with InstallShield 2008, the ALLUSERS property is set to 1 by default in all new Basic MSI projects. This is the recommended implementation, since most installations must be run in a per-machine context with administrative privileges.

If you upgrade a project that was created with InstallShield 12 or earlier to InstallShield 2008, InstallShield does not automatically change the value of the ALLUSERS property or add this property if it was not defined in the earlier project.

Also new with InstallShield 2008, by default, the Customer Information dialog in all new Basic MSI projects does not display the radio button group that enables end users to specify whether they want to install the product for all users or for only the current user. This is the recommended implementation for this dialog.

If you upgrade a project that was created with InstallShield 12 or earlier to InstallShield 2008, InstallShield does not automatically change the Customer Information dialog.

##### Ability to Change the Product Version from the Command Line or Through an MSBuild Task Parameter

The -y command-line parameter is available for command-line builds with IsCmdBld.exe and IsSaBld.exe. Use this parameter to specify a product version for command-line builds.

In addition, the InstallShield task for MSBuild now includes a ProductVersion parameter, which you can use to specify the product version through MSBuild. This parameter is exposed as the property InstallShieldProductVersion when the default targets file is used.

Using the -y command-line parameter or the InstallShield task ProductVersion parameter is especially helpful if you want to increment the build version (the third field) of the product version.

This enhancement resolves issues 1-4EMAC and IOC-000058042.

##### Ability to Override Windows Installer Property Values from the Command Line or Through an MSBuild Task Parameter

The -z command-line parameter is available for command-line builds with IsCmdBld.exe and IsSaBld.exe. Use this parameter to override the value of a Windows Installer property or create the property if it does not exist.

In addition, the InstallShield task for MSBuild now includes a PropertyOverrides parameter, which you can use to override the value of a Windows Installer property or create the property if it does not exist. This property is exposed as the InstallShieldPropertyOverrides ItemGroup passthrough to the PropertyOverrides property on the InstallShield task.

This enhancement resolves issues IOC-000058112 and IOC-000058510.

##### Windows Installer Properties Used for IIS Data Are Stored in the Registry by Default

Installations that install IIS Web sites and use Windows Installer properties to dynamically set IIS data at run time now write the property and its value to the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\InstallShield Uninstall Information\{ProductCode}

This change was made to make the value available during uninstallation and repair. Therefore, if your Web site is installed to an end user每specified site number, the Web site and its virtual directories can be successfully uninstalled from that site number. If you do not want the IIS data to be stored in the registry, set the IS_IIS_DO_NOT_USE_REG property in your project.

This change applies to Basic MSI and InstallScript MSI projects.

This enhancement resolves issue IOC-000054329.

##### New Setting for Specifying Whether an IIS Web Server Should Allow the CMD Command to Be Used for SSI #exec Directives

You can configure an IIS Web server to prevent the CMD command for the #exec directive from being used to execute shell commands, or you can configure it to allow the CMD command to be used to execute this type of command. The SSIEnableCmdDirective registry value for the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters registry key is what determines whether the CMD command is permitted.

The Internet Information Services view in InstallShield includes a new SSIEnableCmdDirective registry value setting. This setting lets you specify how your installation should configure the SSIEnableCmdDirective registry value on target systems. This setting also lets you specify that the SSIEnableCmdDirective registry value should not be changed at installation run time; this is the default behavior.

This enhancement resolves issue IOC-000054813.

##### New Host Header Name Setting for IIS Web Sites

You can now use the new Host Header Name setting on the Web Site tab for a Web site in the Internet Information Services view to specify the host header name that identifies the IIS Web site that is installed during your installation. Previously, it was necessary to configure the ServerBindings property on the Advanced tab in this view in order to specify the host header name.

This enhancement resolves issue IOC-000050316.

##### Ability to Install an IIS Web Site and Its Virtual Directories to the Next Available New Site Number

InstallShield provides support for installing an IIS Web site and its virtual directories to the next available new site number. The implementation is slightly different, depending on which project type you are using.

For Basic MSI and InstallScript MSI projects, you can handle this through a Windows Installer property whose value is set to INSTALLSHIELD_IIS_NEXT_NEW_SITE_NUMBER. On the Web Site tab for a Web site in the Internet Information Services view, set the Site Number setting to a new property such as [MYPROPERTY]; the property must be in uppercase letters enclosed within brackets. Then in the Property Manager view, add that property, and set its value to INSTALLSHIELD_IIS_NEXT_NEW_SITE_NUMBER.

For InstallScript projects, you can use text substitution string variables to achieve the same result. On the Web Site tab for a Web site in the Internet Information Services view, set the Site Number setting to a new string variable such as MYPROPERTY. Then in the String Tables area in the General Information view, add the MYPROPERTY string, and set its value to INSTALLSHIELD_IIS_NEXT_NEW_SITE_NUMBER.

This enhancement resolves issue IOA-000032112.

##### Ability to Specify Whether New SQL Connections Should Share the Same Windows Installer Properties

A new SQL Scripts tab on the Options dialog box lets you specify how InstallShield should create new database connections by default—either by using the same Windows Installer properties that were used by default for the first connection in your project, or by using a unique set of new Windows Installer properties.

This applies to Basic MSI and InstallScript MSI projects.

This enhancement resolves issue IOC-000005956.

##### SQLLogin Dialog Enhancements

The SQLLogin dialog now includes a new control that enables end users to specify the name of the target database catalog. This dialog also has a Browse button next to the new control; the Browse button lets end users select from the list of database catalogs that are available on the target database server.

If you upgrade a Basic MSI project that includes SQL support from InstallShield 12 or earlier to InstallShield 2008, you need to manually import the SQLLogin.isd and SQLBrowse.isd dialogs into your project to use the new version of the SQLLogin dialog. The .isd files are installed in the following location by default: C:\Program Files\Macrovision\IS2008\Support. To use this updated SQLLogin dialog in InstallScript and InstallScript MSI projects, replace the SQLServerSelectLogin function call in your InstallScript code with a call to the new SQLServerSelectLogin2 function.

This enhancement resolves issue 1-18K8QS.

##### Database Import Wizard Enhancements

The Database Import Wizard has a new Advanced Scripting Options panel that lets you specify security script options such as script database, script database users and database roles, script SQL Server logins, and script object-level permissions.

This enhancement resolves issue IOC-000050433.

##### New Windows Installer Property for Specifying SQL Connections That Should Not Be Installed or Uninstalled

InstallShield includes support for a new Windows Installer property called IS_SQLSERVER_CXNS_ABSENT_FROM_INSTALL. Use this property to specify one or more SQL connections that should be skipped during installation or uninstallation. To specify more than one SQL connection, separate each with a semicolon (;). To skip all of the SQL connections, set the value of this property to ALL. Using this property is helpful if you cannot uninstall a product because of a SQL scripting error.

This enhancement resolves issue IOC-000044731.

##### Ability to Remove Unreferenced Directories from the .msi File

The Build tab in the Releases view includes a new Keep Unused Directories setting. Use this setting to specify whether you want InstallShield to remove unused directories from the Directory table of the .msi file when you build the selected release. The default value is No.

This setting is available for Basic MSI, InstallScript MSI, and Merge Module projects.

##### Ability to Add DIM References to Merge Module Projects

Merge Module projects now include the DIM References view, which was previously available in only Basic MSI projects. The DIM References view lets you add .dim files that were created with InstallShield Collaboration or InstallAnywhere Collaboration to your project.

InstallShield enables you to add a merge module that contains .dim files to any project type that supports merge modules—for example, Basic MSI, InstallScript, and Direct MSI projects. You can also add a merge module that contains .dim files to another merge module as a dependency.

##### Ability to Specify COM+ Component File Destinations from Within the Component Services View

The Component Services view has two new Destination fields on the Installation tab: one for a server type of installation, and one for a proxy type of installation. Use these fields to specify the target destination of the selected COM+ component files. Previously, the only way to specify the destination of the components associated with a COM+ application was in the Components view or the Setup Design view.

This enhancement resolves issue IOC-000038704.

##### New Windows Installer Property for Specifying COM+ Applications to Be Installed After the InstallFinalize Action

InstallShield includes support for a new Windows Installer property called IS_COMPLUS_INSTALL_AT_FINALIZE. Use this property to specify one or more COM+ applications that should be installed by the ISComponentServiceFinalize action, which is called after the InstallFinalize action. To specify more than one COM+ application, separate each with a semicolon (;). To specify that all COM+ applications should be installed by the ISComponentServiceFinalize action, set the value of this property to ALL.

Using this property is helpful if you want to install a COM+ application that contains .NET assemblies to be installed to the GAC because Windows Installer does not commit the changes made in the in-script session to the GAC until the InstallFinalize action.

This enhancement resolves issue IOC-000046987.

##### Additional Predefined System Searches for Basic MSI and InstallScript MSI Projects

InstallShield has several new predefined system searches:

- Adobe Reader 7
- Adobe Reader 6
- Internet Explorer 7.0

If your installation requires any of these products, you can use the System Search view or the Installation Requirements page in the Project Assistant to add these system searches to your project. When end users launch your installation, Windows Installer checks the target system to see if the requirements are met; if they are not met, the installation displays the error message that is defined for the system search.

##### New and Enhanced Setup.exe and Update.exe Command-Line Parameters (InstallScript Projects)

Two new command-line parameters are available for Setup.exe and Update.exe: /installfromweb and /media_path. In addition, the /L parameter now supports both hex and decimal language values.

##### Downloader Web Release Type Supports More Location Options for .cab Files

The Downloader type of Web release now lets you specify whether InstallShield should create external .cab files that are downloaded at installation time as needed. Previously, .cab files were always streamed into the .msi package for the Downloader Web release type.

The new external .cab file options are available on the Downloader Options panel of the Release Wizard. This panel is displayed in the Release Wizard if the media type is Web and the Web type is Downloader. The Downloader Options panel has a new Create external .cab files check box. If you clear this check box, the behavior is the same as it was previously: the .cab files are streamed into the .msi package. If you select this check box, you can specify how .cab files should be created: one .cab file per feature, one .cab file per component, or multiple .cab files based on a particular size that you specify.

##### Downloader and Install from the Web Types of Web Releases Embed All Transforms

The Downloader type of Web release and the Install from the Web type of Web release now always embed all .mst and .ini files in the Setup.exe file.

This enhancement resolves issues IOA-000029693, IOC-000052570, and IOC-000056206.

##### Enhancements for Patch Display Information

The Identification tab, which was previously called the Uninstall tab, is where you specify information that should be displayed for a patch in Add or Remove Programs on systems running Windows Installer 3.0 or later. This tab in the Patch Design view of Basic MSI and InstallScript MSI projects and in the General Information view in QuickPatch projects has settings for items such as the display name, the manufacturer name, and the support URL. Now every time that you change the latest setup for a patch configuration in the Patch Design view or in a QuickPatch project, InstallShield uses the Add or Remove Programs information from the latest setup as the values for the Identification tab settings. You can override the values on the Identification tab as needed. In addition, the Allow Patch to Be Uninstalled (Requires Windows Installer 3.0) check box is now available on the Common tab. This setting was previously available on the Uninstall tab.

##### Ability to Specify the Minimum Initialization Time

InstallShield includes a new Minimum Initialization Time setting on the Setup.exe tab for a release in the Releases view. Use this setting to specify the minimum number of seconds that the installation should display the initialization dialog when end users run this release. InstallShield uses the value that you specify for this setting as the value of the SplashTime keyname in the Setup.ini file.

This enhancement resolves issue IOC-000005571.

#### InstallScript Enhancements and New Functionality

Several enhancements have been made to the InstallScript language.

##### New LaunchApplication and WaitForApplication Functions to Supersede LaunchAppAndWait for Launching Applications with Elevated Privileges

The LaunchApplication function uses either the Windows API function CreateProcess or the Windows API function ShellExecuteEx to launch the specified application. After the application is launched, the installation can optionally call the new WaitForApplication function to wait for the application to terminate.

The WaitForApplication function waits for a running application, and optionally all child applications that are launched by the running application, to terminate before returning.

Note that calling LaunchAppAndWait now calls the following:

LaunchApplication( szProgram, szCmdLine, "", LAAW_STARTUPINFO.wShowWindow, LAAW_PARAMETERS.nTimeOut, nOptions | LAAW_OPTION_CHANGEDIRECTORY | LAAW_OPTION_FIXUP_PROGRAM );

The new LaunchApplicationInit function is available. This function, which was added to match the naming convention of the LaunchApplication function, has the same behavior as the LaunchAppAndWaitInitStartupInfo function.

Several new predefined constants are available:

- LAAW_OPTION_CHANGEDIRECTORY
- LAAW_OPTION_FIXUP_PROGRAM
- LAAW_OPTION_USE_SHELLEXECUTE
- LAAW_OPTION_WAIT_INCL_CHILD

In addition, the LAAW_OPTION_NO_CHANGEDIRECTORY is now obsolete. Passing this parameter has no effect.

The following script variables are also now available:

- LAAW_SHELLEXECUTEINFO
- LAAW_SHELLEXECUTEVERB

A new nWaitForInputIdleMax structure member is now available for LAAW_PARAMETERS. This member indicates the maximum amount of time (in milliseconds) to wait for the application to complete its initialization through the Windows API WaitForInputIdle.

##### New SdRMFilesInUse Dialog and OnRMFilesInUse Event Handler for Minimizing Reboots Through the Restart Manager Infrastructure in InstallScript MSI Projects

A new SdRMFilesInUse function is available. This function displays a dialog that includes a list box containing a list of the applications that are open and are locking files. The dialog also includes two radio buttons that allow end users to specify whether the installation should attempt to use the Restart Manager to shut down the applications that are locking files or overwrite the locked files (which most likely results in the need for a reboot to complete the installation).

For InstallScript MSI projects, the new OnRMFilesInUse event handler displays the new SdRMFilesInUse dialog. This event handler is called when the Restart Manager is enabled and Windows Installer 4.0 sends an INSTALLMESSAGE_RMFILESINUSE message to the installation.

##### Ability to Specify Additional Compiler Include Paths on a Per-Project Basis

The Compile/Link tab on the Settings dialog box, which is available from the Build menu in InstallShield, now has an Include Paths box. Use this Include Paths box to specify which directories InstallShield should search for source files that have been included in the main installation's InstallScript code through #include statements. It corresponds with the -i option for Compile.exe, the command-line compiler.

This enhancement resolves issue 1-JEF4V.

##### Enhancements for .NET Framework 3.0 Support

A new FOLDER_DOTNET_30 InstallScript variable is available. This variable stores the path of the .NET Framework 3.0. The corresponding text substitution for this variable is <FOLDER_DOTNET_30>.

The .NET Framework 3.0 writes the value InstallSuccess with value data of 1 to the registry to indicate that it is installed. To support this new possible registry value, the Is( DOTNETFRAMEWORKINSTALLED ) function has been enhanced to also check for the new value InstallSuccess. The Is( DOTNETFRAMEWORKINSTALLED ) function also still checks for the value of Install, which is used by earlier versions of the .NET Framework.

Two new constants are available for use with the Is function:

- REGDB_KEYPATH_DOTNET_30
- REGDB_VALUENAME_INSTALLSUCCESS

##### New Is Constant for Checking for the Presence of a Minimum Service Pack Number of the .NET Framework

Use the new DOTNETSERVICEPACKINSTALLED constant with the Is function to determine whether a particular service pack〞or a later version of the service pack〞of the .NET Framework is installed.

##### New and Updated Functions for SQL Support

Several InstallScript functions for SQL support have been added or updated.

The following InstallScript functions are now available for InstallScript and InstallScript MSI projects:

- SQLRTInitialize2—Loads the SQLRT.dll file for InstallScript projects and the ISSQLSRV.dll file for InstallScript MSI projects, and it uses the settings file to initialize the .dll file. This function supersedes the SQLRTInitialize function.
- SQLServerSelectLogin2—Creates a login dialog that lets the targeted end user specify which SQL Server should be used for the current connection, as well as which login credential should be used. This dialog also optionally shows the connection name that is associated with the connection information. In addition, it optionally allows the end user to specify which database catalog should be used for the current connection. This function supersedes the SQLServerSelectLogin function.
- SQLDatabaseBrowse—Creates a dialog that lets the end user display a list of all database catalogs available on the specified database server.
- SQLBrowse2—Creates a dialog that lets an end user display a list of all database servers that are available on the network for the database technologies specified for a connection. This function supersedes the SQLBrowse function.
- SQLRTPutConnectionInfo2—Sets the connection information (the default server, default database catalog, default user name, and default password). This function supersedes the SQLRTPutConnectionInfo function.

The following InstallScript functions are now available for InstallScript projects:

- SQLRTGetLastError2—Returns detailed information about the last error encountered by the SQL run time and loads the proper SQL error message. This function supersedes the SQLRTGetLastError function.
- SQLRTGetErrorMessage—Returns the descriptive message of the last error encountered by the SQL run time when a connection is being opened.
- SQLRTGetScriptErrorMessage—Returns the descriptive message of the last error encountered by the SQL run time when a SQL script is executing.

The following InstallScript function is now available for InstallScript MSI projects:

- SQLRTTestConnection2—Establishes a connection. This function supersedes the SQLRTTestConnection function.

The following InstallScript functions, which were previously available only for InstallScript projects, are now also available for InstallScript MSI projects:

- SQLRTGetConnections
- SQLRTGetConnectionInfo
- SQLRTPutConnectionInfo
- SQLRTGetConnectionAuthentication
- SQLRTPutConnectionAuthentication

InstallShield still supports the functions that are superseded by new versions of the functions. However, if you upgrade a project that was created in InstallShield 12 or earlier to InstallShield 2008, InstallShield does not automatically update the existing InstallScript code to use the new functions.

All of the aforementioned functions, including other previously undocumented SQL-related functions, now are documented in the InstallShield Help Library.

This enhancement resolves the following issues: IOC-000006014, IOC-000055568, IOC-000036719, and IOC-000038734.

##### New Is Constant for Checking If a User Is in the Administrators Group

Use the new USER_INADMINGROUP constant with the Is function to determine whether a user is in the Administrators group, regardless of whether that user is running the installation with a standard access token.

Note that Is( USER_ADMINISTRATOR ) now returns FALSE if the user is in the Administrators group but the group has the SE_GROUP_USE_FOR_DENY_ONLY security identifier (SID) attribute set (that is, the user is running with a standard access token).

This enhancement resolves issue IOC-000050260.

##### New Functions that Enable a .NET Library Loaded Through InstallScript to Be Unloaded Before the Installation Completes

Two new InstallScript functions are available: DotNetCoCreateObject and DotNetUnloadAppDomain.

- The DotNetCoCreateObject function calls functions in .NET assemblies without the assembly being registered for COM interoperability. This function lets you specify the .NET application domain in which the .NET assemblies should be loaded and run. The DotNetCoCreateObject function is similar to the CoCreateObjectDotNet function. The only difference is that with DotNetCoCreateObject, you can specify the .NET application domain that should be loaded; the assembly is then run in this domain. For CoCreateObjectDotNet, the .NET assembly is loaded into the default application domain after the installation completes; thus, the .NET assembly file is locked until the installation has finished.
- The DotNetUnloadAppDomain function unloads the specified .NET application domain and releases any assemblies that are currently loaded into the specified application domain.

##### Support for Enabling Update Notifications During an Upgrade When the Original Installation Did Not Include FLEXnet Connect

A new UpdateServiceOnEnabledStateChange function is available for InstallScript projects. This function lets you to enable the update notification support for an upgrade if your original base installation did not include the FLEXnet Connect files.

A call to UpdateServiceOnEnabledStateChange was added to the OnUpdateUIBefore event handler; therefore, if you previously customized this event in InstallShield 12 or earlier and then migrate your project to InstallShield 2008, you must add the new code to your custom override of the event. It is not added automatically.

This enhancement resolves issue IOC-000044350.

##### New RegDBDeleteItem Function

A new InstallScript function called RegDBDeleteItem is now available. The RegDBDeleteItem function deletes values under the per application paths key or the application uninstallation key, depending on the value of nItem.

##### New GetStatus Function for Objects

A new InstallScript function called GetStatus is now available for InstallScript Object projects. The GetStatus function retrieves the current status of the object; that is, the current value of Status.Number.

##### Changes to the ListWriteToFileEx Function and Related Constants

The LWTF_OPTION_APPEND_TO_FILE constant has been added to the InstallScript language. You can pass this constant as the nOptions parameter for the ListWriteToFileEx function to append a list to an existing file.

In addition, two existing nOptions constants have been renamed:

- LWFT_OPTION_WRITE_AS_ANSI is now LWTF_OPTION_WRITE_AS_ANSI.
- LWFT_OPTION_WRITE_AS_UNICODE is now LWTF_OPTION_WRITE_AS_UNICODE.

To maintain backwards compatibility, the aforementioned two LWFT_* constants are still available, and they are defined the same way as the corresponding new LWTF_* constants.

##### Expanded InstallScript Text Substitution Functionality

An InstallScript text-substitution association can now be embedded in another text-substitution association; for example, "<MYTEXTSUB1>" can be associated with "My Text Sub 1 Value" and "<MYTEXTSUB2>" with "Text Sub <MYTEXTSUB1> Embedded". Previously, if a local text-substitution association was embedded in a global text-substitution association, the local text substitution was not performed.

###### top

### Resolved Issues

##### 1-12344U (Basic MSI, InstallScript MSI)

If a SQL script in the installation is not run because its schema version number is lower than or equal to the version number on the target system, the Windows Installer verbose log now indicates this. Previously in this scenario, the verbose log did not indicate why the SQL script was not run.

##### 1-15ET25 (Basic MSI, InstallScript MSI)

Selecting and clearing the language check boxes for the Setup Languages setting in the General Information view no longer causes an unspecified error.

##### 1-15MOJP (Basic MSI, InstallScript MSI)

The DirectX 9 merge module can now be installed on Windows Server 2003 systems. Previously, installations that contained this merge module may have failed when they were run on this platform.

##### 1-16HBHJ (Smart Device)

In a Smart Device project, it is now possible to add multiple files whose combined file name length is greater than 250 characters. Previously, if you attempted to do this, the files were not added to the project.

##### 1-1ASUED, IOC-000051103 (Basic MSI)

Installations that include the .NET Framework no longer hang during setup initialization when they are run on a Tablet PC. In addition, installations that include the .NET Framework no longer display an error about a missing file when they are run on a Tablet PC.

##### 1-6LZ7L (Basic MSI)

The DS_SYSMODAL property of the Other Windows Styles panel in the Dialog Editor is now saved correctly.

##### 1-A7JBT (InstallScript)

Temporary files (.tmp) are now deleted when the installation is run from Add or Remove Programs.

##### 1-CW3Y5 (InstallScript)

Self-extracting .exe installations no longer fail to extract data#.cab files of secondary (child) installations included in the Disk1 folder of the self-extracting installation.

##### 1-DGF7L (InstallScript)

In an InstallScript project, when you select Local Assembly for a component's .NET Assembly property and Yes for the component's Self-Register property, the files in the component are now properly unregistered for .NET COM Interop during uninstallation. Previously, they were reregistered during uninstallation and then removed.

##### 1-DYE9O

Minor upgrade items that have been filtered by release flags no longer trigger upgrade validation errors.

##### 1-I3BDP

.NET COM Interop can properly extract information from locations referenced by relative paths in a path variable. Previously, a hard path from the build machine was incorrectly used.

##### 1-JE6NB

.NET DLLs that are installed to the GAC are no longer removed during major upgrades.

##### 1-K8DDN (InstallScript)

Setup.exe no longer generates errors when run from long paths.

##### 1-NTJDJ (Basic MSI, InstallScript MSI)

Adding a new virtual directory to a project no longer triggers an ICE32 validation error.

##### 1-T9G5H

When an InstallScript Object that uses a dialog skin is added to an InstallScript project that uses the same skin, all of the dialogs are displayed with the skin. Previously, one or more of the dialogs from the InstallScript Object was showing only part of the skin.

##### 1-W3XZ7

You can now configure multiple IIS host header names for a Web site by setting the value of the ServerBindings property on the Advanced tab for a Web site in the Internet Information Services view. Use semicolons (;) to separate each TCP port number and host header name pair. For example, to set the host header name for TCP port 84 and 85 to www.mycompany.com, you would set the value of the ServerBindings property to the following string, without the quotation marks: ":84:www.mycompany.com;:85:www.mycompany.com".

##### 1-X5409

Migrating a project from the Japanese version of InstallShield X or InstallShield Developer 8 no longer generates warning -6034.

##### IOA-000025542 (InstallScript)

When the small initialization dialog and the language dialog are used, the initialization dialog is now displayed in the language that is selected in the language dialog. Previously the initialization dialog was displayed in the default language.

##### IOA-000025930 (InstallScript)

Windows Installer value quotation is no longer used in InstallScript registry string values.

##### IOA-000025993

The Release Wizard includes the Setup Prerequisite panel if the release being built includes setup prerequisites. If the setup prerequisites are not to be included because a release flag is assigned to them and a different release flag is selected in the Filtering Settings panel, the setup prerequisites are not included in the release, and the Setup Prerequisites panel is not displayed in the Release Wizard. Previously, the Setup Prerequisites panel was displayed, even if the prerequisites were to be excluded based on the filtering selection on the Filtering Settings panel.

Note that if release flag is assigned to a setup prerequisite and no release flag is specified in the Filtering Settings panel of the Release Wizard, InstallShield includes the setup prerequisite in the release. To include only unflagged setup prerequisites, specify a flag that does not exist. This way, only unflagged setup prerequisites are built into the release.

##### IOA-000026112 (Basic MSI, InstallScript MSI)

If you have selected an InstallScript function for the Function Name setting of an InstallScript custom action in the Custom Actions and Sequences view, and then you rename the function in the InstallScript code, InstallShield now refreshes the name in the Function Name setting immediately.

##### IOA-000026128

Installations that are created with the evaluation version of InstallShield no longer generate a 4121 error when they install Windows Installer 3.1 and the .NET Framework 2.0.

##### IOA-000026463

InstallShield no longer crashes when you add a registry key string value that contains symbols.

##### IOA-000026480 (Standalone Build)

The Standalone Build no longer generates error -7132 when the -n option is used for building an InstallScript MSI project.

##### IOA-000026719, IOC-000051221, IOA-000028637 (Standalone Build)

If the Portuguese (Brazil) language is included in an InstallScript or InstallScript MSI project and the project is then built with the Standalone Build, build error -7132 no longer occurs. Previously, this error occurred because the Portuguese (Brazil) files were missing from the redist\0416 folder.

##### IOA-000026906 (QuickPatch)

Build errors -4344, -4346, and -4347 no longer occur for QuickPatch projects built from bases with missing COM-related tables.

##### IOA-000026945 (QuickPatch)

The Find String ID command on the Edit menu has been disabled for QuickPatch projects, since string IDs are not applicable to this project type.

##### IOA-000027144, IOC-000058252

When you publish InstallScript files (.rul) and InstallScript header files (.h) to a local repository, all of those files are now available for import into InstallShield projects. Previously, only one type of file—either .rul or .h—was available for import.

##### IOA-000027145 (Basic MSI, InstallScript MSI)

When you insert a custom action into a sequence between sequence numbers -4 and 4, InstallShield now reassigns sequence numbers as needed so that no actions have the same sequence number. Previously, InstallShield assigned duplicate sequence numbers.

##### IOA-000027149, IOC-000052139 (InstallScript MSI)

If billboards are included in an installation, the installation starts displaying the first one when the first file is about to be transferred to the target machine. Previously, the billboards were not displayed until the end of the file transfer.

##### IOA-000027194

InstallShield now extracts COM information from a specific DLL.

##### IOA-000027255

InstallShield no longer crashes when adding or clicking on a specific component. This previously occurred with a project that was migrated from an earlier version of InstallShield to a later version.

##### IOA-000027301

The run-time strings for the Windows Installer 2.0, 3.0, and 4.0 errors (strings from IDS_ERROR_1329 through IDS_ERROR_3002) have been translated into all supported run-time languages.

##### IOA-000027674

Running upgrade validation no longer causes an unhandled exception for Val0004 or Val0010.

##### IOA-000027887, IOC-000039595 (Basic MSI)

When a response transform is created, the ISSETUPFILESCOMPLETE property is no longer included in the resulting .mst file.

##### IOA-000027908

If you export a component that has XML file change data to another project, the exported component now contains all of the XML data. Previously, it was missing all of the XML data except for the XML file name.

##### IOA-000028046

You can now build and digitally sign a single .msi package through the Build Installation page of the Project Assistant. Previously, build error -1027 occurred under certain conditions.

##### IOA-000028121 (Setup Prerequisite Editor)

The Setup Prerequisite Editor no longer allows a blank dependency entry to be added to a prerequisite. Previously, this was allowed. If a prerequisite with a blank dependency entry was added to a project and the project was built, InstallShield displayed an error stating that the prerequisite dependency could not be found.

##### IOA-000028242

InstallShield no longer crashes if you include two dynamic file links in the same component, and each has a file with the same name.

##### IOA-000028287 (Setup Prerequisite Editor)

The Setup Prerequisite Editor no longer truncates the path or file name for the condition type called "A file does or does not exist."

##### IOA-000028560 (Basic MSI, InstallScript MSI)

If you create a major upgrade item in the Upgrades view and select the Any earlier version option, InstallShield now sets the Maximum Version field to ***ALL_VERSIONS***. Previously, InstallShield set the Maximum Version field to the current version number under certain conditions.

##### IOA-000028566 (InstallScript, InstallScript MSI)

You can now change the Text Style property of a dialog in the Dialogs view. Previously, InstallShield displayed a message box with the following text when you tried to change that property: "The Resource Identifier is reserved for an InstallShield predefined dialog."

##### IOA-000028705 (ClickOnce)

When a ClickOnce Deployment project contains a primary application assembly that has more than one period in its file name, InstallShield no longer generates build errors.

##### IOA-000028846

When you use keyboard shortcuts for moving a feature up or down, or to the right or left, in the Setup Design view or the Features view, the feature no longer loses focus. This enables you to use keyboard shortcuts again without having to re-select the feature with the mouse or through the TAB key. Previously, the feature lost focus.

##### IOA-000029531 (InstallScript)

Predefined InstallShield command-line parameters are no longer copied to CMDLINE. Previously, if some of the predefined parameters were added in Setup.ini or in the Release Wizard, they were copied to CMDLINE.

##### IOA-000029567

Windows Vista systems no longer display the program compatibility dialog during an installation that installs the .NET Framework.

##### IOA-000029633

Assemblies that are installed to Native Image Cache are no longer removed during repair or during upgrades.

##### IOA-000029766

Custom actions that have the hidden target option or are configured with one of the Terminal Server Aware in-script execution options no longer cause an ICE03 validation error.

##### IOA-000030113 (InstallScript MSI)

The setup launcher for a renamed InstallScript MSI installation is now properly cached for uninstallation.

##### IOA-000030242

If Simplified Chinese and Traditional Chinese are selected for the .NET language pack setting in the Releases view, the installation now installs the proper Chinese language pack if either one is on the target machine: either Simplified or Traditional. Previously, both language packs were installed.

##### IOA-000030461 (InstallScript, InstallScript MSI)

If you set the Sorted property for the ComboBox control on a dialog in the Dialogs view to True, the items are sorted alphabetically. If you set it to False, the items are not sorted. Previously, the reverse behavior occurred.

##### IOA-000030497, IOC-000055728 (Merge Module)

The Custom Action Wizard in a Merge Module project now lets users create InstallScript custom actions. Previously, the Action Type panel in the Custom Action Wizard was missing the Run InstallScript Code option in the Type drop-down list.

##### IOA-000030671 (InstallScript)

Adding and then removing a control on the Setup Initialization dialog in an InstallScript project no longer causes run-time error 2854.

##### IOA-000031101

If you select Yes for the Hide Add/Remove Programs setting in the Releases view for an InstallScript MSI release, the product is not listed in Add or Remove Programs. Previously, an entry for the product was displayed in Add or Remove Programs.

##### IOA-000031487

ISICE07 has been expanded. In addition to the items that it has previously verified, it now also verifies that components that are associated with multiple features do not contain references in any of the following tables: Class, Extension, MsiAssembly, PublishComponent, TypeLib. If a component does meet these criteria, ISICE07 displays an error.

##### IOB-000047970

Dependency scanning for .NET 2.0 assemblies now finds assemblies that are available only in the GAC.

##### IOB-000048151

Pressing F1 from within the InstallScript view in the Japanese version of InstallShield now displays the appropriate topic in the InstallShield Help Library.

##### IOB-000048283, IOC-000047823 (InstallScript)

Selecting the "Register new object" command for an object now correctly registers the object and sets the path in the registry to the object's script file. The "Register new object" command is available when you right-click an object in the Objects view, point to Advanced, and then click Register new object.

In addition, when a legacy InstallScript object is added to an InstallScript project, the Setup Design view and the Features view now display the proper information about the object. Previously, if you selected a legacy or custom object in either of these views, the view may have indicated that the object was missing, even though it was not.

##### IOB-000048498 (InstallScript)

Customization of the UNINSTALLKEY script variable now works properly in an InstallScript project. Previously, changing this would cause various problems. Both InstallScript and InstallScript MSI projects now handle this variable consistently.

##### IOB-000048552 (InstallScript)

When you set a hot key for a shortcut through the Shortcuts view of an InstallScript project, the shortcut's hot key is now configured properly on the target system. Previously, the hot key was set to the wrong key.

##### IOC-000005491 (Basic MSI)

The horizontal line next to the InstallShield branding on interior dialogs now extends all the way to the InstallShield branding. Previously, these dialogs contained a space between the branding and the horizontal line.

In addition, the InstallShield branding is now included in the dialog previews in the Dialogs view. Previously, the branding was not shown in the previews.

##### IOC-000005996 (InstallScript MSI)

InstallScript MSI patches now extract support files updated during a patch in the patch's Installation Execute sequence. Note that the base support files are available only during the UI sequence.

##### IOC-000006013 (InstallScript)

If SQLRT.dll cannot be loaded at run time, the InstallScript installation now displays a message that indicates the problem. The message indicates that an error loading SQLRT.dll occurred. This file needs to be loaded for InstallShield SQL support. Previously, the InstallScript run time displayed an "MDAC must be installed" error when SQLRT.dll could not be loaded.

##### IOC-000033724

Calling the Item property of the ISWiSQLConnections automation collection no longer causes an exception.

##### IOC-000034870

QuickPatch projects now show JScript custom actions in the Custom Action area of the General Information view.

##### IOC-000036786 (Basic MSI)

The SQLLogin and SQLBrowse dialogs are no longer automatically included in all new Basic MSI projects by default; this prevents an ICE17 validation warning.

Note that InstallShield adds these dialogs to Basic MSI projects if you add a SQL connection in the SQL Scripts view; this introduces the ICE17 validation warning, but it cannot be avoided. (You can add placeholder entries to the ListBox and ComboBox tables to resolve ICE17. However, even though the SQL run time programmatically deletes all of the existing entries from the list box and the combo box controls before adding the database server names queried from the network, the controls display the placeholder entries if no database servers are available.) Therefore, you should ignore the SQL dialog warnings for ICE17.

##### IOC-000038732

The Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) SP3a setup prerequisite now downloads the correct version of helper.exe. Previously, this prerequisite was downloading an earlier version that did not include the ability to start the MSDE service.

##### IOC-000040651 (InstallScript)

When you migrate an InstallScript project from an earlier version of InstallShield to InstallShield 2008, 64-bit directories are now available in the Destination setting for components. Previously, projects that were migrated for some versions of InstallShield did not list the 64-bit directories, and it was necessary to manually set the destinations through the Direct Editor.

##### IOC-000041258

Environment variables in setup prerequisite command lines are now resolved. They now generally match cmd.exe behavior.

##### IOC-000042357 (InstallScript MSI)

If an InstallScript MSI release spans multiple disks, InstallShield adds CloneSetupExe=Y to the Setup.ini file; at run time, a clone of the installation is placed in a temporary folder on the target system, and the installation runs from that location. Previously, the installation is launched from the removable media.

##### IOC-000042621 (InstallScript, InstallScript MSI)

The szTitle field in various InstallScript dialogs now displays titles that contain newline characters (\n) correctly. Previously, the text that was specified after the newline character was not included in the title.

##### IOC-000043287 (Basic MSI, InstallScript, InstallScript MSI)

End users no longer need to have IIS installed on their machines when they uninstall a product whose installation installed an IIS virtual directory that was configured through the Internet Information Services view. Previously, the uninstallation failed and displayed an error to inform end users that IIS was required in order to uninstall the product.

##### IOC-000045152 (Basic MSI, InstallScript MSI)

Installations that include SQL support now display a SQL connection error if end users leave the Server Name field blank on the SQLLogin dialog and then click the Next button.

##### IOC-000045403

MSBuild support can now resolve project output groups from projects that have dots in their names.

##### IOC-000046709

SYSINFO.WINNT.bWinXP now evaluates to TRUE as expected on Windows XP x64 systems. Previously, it evaluated to FALSE.

##### IOC-000046745 (Basic MSI)

The language selection dialog is no longer displayed during small updates or minor upgrades, since it is not possible to change the language during these types of upgrades. This is a Windows Installer limitation because new transforms (.mst files) are not allowed during maintenance.

##### IOC-000047019

Extracting COM data from a DLL now extracts the COM data to a relative path for the component's key file target location. Previously, a literal path to the installation source was used.

##### IOC-000047144 (InstallScript MSI)

InstallScript MSI installations now work properly when they are run as per-user installations: the uninstallation information is stored under HKEY_CURRENT_USER, and the cached Disk1 folder is installed in a per-user location instead of the PROGRAMFILES location. This enables end users to install per-user InstallScript MSI installations without administrator privileges.

Previously, for per-user installations, the uninstallation information was stored under HKEY_LOCAL_MACHINE instead of HKEY_CURRENT_USER if the user was an administrator. In addition, the cached Disk1 folder was installed to the PROGRAMFILES location if the user was an administrator.

##### IOC-000047213

The default value for the Cache Path setting for a compressed release in the Releases view is now set to [LocalAppDataFolder]Downloaded Installations. The previous default value was [WindowsFolder]Downloaded Installations, which may not be available to users on locked-down systems. If you migrate a project from InstallShield 12 or earlier to InstallShield 2008, the Cache Path setting is not automatically changed. Therefore, you may want to change that value. To modify the Cache Path setting, use the Local Machine panel in the Release Wizard.

If end users do not have access to the cache path, the installation fails.

##### IOC-000047728

When you use the View Filter in the Registry view to see registry data in more than one component (either one of the features or the All Application Data option), InstallShield now displays all of the applicable registry data. Previously, InstallShield displayed only one value if two different components contained the same registry key but with different values.

##### IOC-000050210 (Basic MSI, InstallScript MSI)

If you change the destination of components that are associated with a COM+ application and then refresh the COM+ attributes on the client machine at build time, InstallShield no longer sets the destination back to the original destination.

##### IOC-000050279 (Basic MSI)

Deleting or resizing the bitmap on the InstallWelcome dialog no longer causes the InstallShield branding to overlap the line on the dialog.

##### IOC-000050283 (InstallScript)

The copy and paste functionality now works correctly after the registry set is renamed in InstallScript projects.

##### IOC-000050312 (Basic MSI, InstallScript MSI)

The ISSetupFilesCleanup action is now inserted as the last action in the Installation Execute sequences even if custom actions are sequenced after InstallFinalize.

##### IOC-000050358

The Database Import Wizard can now import records from a table owned by a user who is not the default user associated with the login ID.

##### IOC-000050404 (InstallScript)

SQL scripts that are scheduled for rollback are now executed in InstallScript projects when one of scripts scheduled for installation or uninstallation fails.

##### IOC-000050415

InstallShield no longer exits without saving if you try to close a read-only project and save it with the original file name; InstallShield displays the Save As dialog box, enabling you to specify a different file name.

##### IOC-000050476

Installations created with InstallShield no longer display the NativeError code 5701 ("Changed database context to xxxxx") returned from Microsoft SQL Server, since this is an informational message—not an error—according to Microsoft.

##### IOC-000050515 (Basic MSI, InstallScript MSI)

The ResolveSource standard action has been added to the Installation Execute sequence for new Basic MSI and InstallScript MSI projects. It is scheduled after the CostInitialize action. It runs during first-time installations, but not during maintenance or patching. This action is also still available in the Installation UI sequence.

If you migrate a project from InstallShield 12 or earlier to InstallShield 2008 and you want the ResolveSource action to be run during the Installation Execute sequence, you must manually insert the action into that sequence.

##### IOC-000050518 (InstallScript MSI)

InstallScript MSI installations that require a reboot no longer fail to run after the reboot if the installation is being run by a user who is not an administrator.

##### IOC-000050548 (Basic MSI)

You can now edit the Value field for the Width property of a dialog control by clicking the Value field. Previously, it was necessary to click a different property first.

##### IOC-000050555 (Web)

Web projects now download .msi packages for setup prerequisites only once. Previously, the packages were downloaded twice under certain conditions.

##### IOC-000050713

The Files and Folders view now correctly displays folder names that contain square brackets. Previously, if you entered a square bracket as part of a folder name, InstallShield did not display the bracket or any of the characters that followed the bracket.

##### IOC-000050721 (InstallScript)

InstallScript installations now register the Update Manager file during installation of the FLEXnet Connect support files.

##### IOC-000050724

A message box is no longer displayed for each missing dependency while COM extraction is being performed at build time.

##### IOC-000050754

The ExportStrings method of the automation interface now creates both Unicode and ASCII format files. Previously, only ASCII files were created.

##### IOC-000050915

If you set the identity password for an application pool in the Internet Information Services view to a string that has the number 7 as the eighth character, the 7 is no longer truncated at run time.

##### IOC-000050712 (InstallScript, InstallScript MSI)

SYSINFO.nSystemLangID, SYSINFO.nUserLangID, and SYSINFO.nSystemDefaultUILangID are now set to the correct values on all systems. Previously, the LOWORD of the value was correct; however, the HIWORD of the value may have contained an inaccurate value. The same behavior occurs if GetUserDefaultLangID is called directly from InstallScript.

##### IOC-000050972 (InstallScript, InstallScript MSI)

Browsing for users in a large domain no longer crashes the installation.

##### IOC-000051113 (Basic MSI, InstallScript MSI)

When the .NET Scan at Build option is used for at least one component, a build error no longer occurs. Previously, a build error occurred in some cases, or InstallShield crashed. If the installation was being built from the Standalone Build or the command line, the build process ended suddenly in some cases.

##### IOC-000051200

Selecting the Extract COM Data for Key File option now populates the ProgIDs in COM Registration area of the component's advanced settings. Previously, the ProgID was not added from some files.

##### IOC-000051252 (InstallScript)

InstallScript installations now display the value of IFX_PRODUCT_DISPLAYNAME in the progress dialog when the -uninst parameter is specified. Previously, %P was displayed instead of the value of IFX_PRODUCT_DISPLAYNAME.

##### IOC-000051268 (Basic MSI)

The Choose Setup Language dialog no longer displays garbled characters for language names if run-time strings for the language of the target system's operating system are not included in the installation.

##### IOC-000051283

When you copy and paste a component, its associated data—such as files, registry entries, and COM data—are no longer moved to the new component; they are copied to the new component. In addition, the key path is no longer copied to the new component, since that would cause an ICE02 validation error.

##### IOC-000051522 (Basic MSI, InstallScript MSI)

Standard DLL custom actions now reference a file path rather than the filekey when necessary. This enables standard DLL custom actions to function in the case of duplicate file names (and hence filekeys that differ) without having to manually modify the ISDLLWrapper table's Target column.

##### IOC-000051630

InstallScript functions that read text files (for example, ListReadFromFile and GetLine) now read files properly if the files have only newline characters (\n) without a carriage return (\r) separating the lines.

##### IOC-000051685

Shortcut icons are now displayed on Windows Vista systems if the icons were extracted from a .dll or .exe file at installation build time. In addition, the shield overlay is no longer displayed on the icon.

##### IOC-000051711

The RegisterProgIdInfo action no longer fails to register ProgId information without corresponding Class information. Previously, the ProgID information was not registered; therefore, the file extension is set, but the document icon and description were not.

##### IOC-000051719 (InstallScript MSI)

Password-protected InstallScript MSI installations no longer display a prompt for the password during uninstallation.

##### IOC-000051728 (InstallScript)

InstallScript installations no longer crash when they contain SQL scripts that are scheduled to run during uninstallation and when batch mode is enabled.

##### IOC-000051791

Using the -l option with ISCmdBld.exe or the Standalone Build now overrides the value of a path variable. In addition, using the PathVariables parameter with the InstallShield task for MSBuild now also overrides the value of a path variable. Previously, using the -l option or the PathVariables parameter did not change the value of the path variable.

##### IOC-000051843 (InstallScript)

The Romanian language is no longer missing from the list of available languages.

##### IOC-000051883 (InstallScript)

The FLEXnet Connect–related text substitutions (set by calling various FLEXnet Connect functions such as UpdateServiceSetHost) are now saved and restored properly during maintenance mode.

##### IOC-000051888

Calling Enable( UPDATE_SERVICE_INSTALL ) now works correctly. Previously, when this function was called, the FLEXnet Connect Agent was installed, but the product was not registered with the product.

##### IOC-000051952 (Basic MSI)

You can now add controls dialogs if you are using InstallShield from within Visual Studio 2005.

##### IOC-000052137 (InstallScript)

Debugging an InstallScript project that includes XML file changes no longer displays a prompt to browse to the XMLRT.rul file.

##### IOC-000052141 (Basic MSI, InstallScript MSI)

Val0001 now handles the vertical bar (|) as a separator between short and long file names.

##### IOC-000052193 (Basic MSI, InstallScript MSI)

InstallShield now uses the self-registration method indicated on the Preferences tab of the Options dialog box for self-registering dynamically linked self-registering files. Previously, InstallShield always used the ISSelfReg table method.

##### IOC-000052325 (Basic MSI)

Response transforms for .msi packages that have certain destination folders such as LocalAppData or PrimaryVolumePath now work correctly, and the products are installed to the appropriate location.

##### IOC-000052326 (InstallScript, InstallScript MSI)

Reverting a built-in dialog back to its default layout and then editing it again no longer causes a refresh issue for that dialog in the Dialog Editor.

##### IOC-000052411 (InstallScript MSI)

When end users run an InstallScript MSI installation from a CD-ROM and then later uninstall the product, run-time error 1155 ("File C:\Program Files\InstallShield Installation Information\{GUID} not found") no longer occurs.

##### IOC-000052420

The ISSetAllUsers custom action no longer fails if it is launched when the Upgrade table does not contain any entries.

##### IOC-000052459 (Basic MSI, InstallScript MSI)

Clicking the hyperlinks for a Palm OS installation in the Mobile Devices view now opens the Palm OS Wizard. Previously, nothing happened when the hyperlinks were clicked, and the only way to edit the settings was to right-click the Palm OS device in the middle pane and then click Modify.

##### IOC-000052485 (Basic MSI, InstallScript MSI)

The Settings.htm file that is included with the Update Manager for FLEXnet Connect no longer causes an ISICE06 validation error when the installation project that consumes the FLEXnet Connect merge module is validated.

##### IOC-000052535

The OnFirstUIBefore event no longer disappears when you click it in the middle pane in the InstallScript view of the German version of InstallShield.

##### IOC-000052559

Passing a preprocessor definition to IsCmdBld.exe through the -d parameter now sets the new value.

##### IOC-000052639 (InstallScript)

Japanese strings are no longer displayed as question marks in installation dialogs when the installation is run on a machine that has a Japanese OS. Previously, this occurred if a dialog was modified in InstallShield on a system running an English OS with a Japanese code page installed.

##### IOC-000052698 (InstallScript)

Error 118 no longer occurs when you use the Refresh Build type of build for a project that contains objects.

##### IOC-000052746 (InstallScript)

Japanese strings are now displayed correctly in installation dialogs when the strings have been edited in the String Table editor in InstallShield on a machine running an English OS with a Japanese code page installed. Previously, the Japanese strings in the dialogs were garbled.

##### IOC-000052760

Language-specific support files in projects without language neutral support files are now properly extracted at installation time.

##### IOC-000052826 (InstallScript MSI)

When an end user runs an InstallScript MSI installation that spans multiple CDs and then later attempts to modify or remove the product through Add or Remove Programs, an error no longer occurs. Previously in this scenario, the following error message was displayed: "Error reading setup initialization file." This error occurred because .ini files and ISSetup.dll were missing from the cache location on target systems.

##### IOC-000052830

When you migrate a project an earlier version of InstallShield to InstallShield 12, InstallShield creates nested IIS subdirectories where appropriate. Thus, if an IIS virtual directory has the name VirtualDirectory\VirtualSubDirectory, InstallShield creates a directory called VirtualDirectory and adds a subfolder called VirtualSubDirectory in the Internet Information Services view.

##### IOC-000052902 (Basic MSI, InstallScript MSI)

COM-extracted registry entries are synchronized to the previous package when possible, enabling more patches to be uninstallable.

##### IOC-000052979 (Basic MSI, InstallScript MSI)

After the RemoveRegistry table in a minor upgrade is populated to resolve several thousand Val0009 errors, InstallShield no longer crashes when upgrade validation is rerun from the Upgrade Validation Wizard.

##### IOC-000053054

The list of recently used validation suites on the Build menu's Validate menu are now enabled. Previously, the recently used validation suites were disabled.

##### IOC-000053271

Creating a patch between two Basic MSI releases that use InstallScript custom actions no longer results in a -7132 build error indicating that the ISSetup.dll file could not be found.

##### IOC-000053273 (Standalone Build)

The Standalone Build installation now installs MSVCR70.dll. This file must be installed to build some installations with the Standalone Build. Previously, this file was missing from the Standalone Build, and building an installation sometimes generated an error stating that the .dll file was missing.

##### IOC-000053303

Native image assembly files are now filtered according to the assembly from which they are generated. This prevents dependency scanning from pulling in assemblies such as System.ni.dll.

##### IOC-000053364 (Basic MSI, InstallScript MSI)

A setup prerequisite that is marked as optional no longer crashes at run time when the Setup.exe file prompts the end user to optionally install it.

##### IOC-000053443 (Basic MSI)

InstallShield now checks for invalid conditions as conditions are entered in the Behavior area of the Dialogs view. Also, you can now launch the Condition Builder by clicking the ellipsis button (...).

##### IOC-000053473

The script schema functionality now works for MySQL and Oracle. Previously, this functionality worked with Microsoft SQL Server.

##### IOC-000053506 (Basic MSI, InstallScript MSI)

The built-in IIS custom actions (caCreateVRoots, caExtractIISSuppFiles, caIISCleanup, caRemoveVRoots, caRlbackVRoots) that InstallShield adds to a project when you add IIS functionality now have a Privileged condition instead of an AdminUser condition. Previously, the AdminUser condition was used for each of these custom actions, resulting in ICE86 warnings.

##### IOC-000053602 (Basic MSI, InstallScript MSI, Merge Module)

MsiSFCBypass table entries no longer cause an ISICE05 validation error.

##### IOC-000053711

InstallShield now uses the specified password for a digital certificate when a release is built on a machine with the Windows UI set to a language other than English. Previously, InstallShield prompted for the digital certificate password several times instead of using the password that was specified in InstallShield.

##### IOC-000053752

When a setup prerequisite dependency is added to a prerequisite in the Setup Prerequisite Editor, the editor uses path variables (<ISProductFolder>\SetupPrerequisites) for the path to the .prq file. Previously, the Setup Prerequisite Editor used full hard-coded paths, which caused problems in some cases.

Note that existing setup prerequisites with invalid paths for dependencies must be reopened and resaved in the Setup Prerequisite Editor to resolve this issue.

##### IOC-000053812 (Basic MSI)

The LastAuthor in the Summary Information Stream is now set to the value of InstallShield instead of an individual's name.

##### IOC-000053859

The latest version of WizUtil.dll is now installed with InstallShield. Previously, an earlier version was installed.

##### IOC-000053954

The procedure in the "Connecting to an Instance of Oracle and Running SQL Scripts" help topic in the InstallShield Help Library has been updated to reflect the steps required for downloading the appropriate version of the Oracle Instant Client.

##### IOC-000053956

Scanning for dependencies in InstallShield now finds SxS dependency DLLs such as msvcr80.dll.

##### IOC-000053969

You can now use periods in the name of a virtual directory in the Internet Information Services view, and the virtual directory is successfully created at run time. Previously, if you used periods in the name of a virtual directory, the names were truncated, created incorrectly at run time, or created out of sequence.

##### IOC-000054051

The inline help for the Filename & Command Line setting for an EXE type of custom action has been enhanced. It now explains that the complete path to the executable file is required unless the executable file is already present in the operating system search path (that is, WindowsFolder or SystemFolder). It also contains some sample search paths.

##### IOC-000054055

The Filters.xml file that lists files that should be excluded from dependency scans no longer lists files from the temporary ASP.NET files folder.

##### IOC-000054116

The Open Transform Wizard no longer reports an error when you click a push button on a Windows Installer dialog that launches an InstallScript custom action.

##### IOC-000054120

New build warning -7143 is displayed if a component's destination is a 64-bit folder but the component is not marked as a 64-bit component.

##### IOC-000054131

If you set the Template Summary property at the product configuration level and then delete the value for that property, InstallShield now uses the Template Summary property value that is set in the General Information view. Previously, InstallShield left the Template Summary property in the built .msi package empty.

##### IOC-000054167 (Basic MSI, InstallScript MSI)

Installations created with InstallShield now successfully install COM+ components (DLLs) that use external .tlb files. Previously, the COM+ components were not installed.

##### IOC-000054179 (Standalone Build)

You can now use the Standalone Build to build mobile device projects from custom automation hosts (such as VB or Perl) and MSBuild.

##### IOC-000054218

An installation built with the .NET Framework (included in the release settings as Download from the Web) no longer causes an abnormal program termination at run time. Previously, this occurred when the release was built on certain machine configurations.

##### IOC-000054224

InstallShield no longer crashes if you expand the feature tree and then drag another feature under an existing feature in the Setup Design view.

##### IOC-000054270 (Basic MSI)

The Text property for the LaunchProgramText control on the SetupCompleteSuccess dialog is no longer blank if the Project Assistant is used to specify that end users should have the option to launch the product when the installation is complete.

##### IOC-000054274

If you add an MSI DLL custom action stored in the Binary table to your project and set its in-script execution to Commit Execution (Terminal Server Aware), the correct custom action type number is assigned to the custom action.

##### IOC-000054291

Japanese strings in the Summary Information Stream are no longer corrupted in built .msi packages.

##### IOC-000054342 (Basic MSI, InstallScript MSI)

The InstallScript variable SystemFolder is now resolved correctly in Basic MSI and InstallScript MSI projects that contain the SQL support.

##### IOC-000054449

The EventsConv.rul file is now installed with InstallShield and with the Standalone Build. Previously, this file was missing from those installations.

##### IOC-000054463

If you specify a .pfx file for digital signatures, InstallShield uses SignTool.exe to sign your files. If you specify a password to use for signing the files, the password is passed to SignTool.exe through the command line, and no prompts are displayed to request the password.

Previously, the only available method for digitally signing files was to specify an .spc file and a .pvk file. With these types of files, InstallShield uses Signcode.exe to sign the files. If you specify the digital signature password in InstallShield, Signcode.exe may display a prompt for the password; InstallShield attempts to pass the password to this prompt. If you are using the machine while InstallShield is digitally signing the files, InstallShield may pass the password to another application that you are using, rather than to Signcode.exe. Using SignTool.exe instead of Signcode.exe eliminates this security vulnerability.

##### IOC-000054492 (Basic MSI, InstallScript MSI)

InstallShield no longer crashes if you use the System Search Wizard to create a system search that searches for a folder path based on the location of a file.

##### IOC-000054506 (InstallScript MSI)

InstallScript MSI installations that are run from a CD-ROM or whose media files are read-only now cache the Disk1 files as writable files. Previously, the Disk1 files were installed as read-only, and this caused uninstallations to fail to remove cached Disk1 files. In addition, the files were not updated properly during upgrades.

##### IOC-000054680

InstallShield ICEs such as ISICE02 that verify file contents no longer display an exception error when a read-only copy of the compressed file exists in %TEMP%. Previously, these files could cause the validator to fail during a compressed build.

##### IOC-000054695 (InstallScript)

InstallScript installations show the small setup initialization dialog in the correct language. Previously, the wrong language was used for some multilanguage installations in some cases.

##### IOC-000054782

Invalid Directory table entries no longer cause InstallShield to crash when the associated component properties are displayed in InstallShield.

##### IOC-000054829

When you use InstallShield to extract COM information from a COM server, InstallShield puts the data in the Registry table, instead of in the TypeLib table. Microsoft strongly advises against using the TypeLib table, as described in the TypeLib Table topic on the MSDN Web site.

##### IOC-000054849

If you open the OLEDB21.msm merge module in InstallShield and attempt to view its components, InstallShield no longer crashes.

##### IOC-000054951 (Basic MSI, InstallScript MSI, Merge Module)

Packages with custom actions that have a 64-bit script bit or a hide target bit no longer trigger ICE03 validation errors.

##### IOC-000055104 (Basic MSI, InstallScript MSI)

The DirectX 9 object no longer triggers ICE09 or ICE18 validation errors.

##### IOC-000055159

InstallShield removes the FLEXnet Connect merge module from your project whenever you select No for the Enable FLEXnet Connect setting. Previously in some cases, InstallShield did not remove this merge module.

##### IOC-000055161 (Basic MSI, InstallScript MSI, Merge Module)

The Return Processing setting in the Custom Actions and Sequences view and in the Custom Actions view now lists only the supported options that correspond with the selected custom action. For example, VBScript custom actions support only synchronous processing, so only synchronous options are listed. Previously, asynchronous options were listed, even though this type of custom action did not support asynchronous processing.

When you migrate a project from InstallShield 12 or earlier to InstallShield 2008, InstallShield automatically converts any invalid return processing option to a valid option.

##### IOC-000055163 (Basic MSI, InstallScript MSI, Merge Module)

The name of the setting for the data source name is now Name instead of Description in the ODBC Resources view to more closely match the terminology in the ODBC Data Source Administrator.

##### IOC-000055168 (InstallScript, InstallScript MSI)

You can now modify the size of built-in dialogs in InstallScript and InstallScript MSI projects. Previously, if you tried to modify the dialog size, InstallShield displayed the following error message: "The Resource Identifier is reserved for an InstallShield predefined dialog."

##### IOC-000055219

If you specify the ASP.NET version for an IIS Web site or virtual directory in the Internet Information Services view, the installation no longer displays the Command Prompt window at run time when it runs the ASP.NET IIS Registration tool (Aspnet_regiis.exe) to map the Web site or virtual directory to the version that you specified.

##### IOC-000055270

The darice.cub, which is used for the Full MSI Validation Suite, has been updated with the latest ICEs, through ICE99.

##### IOC-000055432 (InstallScript)

The Shortcuts explorer in the center pane of the Shortcuts view now shows the display name instead of the internal name for any shortcuts that you add. The internal name for the shortcuts is listed in the Internal Name setting in the grid on the right. Now when you change the display name for a shortcut, the new name is saved properly. Previously, the new names were not saved in some cases.

##### IOC-000055469 (InstallScript, InstallScript MSI)

The text on the SelectDir run-time dialog, which is displayed when end users click the Browse button on the EnterDisk dialog, now says, "Type or select the location of the next disk." Previously, the text said, "Select the installation folder."

In addition, the EnterDisk.rul script file is now installed with InstallShield and the Standalone Build; this file was previously not installed.

##### IOC-000055517

You can now press the TAB key to add spaces to InstallScript code in the InstallScript view when you are using InstallShield from within Visual Studio. Previously, pressing the TAB key sometimes selected the Setup.rul file instead of adding spaces to the code.

##### IOC-000055607 (InstallScript)

Right-clicking the Reports node under a release in the Releases view and then clicking Delete All now deletes all of the release reports. In addition, right-clicking the Reports node and then clicking Refresh now refreshes the reports. Previously, the Delete All and Refresh commands led to multiple reports being displayed and reports not being deleted as expected.

##### IOC-000055613 (InstallScript, InstallScript MSI)

The UNINSTALL_STRING variable now encloses the path to Setup.exe within quotation marks.

##### IOC-000055747 (InstallScript, InstallScript MSI)

When you run an InstallScript or InstallScript MSI installation in silent mode with an InstallShield silent response file (.iss file), the SQL login no longer fails if you changed the authentication type when you recorded the response file.

##### IOC-000055997 (Basic MSI)

The error message for build error -7092 has been revised. It now says, "Missing binary entry ISSetup.dll." To resolve this error, add a new row to the Binary table, set the Name to ISSetup.dll, and browse to the following folder for the DLL: <InstallShield Program File Folder>\Redist\Language Independent\i386.

Previously, the error message indicated to select the Reset InstallShield Custom Actions option on the Project menu; however, this command was removed because it is no longer applicable to InstallScript custom actions.

##### IOC-000056057

The Release Packager (ReleasePackager.exe) now successfully builds a self-extracting executable file from the command line, regardless of whether Disk1 is included in the path. Previously, if the Disk1 folder was not included in the path, the resulting executable file failed at run time.

The -s command-line parameter is available for using silent mode with ReleasePackager.exe. To pass this new parameter to ReleasePackager.exe, the syntax is as follows:
ReleasePackager.exe "disk_images_folder" "package_file" ["icon_file" [icon_index]] -s

Note that the -s parameter must be specified after the other parameters. If you do not want to specify an icon file or icon index, you must specify the default values of "" and 0 for these parameters.

##### IOC-000056089 (InstallScript MSI)

The setup launcher that is cached during InstallScript MSI installations for maintenance now contains a manifest with the appropriate RequiredExecutionLevel setting. Therefore, if elevation is required to uninstall the installation, the UAC prompt is displayed if appropriate. Previously, the setup launcher that was cached had the RequiredExecutionLevel set to asInvoker, even if the manifest in the installation was set to highestAvailable or requireAdministrator.

##### IOC-000056123 (Basic MSI, InstallScript MSI)

InstallShield no longer includes orphaned features whose parents are filtered by release flags.

##### IOC-000056411 (Standalone Build)

The Standalone Build no longer crashes when it is used to build a merge module that contains one or more InstallScript custom actions. Previously, the Standalone Build crashed because the ScriptArchitectureObj.ini file was missing from the Standalone Build Program File folder.

##### IOC-000056523

It is no longer possible to select an unavailable Spanish (Traditional Sort) language option for .NET redistributables. Previously, doing so would result in a run-time error. Any migrated projects that have this selected will have it changed to Spanish (Modern Sort).

##### IOC-000056962

When you are viewing components in the Files and Folders view, InstallShield no longer creates child-level components if you click a destination component and then press CTRL+SHIFT+M. If you click a destination folder and then press CTRL+SHIFT+M, InstallShield creates a new component within that folder.

##### IOC-000057728 (Basic MSI, InstallScript MSI)

When support files are added to a Basic MSI or InstallScript MSI project, InstallShield automatically adds the SUPPORTDIR property as a value for the SecureCustomProperties property. If you migrate an InstallShield 12 or earlier project to InstallShield 2008, InstallShield adds the SUPPORTDIR property as a value for the SecureCustomProperties property if needed.

##### IOC-000057845 (InstallScript)

When a background is enabled in an InstallScript installation, the background can now be minimized, restored down, and maximized. Previously, this was not possible.

##### IOC-000057932 (Basic MSI, InstallScript MSI)

When end users run a multilanguage installation and they click the Cancel button on the language selection dialog, the installation stops. Previously, the installation continued.

##### IOC-000058209 (InstallScript Debugger)

When you debug an installation that contains an IIS Web site and a virtual directory, the InstallScript Debugger no longer prompts you to browse to the EventsSetup.rul file.

##### IOC-000058214

If you build a project that contains a Web site without a virtual directory, InstallShield displays the following build warning: "ISDEV : warning -7162: The Web site DisplayName1 contains no virtual directories. A Web site is not created on a target machine unless a virtual directory that is associated with it is installed." Previously, no build warning was displayed to alert you that the Web site would not be installed.

##### IOC-000058480 (InstallScript MSI)

InstallScript MSI installations now create the uninstallation information in the registry immediately after file transfer instead of after OnEnd. Previously, this was done only if ISALWAYSINSTALLELEVATED is set to 1 in the Property table and if the Windows Installer group policy AlwaysInstallElevated was set.

##### IOC-000058578 (InstallScript MSI)

If you select No for the Enable Maintenance setting in the Project Properties area of the General Information view of an InstallScript MSI project, the installation automatically adds the -removeonly flag to the uninstall string. This sets the REMOVEONLY script variable during maintenance mode, which causes the OnMaintUI event handler to show the uninstallation UI instead of the maintenance UI. Previously, selecting No for this setting triggered the OnUninstall event handler to be called.

On Windows 2000 and later systems, this setting now has no effect on Add or Remove Programs behavior, since the installation creates separate Change and Remove buttons. Previously, InstallScript MSI installations always created a single Change/Remove button on all platforms, and changing the Enable Maintenance setting affected the behavior of that button.

Note that if you want end users to be able to uninstall the product—but not change its configuration—from Add or Remove Programs, select Yes for the Hide Change Button setting in the Add or Remove Programs area of the General Information view.

##### IOC-000058990 (Basic MSI, InstallScript MSI

To include only unflagged setup prerequisites in a product configuration, specify a flag that does not exist. This way, only unflagged setup prerequisites are built into the product configuration's releases. Previously, if you specified a flag that did not exist at the product configuration level, all setup prerequisites were included, regardless of whether they had a flag.

###### top

### System Requirements

This section contains the minimum requirements for systems that run InstallShield (the authoring environment), as well as for target systems that run the installations created with InstallShield (the run-time environment).

#### For Systems Running InstallShield

##### Processor

Pentium III-class PC (500 MHz or higher recommended)

##### RAM

256 MB of RAM (512 MB preferred)

##### Hard Disk

500 MB free space

##### Display

Designed for XGA resolution at 1024 × 768 or higher

##### Operating System

Windows 2000 SP3 or later
Windows XP
Windows Server 2003
Windows Vista

##### Browser

Microsoft Internet Explorer 5.01 (IE 5.5 or later recommended)

##### Privileges

Administrative privileges on the system

##### 扷梓

Microsoft IntelliMouse or other compatible pointing device

#### For Target Systems (Desktop Computers)

##### 紱釬炵苀

Target systems must meet the following minimum operating system requirement:
Windows 2000
Windows XP
Windows Server 2003
Windows Vista

#### For Target Systems (Mobile Devices)

InstallShield includes support for straight-to-device installations that do not use Microsoft ActiveSync or another desktop component.

InstallShield also includes support for adding mobile device installations to desktop installations.

##### Windows Mobile Device Requirements

InstallShield supports many Windows Mobile platforms and processors. The Windows Mobile platforms are:

- Windows Embedded CE 6.x
- Windows Mobile 5.0 for Pocket PC
- Windows Mobile 5.0 for Smartphone
- Windows CE .NET 5.0
- Windows CE .NET 4.x
- Pocket PC 2003
- Pocket PC 2002
- Pocket PC
- Palm-size PC 2.11
- Palm-size PC 2.01
- Handheld PC 2000
- Handheld PC Pro
- Handheld PC 2.0
- Smartphone 2003
- Smartphone 2002

Note that if a platform is not included in the list, it does not mean InstallShield does not support it. It simply means that you cannot set conditions for that specific platform.

InstallShield includes support for the following Windows Mobile processors:

- ARM920
- ARM820
- ARM720
- Common Executable Format
- Hitachi SH4
- Hitachi SH3E
- Hitachi SH3
- i686
- i586
- i486
- MIPS R4000
- MIPS R3000
- MIPS R2000
- SHx SH4
- SHx SH3
- StrongARM-XScale

##### Palm OS Device Requirements

InstallShield supports Palm OS 3.5 and later.

##### Desktop Requirements for Windows Mobile Device Installations

Requirements for the desktop computers that are used to install applications on Windows Mobile devices are:

- Microsoft ActiveSync 3.x or later (ActiveSync 4.x is required for Windows Mobile 5.x devices)
- Administrative privileges

##### Desktop Requirements for Palm OS Device Installations

Palm HotSync is required for the desktop computers that are used to install applications on Palm OS devices.

###### top

### 眒眭恀枙

For a list of known issues, see Knowledge Base article Q112997.

###### top