ISWiPatchConfig Object

InstallShield 2022 » Automation Interface

Project:This information applies to the following project types:

Basic MSI
InstallScript MSI

ISWiPatchConfig represents a patch configuration in the Patch Design view of the InstallShield user interface. You can retrieve a configuration by specifying an item in the ISWiPatchConfigs collection.

Build Status Events

The ISWiPatchConfig object raises the following status events:

Public Event ProgressIncrement(ByVal lIncrement As Long, pbCancel As Boolean)
Public Event ProgressMax(ByVal lMax As Long, pbCancel As Boolean)
Public Event StatusMessage(ByVal sMessage As String, pbCancel As Boolean)

These events are raised during the patch build process and provide status updates. You can set pbCancel to stop the build. For sample code that demonstrates how to use these events, see Using Build Status Events.

Many feature properties and attributes are available in the automation interface through this object’s methods, properties, and collections. The following table lists the ISWiPatchConfig object members.

Name

Type

Description

AddLatestSetup 

Method

Adds a ISWiLatestSetup object to the current patch configuration.

AddMsiPatchSequence 

Method

Adds a ISWiMsiPatchSequences object to the current patch configuration

AllowProductCodeMismatches

Read-Write Property

Set this property to True if 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 set True.

AllowProductVersionMajorMismatches

Read-Write Property

Set this property to True if you want the patch creation executable to suppress build-time prompts if product versions differ between the original and latest installations.

AllowRemoval

Read-Write Property

Set this property to True if you would like the patch to be uninstallable without having to uninstall and reinstall the entire application and other patches.

For more information, see Removing Patches in the Windows Installer help.

BuildPatch 

Method

Calling this method builds the current patch configuration. This action has the same effect as right-clicking on a patch configuration in the Patch Design view and then selecting 'Build Patch'.

Classification

Read-Write Property

Gets or sets the category of upgrade. Examples include Critical Update, Hotfix, and Service Pack.

CreateUpdateLauncher 

Read-Write Property

Set this property to True if you want to create an Update.exe update launcher for the current patch.

DeleteLatestSetup 

Method

Deletes specified latest setup object from the current patch configuration.

DeleteMsiPatchSequence 

Method

Deletes specified patch sequence object from the current patch configuration.

Description

Read-Write Property

Gets or sets the brief description of your patch.

DisableDefaultSequencing

Read-Write Property

Set this property to False if you want to use the default sequencing for the patches of your product. This default sequence accounts for obsolete patches, superseded patches, and patches that have already been applied to the product.

If you set this property to True, you can add your own custom sequence. If set True but do not add a sequence, no sequencing information is built into your patch.

DisplayName

Read-Write Property

Gets or sets the name of your patch

EnablePatchCache

Read-Write Property

When you set this property to True, InstallShield creates intermediate files that are used in subsequent builds to improve performance speed. These intermediate files are left indefinitely on your system. Do not select this check box if you have limited disk space.

GenerateMsiPatchOldAssembly

Read-Write Property

Set this property to True 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.

GeneratePatchGuid

Read-Write Property

Set this property to True if 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 True.

IncludeWholeFilesOnly

Read-Write Property

Set this property to True to include whole files for every file included in the patch package.

ISWiLatestSetups 

Collection

Contains all of the latest setups belonging to this patch configuration

ISWiMsiPatchSequences 

Collection

Contains all of the patch sequences belonging to this patch configuration.

LauncherCompanyName

Read-Write Property

Gets or sets the company name. This will override the default company name for Update.exe with 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.

LauncherCopyright

Read-Write Property

Gets or sets the launcher copyright notice. This will 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/

LauncherDescription

Read-Write Property

Gets or sets the launcher description. This will 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.

LauncherIcon

Read-Write Property

Gets or sets the icon for the Update.exe file. To use your own icon for the Update.exe file, set 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..

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.

LauncherPassword

Read-Write Property

Gets or sets the password to protect your application. You must set True for the PasswordProtected property 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.

LauncherProductName

Read-Write Property

Gets or sets the product name. This will override the default product name for Update.exe with 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.

LauncherProductVer

Read-Write Property

Gets or sets the product version. This will 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.

LeaveIntermDecompressed

Read-Write Property

Set True 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.

ListOfPatchGuidsToReplace

Read-Write Property

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.

ListOfTargetProductCodes

Read-Write Property

Set this property with 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.

ManufacturerName

Read-Write Property

Gets or sets the name of the application’s manufacturer.

MinimumRequiredMsiVersion

Read-Write Property

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.

MinorUpdateTargetRTM

Read-Write Property

MSI 3.1 Required

Set this property to True 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. 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, set False. 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.

MoreInfoURL

Read-Write Property

Gets or sets the uniform resource locator (URL) of the support URL that you would like your customers to visit for technical support.

OptimizedInstallMode

Read-Write Property

Set this property to True 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. 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 set True 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, set False. 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.

OptimizeForLargeFiles

Read-Write Property

Set this property to True to create small bit-level patches for all application files larger than 4 MB in your installation project.

PasswordProtected

Read-Write Property

Set this property to True to password-protect your patch, and then set a password using LauncherPassword property. 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.

PatchCacheDirectory

Read-Write Property

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

PatchCommandLine

Read-Write Property

Gets or sets the MSI Command-Line Arguments.

These Windows Installer arguments are 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.

PatchGuid

Read-Write Property

Set 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 True.

PatchOutputPath

Read-Write Property

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.

SignatureDescription

Read-Write Property

Gets or sets the signature description that you want to use for the patch package and Update.exe file, if applicable. The description that you specify is displayed on the User Account Control (UAC) box to the right of the “Program Name:” label. The UAC dialog box opens when an end user launches the signed file and elevated privileges are required.

If you leave this setting blank, InstallShield uses the name of the file without its extension as the description to the right of the “Program Name:” label on the UAC dialog box.

SignaturePassword

Read-Write Property

Gets or sets the password for .pfx file that you are using. InstallShield encrypts the password and stores it in your project file (.ism).

At build time, InstallShield uses the password to sign files with a .pfx file. If your certificate is protected by a password but you do not enter it in this setting, signing with a .pfx file fails.

SignatureSPC

Read-Write Property

Gets or sets the digital certificate information that you want to use to sign your patch package. Use either the location of the .pfx file or information about the certificate store that contains the certificate.

SignatureURL

Read-Write Property

Gets or sets the fully qualified URL—for example, http://www.mydomain.com. This URL is used in your digital signature to link to a site that you would like end users to visit to learn more about your product, organization, or company.

SignPackage

Read-Write Property

Set this property to True if you want to digitally sign your patch package.

SignUpdateExe

Read-Write Property

Set this property to True if you want to digitally sign Update.exe file.

TargetProductName

Read-Write Property

Gets or sets the name of the application or the target application suite.

UpdateLauncherName

Read-Write Property

Gets or Sets file name (without the .exe file extension) for update launcher that InstallShield should use for the update launcher file that it generates at build time. If this setting is blank, InstallShield uses the default value of ‘Update’, and the update launcher file is called Update.exe.

ValidateAtBuild

Read-Write Property

Set this property to True if you want to use the upgrading and patching validation every time you build a patch.