PreviousNext
Help Library

Advanced Tab

InstallShield 2009 » Patch Design View » Patch Configuration

When you click a patch configuration in the Patch Design view, InstallShield displays several tabs. The Advanced tab for a patch configuration exposes a comprehensive set of build settings that you can configure for a patch.

Patch Settings

In this area, you can configure the following settings for your patch:

Patch Configuration Settings 

Property

Description

Patch Output Location

Specify where you want your patch file built or browse for an existing folder. InstallShield appends the following subdirectories to your output location:

\PatchConfigName\Patch.

Note

InstallShield also adds a folder called Interim to your output directory. The Interim folder contains the following files after you build a patch:

  • .log—contains output from the patch creation process; this usually contains information that is useful for troubleshooting
  • .pcp—patch creation properties file; this contains all of the settings necessary to generate a patch package

Generate Patch GUID

Specify whether you want a new GUID generated each time that you build your patch. If you select No, the GUID listed for the Patch GUID property is used. The default setting is Yes.

Patch GUID

The patch GUID is used to uniquely identify a patch package. InstallShield automatically generates a new GUID for this property every time you build the patch if the Generate Patch GUID property is set to Yes.

Minimum Windows Installer Version

Specify the minimum version of Windows Installer required by the patch. For example, to create a patch that targets the Windows Installer 1.2 engine, set this property to 120.

Note

If you set this property to an early version of Windows Installer, you will not be able to take advantage of any of the features supported by only the latest version of the Windows Installer engine.

Build Settings

In this area, you can configure the following build settings for your patch:

Build Settings for a Patch 

Property

Description

Include Whole Files

Specify whether to include whole files for every file included in the patch package.

Note

You can override this setting on a file-by-file basis in the Latest Setup settings.

Validate at Build

Specify whether you want to use the upgrading and patching validation every time you build a patch.

Leave Patch Components Decompressed

Select Yes to leave all .msp file information in a temporary folder. This information can be useful when troubleshooting. If you do not want this information stored, select No.

Enable Patch Creation Caching

Select Yes if you want InstallShield to create intermediate files that are used in subsequent builds to improve performance speed. These intermediate files are left indefinitely on your system. Select No if you have limited disk space. The Patch Cache Folder is where you specify where the intermediate files should be created.

Patch Cache Folder

Specify a directory where the temporary files from patch caching should be stored. These intermediate files are left indefinitely on your system.

Generate MsiPatchOldAssembly tables

Specify whether to automatically generate entries for the MsiPatchOldAssemblyFile and MsiPatchOldAssemblyName tables, which allow a patch package that is running under Windows Installer 3.0 or later to patch an assembly in the global assembly cache (GAC) without making a run-time request for the original installation source. For more information, see Patching Assemblies in the Global Assembly Cache.

Run-time Settings

In this area, you can configure the following run-time settings for your patch:

Run-time Settings for a Patch 

Property

Description

Allow Product Codes to Differ

Specify whether you want the patch creation executable to suppress build-time prompts if product codes differ between the original and latest installations. For a major upgrade, be sure to select .

Allow Product Versions to Differ

Specify whether you want the patch creation executable to suppress build-time prompts if product versions differ between the original and latest installations.

List of Patch GUIDs to Replace

To replace one or more earlier installed patches with the current patch, set this property to the patch GUIDs of those patches, and separate each with a comma. For example:

{C86838C9-DEDC-4451-B96F-94AFB9460F15},{C8633E5B-AC44-45d8-B487-C68B3B1F60D6}

Setting this property is typically not required, even if you have several patch configurations in the Patch Design view. However, if your patch does not overwrite files added in an earlier patch, it may be necessary to set this property.

Note

This property affects only the installation portion of the patch. It does not revert files back to their original versions.

List of Target Product Codes

Specify the product codes that you want to target with this patch, and separate each with a comma. If you set this property to an asterisk (*), it is replaced at build time by the product codes of the installations listed as previous images in this patch configuration.

Create Update.exe

Specify whether you want to create an Update.exe update launcher for the current patch.

To learn when an Update.exe update launcher is required, see Patching Considerations.

Update Launcher Type

Specify the type of update launcher that you want InstallShield to create at build time:

  • Unicode—A Unicode update launcher can correctly display double-byte characters in the update launcher dialogs, such as the PreparingToInstall dialog, regardless of whether the target system is running the appropriate code page for the double-byte-character language. Windows 9x does not support Unicode update launchers.
  • ANSI—An ANSI update launcher displays double-byte characters in the update launcher dialogs if the target system is running the appropriate code page. However, it displays garbled characters instead of double-byte characters in those dialogs if the target system is not running the appropriate code page.

For more information on update launchers, see Specifying the Update Launcher Type (Unicode or ANSI) for a Patch Package.

Project-Specific Note

Note that although the Update.exe bootstrapper for an InstallScript MSI project supports Unicode, the InstallScript engine, which manages the user interface for an InstallScript MSI patch package (.msp), does not support Unicode. Therefore, if you create a Unicode version of Update.exe for an InstallScript MSI patch, Unicode strings are displayed at run time in the user interface for the Update.exe bootstrapper; however, ANSI strings are displayed in the user interface for the .msp package.

MSI Command Line Arguments

Specify Windows Installer arguments to be written to Setup.ini.

[Startup]

CmdLine=Your Value

The default value for this property is

REINSTALLMODE=omus REINSTALL=ALL

The REINSTALL property is a string that contains letters specifying the type of reinstallation to be performed. For more information, see “REINSTALLMODE Property in the Windows Installer Library.

Password Protect Launcher

To password-protect your patch, select Yes, and then type a password for the Launcher Password setting. When you password-protect your patch, any end user who wants to apply your patch must enter a case-sensitive password to launch your update.

This setting is applicable only to patches that use an Update.exe file.

Launcher Password

Type a password to protect your application. You must select Yes for the Password Protect Launcher setting to activate password protection.

When you password-protect your patch, any end user who wants to apply your patch must enter a case-sensitive password to launch your update.

This setting is applicable only to patches that use an Update.exe file.

Minor Update to Target RTM Version (MSI 3.1 Required)

If you want your minor-upgrade patch to essentially remove all of the patches up to the release to manufacturing (RTM) version of the product (or the most recent major upgrade of the product, if one has been installed) before applying the current minor-upgrade patch, select Yes for this property. With this option, all patches (with or without sequencing data) are removed. You do not need to target additional baseline versions and thus increase the patch payload. All end users can successfully apply the patch without applying any intermediate patches.

If you do not want your minor-upgrade patch to remove all of those earlier patches, select No. If you select this option, it may be necessary for your patch to contain the information needed to target each of the earlier minor upgrades that were created after the RTM (or the most recent major upgrade of the product, if one was created).

For example, if you are creating a minor-upgrade patch for service pack 2 and you select No for this property, your patch needs to target the minor-upgrade patch for service pack 1. You could also optionally target other baselines (such as RTM); doing so would increase the patch payload. Note that if you do not target the RTM version, any end user who has the RTM version but not the service pack 1 minor-upgrade patch would need to install service pack 1 before service pack 2.

Versions of Windows Installer earlier than 3.1 ignore this setting.

Optimized Install Mode (MSI 3.1 Required)

If you want Windows Installer 3.1 to optimize the patching process so that it reduces the time that is required to apply the current patch, select Yes. If the patch only modifies a select list of tables, Windows Installer 3.1 ignores the actions that are associated with all other tables. For more information, including the list of tables, see” Patch Optimization” in the Windows Installer Help Library.

If you select Yes for this property, Microsoft Corporation recommends that you test your patch extensively to ensure that it behaves as expected.

If you do not want Windows Installer 3.1 to optimize the patching process for the current patch, select No. Windows Installer will run a complete repair of the application when the patch is applied to the target machine.

Versions of Windows Installer earlier than 3.1 ignore this property. Windows Installer 3.0 optimizes patches if the patch only modifies the select list of tables. To avoid patch optimization by Windows Installer 3.0, you must use the DisableFlyWeightPatching policy. For more information, see DisableFlyWeightPatching in the Windows Installer Help Library.

Versions of Windows Installer earlier than 3.0 run a complete repair of the installation when a patch is applied.

Windows Installer Engine

In this area, you can configure the following settings for the Windows Installer engine:

Windows Installer Settings for a Patch 

Property

Description

Include Win9X Engine

Specify whether the Windows Installer engine for Windows 9x should be included with your patch package.

Include WinNT Engine

Specify whether the Windows Installer engine for Windows NT should be included with your patch package.

Msi Engine Version\Schema

Select the Windows Installer version to be installed by Update.exe. The Version 3.1 or 2.0 (best fit for system) option installs Windows Installer 3.1 on target systems that are running Windows 2000 SP3 or later; it installs Windows Installer 2.0 on other target systems.

If you select the Version 3.1 (requires Windows 2000 SP3 or greater) option or the Version 3.0 (requires Windows 2000 SP3 or greater) option, and the target system does not support version 3.x but does have version 2.0 installed, your patch will run, since the differences between versions 2.0 and 3.x involve only the mechanics of patching.

To prevent your patch from running on a system that does not have version 3.1 installed, set the Minimum Windows Installer Version property to 310. To prevent your patch from running on a system that does not have version 3.0 or later installed, set this property to 300. Note that these conditions are evaluated after Update.exe has had the opportunity to install version 3.1 or 3.0.

Engine Location

Select one of the following options:

  • Download Engine From The Web—If the Windows Installer engine needs to be installed, it is downloaded at run time.
  • Extract Engine From Update.exe—The build streams the Windows Installer engine into the Update.exe file, giving you a single file to distribute to your customers. At run time, the engine is extracted from the Update.exe file and installed if required.
  • Copy From Source Media—The build copies the Windows Installer engine into the same directory as the Update.exe file.

Windows Installer 2.0 engine URL for Win9X

Specify the uniform resource locator (URL) for the location of the engine. This is the location that the Update.exe file uses at run time to download the engine. The default URL location is a live site maintained by Acresso for your convenience.

Windows Installer engine URL for WinNT

Specify the URL for the location of the engine. This is the location that the Update.exe file uses at run time to download the engine. The default URL location is a live site maintained by Acresso for your convenience.

Windows Installer 3.1 engine URL

Specify the URL for the location of the engine. This is the location that the Update.exe file uses at run time to download the engine. The default URL location is a live site maintained by Acresso for your convenience.

Note

Both the 3.1 and 3.0 engines are available for download from the default URL (http://www.installengine.com/Msiengine30). The appropriate version—either 3.1 or 3.0—is downloaded if needed, depending on what option is selected for the Msi Engine Version\Schema property.

Microsoft .NET Framework

In this area, you can configure the following settings for the Microsoft .NET Framework:

Microsoft .NET Framework Settings for a patch 

Property

Description

Include in Build

Specify whether to include the Microsoft .NET Framework in your patch. If you select Yes, the same version of the .NET Framework that was included in the latest release is included in this new patch.

Engine Location

Select one of the following options:

  • Download Engine From The Web—If the .NET Framework needs to be installed, it is downloaded at run time.
  • Extract Engine From Update.exe—The build streams the .NET Framework into the Update.exe file, giving you a single file to distribute to your customers. At run time, the engine is extracted from the Update.exe file and installed if required.
  • Copy From Source Media—The build copies the .NET Framework into the same directory as the Update.exe file.

Engine URL

Specify the URL for the location of the .NET Framework. This is the location that the Update.exe file uses at run time to download the .NET Framework. The default URL location is a live site maintained by Acresso for your convenience.

See Also




Copyright Information | Contact Acresso