Upgrading Projects from InstallShield 12 Express Edition or Earlier

InstallShield 2012 Spring Express Edition

The following information describes changes that may affect projects that are upgraded from InstallShield 12 Express Edition or earlier to InstallShield 2012 Spring Express Edition.

Upgrading Projects Created in Earlier Versions of InstallShield Express Edition

If you use InstallShield 2012 Spring Express Edition to open a project that was created with an earlier version, InstallShield 2012 Spring Express Edition 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 2012 Spring Express Edition projects in earlier versions of InstallShield Express Edition.

You can migrate projects that were created with the following versions of InstallShield Express Edition to InstallShield 2012 Spring Express Edition: InstallShield 12 Express Edition and earlier and InstallShield Express 5 and earlier. Note that projects that were created with InstallShield MultiPlatform or InstallShield Universal cannot be migrated to InstallShield 2012 Spring Express Edition.

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 2012 Spring Express Edition, unexpected results may occur.

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 an Express project that was created in InstallShield 12 Express Edition or earlier to InstallShield 2012 Spring Express Edition, 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. 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.

In some cases, you may want to change the value of the Keep Unused Directories setting to Yes. For example, if your project includes custom actions that use directories that are not referenced in any other area of the project, you may want to select Yes for the Keep Unused Directories setting.

Automatic Downgrade Prevention

When you create a new Express project, the Upgrade Paths view contains an upgrade item called ISPreventDowngrade; ISPreventDowngrade prevents the current installation from overwriting a future major version of your product. If you migrate a project from InstallShield 12 Express Edition or earlier to InstallShield 2012 Spring Express Edition, the ISPreventDowngrade item is not automatically added.

For instructions on how to manually add downgrade prevention support, see Preventing the Current Installation from Overwriting a Future Major Version of the Same Product.

Support for the UAC Shield Icon on Dialog Buttons

The Install button on the Ready to Install dialog and the Remove button on the Ready to Remove dialog have the User Account Control (UAC) shield icon when the installation is run on Windows Vista systems and the installation is not yet running with elevated privileges. This applies to all new projects as well as projects that are migrated from InstallShield 12 Express Edition or earlier.

Note that InstallShield is run with elevated privileges. Therefore, if you launch your installation from within InstallShield on a Windows Vista system, it has elevated privileges, and the UAC shield icon is not displayed on the Ready to Install and Ready to Remove dialogs.

Changes for ALLUSERS and for the Customer Information Dialog

Beginning with InstallShield 2008 Express Edition, the ALLUSERS property is set to 1 by default in all new Express 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 Express Edition or earlier to InstallShield 2012 Spring Express Edition, InstallShield does not automatically change the value of the ALLUSERS property or add this property if it was not defined in the earlier project.

If you want to change the value of ALLUSERS in a new or migrated project, you can do so through the General Information view. For more information, see General Information Settings.

Also new with InstallShield 2008 Express Edition, by default, the Customer Information dialog in all new Express 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 Express Edition or earlier to InstallShield 2012 Spring Express Edition, InstallShield does not automatically change the Customer Information dialog.

To learn more, see Per-User vs. Per-Machine Installations.

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 Express Edition or earlier to InstallShield 2012 Spring Express Edition, the Cache Path setting is not automatically changed. Therefore, you may want to change that value.

Patch Creation for QuickPatch Projects

InstallShield now uses version 3.1 of Patchwiz.dll to create QuickPatch packages.

DemoShield Support

DemoShield is no longer being sold. In addition, it is no longer supported. Therefore, InstallShield no longer includes any DemoShield integration.

See Also