Advanced Tab

InstallShield 2019 » Patch Design View » Patch Configuration

Project • This information applies to the following project types:

Basic MSI
InstallScript MSI

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 that is required by the patch. For example, for a minimum of Windows Installer 2.0, enter 200. For a minimum of Windows Installer 3.0, enter 300. For a minimum of Windows Installer 3.1, enter 301.

Note • If you specify an early version of Windows Installer, you will not be able to use any of the features that are 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 enter an asterisk (*) for this setting, InstallShield replaces it at build time by the product codes of the installations that are 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.

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 MSI 3.1 Engine

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

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 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 Flexera for your convenience.

Note • The 3.1 engine is available for download from the default URL (http://www.installengine.com/Msiengine30).

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 Flexera for your convenience.

Update Launcher Settings

In this area, you can configure the following settings for the Update.exe launcher:

Update Launcher Settings for a Patch

Property

Description

Company Name

If you want to override the default company name for Update.exe with your company name, enter your company name.

The company name is displayed on the Properties dialog box for the update launcher; this Properties dialog box opens when end users right-click the Update.exe file and then click Properties.

To learn more, see Customizing File Properties for the Update Launcher.

Product Name

If you want to override the default product name for Update.exe with your product name, enter your product name.

The product name is displayed on the Properties dialog box for the update launcher; this Properties dialog box opens when end users right-click the Update.exe file and then click Properties.

To learn more, see Customizing File Properties for the Update Launcher.

Product Version

If you want to override the default product version for Update.exe with your product version, enter your product version.

The product version is displayed on the Properties dialog box for the update launcher; this Properties dialog box opens when end users right-click the Update.exe file and then click Properties.

To learn more, see Customizing File Properties for the Update Launcher.

Description

If you want to override the default description for Update.exe with your own description, enter the appropriate description.

The description is displayed on the Properties dialog box for the update launcher; this Properties dialog box opens when end users right-click the Update.exe file and then click Properties.

To learn more, see Customizing File Properties for the Update Launcher.

Copyright

If you want to override the default copyright notice for Update.exe with your product’s copyright notice, enter your product’s copyright notice.

The copyright notice is displayed on the Properties dialog box for the update launcher; this Properties dialog box opens when end users right-click the Update.exe file and then click Properties.

To learn more, see Customizing File Properties for the Update Launcher.

Required Execution Level

Use the Required Execution Level setting to specify the minimum level that is required by your project’s Update.exe file for running on Windows Vista and later platforms. The available options are:

AdministratorUpdate.exe requires administrative privileges to run. Administrators must authorize it; non-administrators must authenticate as an administrator.
Highest availableUpdate.exe prefers administrative privileges. Administrators must authorize it; non-administrators run it without administrative privileges.
InvokerUpdate.exe does not require administrative privileges, and all users can run it without administrative privileges. Update.exe does not display any UAC messages prompting for credentials or for consent.
Use Previous Setup Manifest—The Update.exe manifest uses the same required execution level that was specified for the previous setup. This is the default option.

For InstallScript MSI projects, and for Basic MSI projects if the Create Update.exe check box is selected, InstallShield embeds an application manifest in the Update.exe launcher. This manifest specifies the selected execution level. Operating systems earlier than Windows Vista ignore the required execution level.

If the Create Update.exe check box is cleared for a Basic MSI project, InstallShield does not embed the Windows application manifest in an Update.exe launcher.

For more information, see Minimizing the Number of User Account Control Prompts During Installation.

Icon

To use your own icon for the Update.exe file, specify the fully qualified name of the file that contains the icon. To specify a file, type an absolute path or a path that is relative to a path variable, or click the ellipsis button (...) to browse to the file from within the Change Icon dialog box.

By default, the icon with index 0 is used; to specify a different icon, either select an icon in the Change Icon dialog box or append the icon’s index or resource ID (preceded by a minus sign) to the file name. For example, C:\Temp\MyLibrary.dll,2 indicates the icon with an index of 2, and C:\Temp\MyLibrary.dll,-100 indicates the icon with a resource ID of 100.

If you leave this setting blank, InstallShield uses a default icon for your Update.exe file.

See Also