InstallShield 2019
Project • Component settings are available in the following project types:
• | Basic MSI |
• | DIM |
• | InstallScript |
• | InstallScript MSI |
• | InstallScript Object |
• | Merge Module |
• | MSI Database |
• | MSM Database |
• | Transform |
The settings in the Components view (and the component settings in the Setup Design view) are organized into the following main categories:
• | General |
• | Target Machine |
• | .NET Settings |
• | Run-Time Settings |
When you select a component in the Components view or the Setup Design view, the following settings are available in the General area:
Setting |
Project Type |
Description |
|||||||||||||||
Basic MSI, DIM, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, MSI Database, MSM Database, Transform |
Select the folder on the target system into which the component’s files should be installed, or click the ellipsis button (...) to select or create a directory. To install the files to the product’s default destination folder, select the appropriate location, depending on which project type you are using:
Project • In Basic MSI, InstallScript MSI, MSI Database, and Transform projects, if you want the destination to be configurable at run time, the destination folder that you select must be a public property (containing all uppercase letters). Note that in some project types (Basic MSI, InstallScript MSI, MSI Database, and Transform), you can also set the destination folder of a component’s feature. For information on the effects of setting the destination for a feature as well as its components, see Component Destination vs. Feature Destination. In InstallScript and InstallScript Object projects, if you are installing files to WINSYSDIR64, you may need to select Yes for the component's 64-Bit Component setting. Otherwise, files being installed to WINSYSDIR64 may be redirected to SysWOW64, the 32-bit Windows system folder. For more information, see Targeting 64-Bit Operating Systems with InstallScript Installations. |
||||||||||||||||
Destination Permissions |
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
To set permissions for the component’s destination folder, click the ellipsis button (...) in this setting. Note • Unless you need to designate specific permissions, it is recommended that you leave this setting undefined so that normal user permissions can apply to the destination folder. |
|||||||||||||||
Component Code |
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
Enter a GUID that uniquely identifies this component. To have InstallShield generate a different GUID for you, click the Generate a new GUID button ({...}) in this setting. |
|||||||||||||||
Shared |
Basic MSI, DIM, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, MSI Database, MSM Database, Transform |
Project • The behavior of this setting varies slightly, depending on whether the project type is Windows Installer based (Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, or Transform project) or InstallScript based (InstallScript or InstallScript Object project).
Note that the installation increments any existing reference count for any file in a component regardless of whether you mark the component as shared. However, if no reference count exists, the installation does not create one unless you select Yes for this Shared setting. For more information, see Managing Reference Counts for Shared Files. |
|||||||||||||||
Permanent |
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
Specify whether you want to mark this component as permanent. If you select Yes, none of the component's data (such as files, registry entries, and shortcuts) are removed from the target system when the component's feature is uninstalled. Validation rules require that you select Yes for any component being installed to [SystemFolder]. Note • If you are installing a font, it is recommended that you select Yes. |
|||||||||||||||
Uninstall |
InstallScript, InstallScript Object |
Specify whether the component’s files, registry entries, and other data should be uninstalled when the component’s feature is uninstalled. This setting is useful for preventing the uninstallation of files that may be used by other products. If the component’s files are not used by other products, the Uninstall setting should typically be set to Yes. |
|||||||||||||||
Condition |
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
This setting lets you enter a statement that the installation must evaluate before setting up your component’s data on the target system. The component is not installed if its condition evaluates to false. However, the component is installed or advertised if its condition evaluates to true, assuming that its feature is selected for installation. To create a condition for the component, click the ellipsis button (...) in this setting. For more information, see Configuring Component Conditions. |
|||||||||||||||
Remote Installation |
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
Indicate the default install state for the component. Valid options are:
For more information, see Setting a Component’s Remote Installation Setting. Caution • If the component contains a Windows service, select the Favor Local option. Although an end user could change the feature’s installation state through the CustomSetup dialog, the Windows Installer cannot install a service remotely. |
|||||||||||||||
COM Extract at Build |
Basic MSI, DIM, InstallScript MSI, Merge Module |
Specify whether you want InstallShield to extract COM data from this component’s key file at build time. Available options are:
Select the No option if you want InstallShield to register the file according to the information that is statically contained in the COM Registration area under the component’s Advanced Setting area. This advanced setting stores information about the file’s COM classes, ProgIDs, and so on, that were either extracted in the Component Wizard or entered manually in the Advanced Setting area. Best Practice • If you have marked a file for this component as self-registering, you should select No for the COM Extract at Build setting. Note, however, that calling self-registration functions is a violation of setup best practices. To learn more about COM registration, see Extracting COM Registration Data at Build Time. |
|||||||||||||||
Languages |
Basic MSI, DIM, InstallScript, InstallScript MSI, InstallScript Object, Merge Module |
The Languages setting for a component enables you to specify the languages for which the component is intended, for use in build-time filtering. By default, components are language independent, meaning that none of the component’s data (such as files and registry entries) are specific to a particular language. Project • In InstallScript and InstallScript Object projects, if a language is not selected in the General Information view of a project, it is not listed as one of the available languages for the project’s components. To designate that the component is intended for only certain languages, click the ellipsis button (...) in this setting. The Languages dialog box opens, enabling you to select the appropriate languages for the component. For more information, see Marking Components as Language Dependent. Tip • To learn how to specify which language-dependent components are installed at run time, see Installing Components Based on Language. |
|||||||||||||||
Reevaluate Condition |
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
Specify whether you want the Windows Installer to reevaluate the component’s condition when the product is reinstalled. This setting is useful for authoring transitive components—components that can replace each other when a product is reinstalled, for example, after an operating system upgrade. For more information, see Reevaluating Component Conditions During Reinstallation. |
|||||||||||||||
Never Overwrite |
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
Specify whether you want your installation to avoid overwriting a file if it already exists on the target system:
Important • The Windows Installer checks for the existence of the component’s key file when determining if it should install the component. If the component’s key file does not exist on the target system, Windows Installer installs the component as if No were selected for the Never Overwrite setting. For more information on how the Windows Installer determines whether a component should be installed, see Overwriting Files and Components on the Target System. |
|||||||||||||||
64-Bit Component |
Basic MSI, DIM, InstallScript, InstallScript MSI, InstallScript Object, Merge Module, MSI Database, MSM Database, Transform |
Project • The use of this setting varies, depending on whether the project type is Windows Installer based (Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, or Transform project) or InstallScript based (InstallScript or InstallScript Object project). |
|||||||||||||||
64-Bit Component (cont.) |
|
For Windows Installer–Based Projects Specify whether you want to mark this component as 64 bit. The component should be marked as 64 bit if any of the following are true:
Note the following details:
For more information about 64-bit support, see Targeting 64-Bit Operating Systems with Basic MSI and InstallScript MSI Installations. For InstallScript-Based Projects Specify whether you want to mark this component as 64 bit. If you want your installation to install the files and registry data in this component to 64-bit locations on 64-bit systems and 32-bit locations on 32-bit systems, you can mark the component as 64 bit. For more information about 64-bit support, see Targeting 64-Bit Operating Systems with InstallScript Installations. |
|||||||||||||||
Source Location |
Basic MSI, DIM, InstallScript MSI, Merge Module |
Specify the name of a subfolder where the component’s files should be stored in the source disk images if the component’s files are not compressed. When you build a release, InstallShield copies the component’s files to this subfolder in your disk image. This setting enables you to create unique folders for each component’s files, which is necessary if you have different files with the same name in more than one component. If you do not specify a value for Source Location setting, you run the risk of overwriting files with the same name when you build an uncompressed release. This setting does not require a value, and in most cases, may be left blank. If you do enter a value, it must be a valid Windows folder name. For more information, see Installing Files of the Same Name. |
|||||||||||||||
Disable Registry Reflection |
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
Registry reflection keeps the 32-bit registry view and the 64-bit registry view in sync on the target machine. To enable registry reflection for all existing and new registry keys that are affected by the selected component, select No, which is the default value. To disable registry reflection on all existing and new registry keys that are affected by this component, select Yes. Windows Installer calls the RegDisableReflectionKey function on each key being accessed by the component. This function disables registry reflection for the specified key. Disabling reflection for a key does not affect reflection of any subkeys. Note • Only 64-bit systems with Windows Installer 4 or later support this setting. In addition, only Windows Vista and later and Windows Server 2008 and later support it. Other systems ignore this setting. For more information about registry reflection, see Registry Reflection in the MSDN Library. |
|||||||||||||||
Multiple Package Shared Component |
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
To enable shared component patching for the selected component, select Yes; otherwise, select No, which is the default value. If this multiple-package sharing feature were enabled in at least one package that is installed on the target system, Windows Installer 4.5 treats the component as shared among all of those packages. If a patch that shares this component is uninstalled, Windows Installer can continue to share the highest version of the component's files on the system. The purpose of this multiple-package component sharing is to prevent files from being downgraded during the uninstallation of a patch that contains a component that is shared with one or more other installed packages. The intent is to keep the highest version of the component's files present on the machine after uninstallation of that patch. The following scenario helps to illustrate the behavior:
|
|||||||||||||||
Multiple Package Shared Component (cont.) |
|
Either of the following results may occur:
Note • If the DisableSharedComponent policy is set to 1 on a target system, Windows Installer ignores this setting for all packages. Windows Installer 4.0 and earlier ignore this setting. To learn more about this setting, see Specifying Whether Shared Component Patching Should Be Enabled for a Component. |
|||||||||||||||
Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, Transform |
This setting determines how Windows Installer handles the selected component during installation of a superseding patch under certain conditions. It is designed to prevent the component’s feature from being changed to an advertised state if a patch that is installed or uninstalled changes the component count for the feature. If the feature state changes to advertised, none of the feature’s remaining components can be maintained. To specify that this component in the current patch should be flagged for uninstallation in order to avoid leaving this component orphaned on the target system after a superseding patch is applied, select Yes. If a subsequent patch is installed and it is flagged to supersede the first patch (that is, if Yes is selected in the Supersede column for the patch's family on the Sequence tab for the patch configuration in the Patch Design view), Windows Installer can unregister and uninstall this component if appropriate. If you select No, the superseding patch can leave an orphaned component on the target system. The default value for this setting is No. If you select No and the superseded patch installs a component for the product but the superseding patch removes that component, the component's feature state is changed to advertised, and it is not reinstalled. In addition, none of the remaining components associated with that feature can be maintained. If you select Yes, Windows Installer unregisters and uninstalls the component when the superseding patch is applied. Note • Windows Installer 4.5 includes support for this Uninstall Superseded Component setting. Earlier versions of Windows Installer ignore it. Tip • Setting the MSIUNINSTALLSUPERSEDEDCOMPONENTS property has the same effect as selecting Yes for the Uninstall Superseded Component setting of all components in the patch. |
||||||||||||||||
REG File to Merge at Build |
Basic MSI, DIM, InstallScript MSI, Merge Module |
If you want to merge a .reg file with the component’s registry entries at build time, enter the complete path for the .reg file. As an alternative, you can click the ellipsis button (...) in this setting to browse to the .reg file. |
|||||||||||||||
Self-Register |
InstallScript, InstallScript Object |
Specify whether the component’s files are self-registering. (A self-registering file is an OLE server that can place information about itself in the registry so that it is seen by other OLE applications. Such a file can also remove this information from the registry when it is uninstalled.) Important • If you select Yes but one or more files in the component are not self-registering, an error occurs when the installation runs. Project • InstallScript and InstallScript Object projects support self-registration of .dll files, .exe files, and type libraries—that is, .tlb and .olb files. In Basic MSI and InstallScript MSI projects, self-registration is set at the file level, rather than the component level. |
|||||||||||||||
Potentially Locked |
InstallScript, InstallScript Object |
Specify whether already-installed versions of the component’s files may be locked—that is, in use by another product—during installation. If a file is locked during installation or uninstallation, and that file is in a component whose Potentially Locked setting is set to Yes, the file operation is automatically performed after restart. If a file is locked during installation or uninstallation, and that file is in a component whose Potentially Locked setting is set to No, the OnFileLocked event handler function is called. (The default code for this function automatically performs the file operation after restart.) Note that InstallShield always treats shared files as potentially locked files. |
|||||||||||||||
Compressed |
InstallScript, InstallScript Object |
Specify whether you want to compress the files in the component if its files are built into a .cab file at build time. This setting has no effect if you select the check box for the component’s feature in the Custom Media Layout panel of the Release Wizard. |
|||||||||||||||
Overwrite |
InstallScript, InstallScript Object |
This setting indicates the installation’s behavior when it encounters an existing file with the same name as the one being installed; you can selectively replace each file in a component based on its version number or modification date. To change the behavior, click the ellipsis button (...) in this setting. The Overwrite dialog box opens, enabling you to specify the appropriate run-time behavior. Tip • If the component consists of files—such as data and configuration files—that end users may have updated, consider selecting the Never Overwrite option. Files that are associated with a component that has the Never Overwrite option selected for the Overwrite setting are logged for uninstallation; that is, even if such a file is not copied to the target system, because a file with the same name already exists there, that file is removed when the application is uninstalled. To prevent an already existing file from being uninstalled, select Yes for the Shared setting of the file’s component. |
|||||||||||||||
Difference |
InstallScript, InstallScript Object |
Specify whether you want InstallShield to include the component’s files in a release when you are building a differential release. (When you define a differential release, you specify one or more existing releases to which the current project should be compared when the new differential release is built.) Available options are:
|
|||||||||||||||
Link Type |
InstallScript, InstallScript Object |
Specify whether the component’s file links are static or dynamic and, if the latter, how the links are determined at the time of the release build. |
|||||||||||||||
Comments |
Basic MSI, DIM, InstallScript, InstallScript MSI, InstallScript Object, Merge Module |
Enter comments about this component. Your comments are saved in the project file for your reference and are not used in the installation at any time. |
When you select a component in the Components view or the Setup Design view of an InstallScript, InstallScript MSI, or InstallScript Object project, the following settings are available in the Target Machine area:
Setting |
Project Type |
Description |
Operating Systems |
InstallScript, InstallScript MSI, InstallScript Object |
If a component is specific to one or more operating systems, use this setting to indicate those operating systems. If the target machine’s operating system does not match one of the operating systems that are specified for this setting, the component is not installed. By default, components are operating system independent, meaning that none of the component’s data are specific to certain operating systems. To change the value of this setting, click the ellipsis button (...) in this setting. |
Platform Suite(s) |
InstallScript, InstallScript Object |
If a component is specific to one or more platform suites, use this setting to indicate the suites. If you specify more than suite, you can indicate whether all or any of the suites must be present on the target machine in order for the component to be installed. By default, components are platform suite independent, meaning that none of the component’s data are specific to a particular platform suite. Tip • This setting provides an additional layer of filtering beyond the Operating Systems setting. Select platform suites for the Platform Suite(s) setting only if necessary, and be sure to select only those platform suites that are required for the proper functioning of your application. For example, if a component should be installed on both the Home and Professional editions of Windows XP, you can leave Suite Independent as the value for this setting; selecting Windows XP for the Operating Systems setting encompasses both editions. You can control the platform suites that your installation supports at run time by calling the FeatureFilterOS function. In the OnFilterComponents event handler, the framework typically calls this function with the platform suites that match the target system so that only the appropriate components are installed. By calling FeatureFilterOS, you can override this default behavior to install or prevent the installation of components based on any platform suite criteria that you specify. |
When you select a component in the Components view or the Setup Design view, the following settings are available in the .NET Settings area:
Setting |
Project Type |
Description |
||||||
.NET COM Interop |
Basic MSI, DIM, InstallScript MSI, Merge Module |
Specify whether you want to use COM interoperation (the ability to call .NET objects from COM) for the component. For example, if you have a Visual Basic .NET class library that defines the ComClass attribute and contains at least one public (COM-callable) function, you can select Yes for this setting; InstallShield extracts the COM Interop information at build time and adds it to the Registry table of your .msi database. At run time, registry entries that allow COM objects to call your .NET assembly are created on the target system. Note • This setting is applicable only if the component’s key file is a .NET assembly. |
||||||
.NET Precompile Assembly |
Basic MSI, DIM, InstallScript MSI, Merge Module |
Specify whether you want the installation to create a native image from the .NET assembly at run time and install it to the native image cache on the target system. This allows the assembly to load and execute faster, because it restores code and data structures from the native image cache rather than from just-in-time (JIT) compilation. |
||||||
.NET Assembly |
InstallScript, InstallScript Object |
Specify whether the component’s files should be installed as local .NET assemblies. Available options are:
If you want InstallShield to scan the assembly in this component for .NET dependencies at run time, Local Assembly must be selected for this setting. To learn more, see Identifying Properties and Dependencies of .NET Assemblies. |
||||||
.NET Scan at Build |
Basic MSI, DIM, InstallScript, InstallScript MSI, InstallScript Object, Merge Module |
Project • The functionality for this setting depends on whether the project type is Windows Installer based (Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, or Transform project) or InstallScript based (InstallScript or InstallScript Object project).
For more information, see Identifying Properties and Dependencies of .NET Assemblies. |
||||||
.NET Application File |
Basic MSI, DIM, InstallScript MSI, Merge Module |
This setting is used when this component is scanned at build time (based on the .NET Scan at Build setting) or by the Static Scanning Wizard. The scanner uses this setting—along with the component destination—to determine the value of the File Application setting for the assembly. For optimal advertising and repair, select the .NET executable file that uses the assembly in this component. The key file of the component is displayed in this setting if the .NET Scan at Build setting is set to Dependencies and Properties or Properties. You can select any other key or portable executable file in the project. Note • This setting is applicable only if the component’s key file is a .NET assembly. The value for this setting is ignored if the file that is selected is not a .NET assembly file. |
||||||
.NET Installer Class |
Basic MSI, DIM, InstallScript MSI, Merge Module |
Note • This setting is applicable only if the component’s key file is a .NET assembly that contains a class that is derived from System.Configuration.Install.Installer. If the assembly’s Install, Commit, Rollback, and Uninstall methods should be called at the appropriate times at run time, select Yes. |
||||||
.NET Installer Class Arguments |
Basic MSI, DIM, InstallScript MSI, Merge Module |
To specify arguments that should be passed to the .NET installer class, click the ellipsis button (...) in this setting. The .NET Installer Class Arguments dialog box opens, enabling you to specify arguments for the Install, Commit, Rollback, and Uninstall methods. For sample code, see Reading Properties Passed to the .NET Installer Class. Note • This setting is applicable only if the component’s key file is a .NET assembly. |
When you select a component in the Components view or the Setup Design view of an InstallScript or InstallScript Object project, the following settings are available in the Run-Time Settings area:
Setting |
Project Type |
Description |
FTP Location |
InstallScript, InstallScript Object |
If you want to associate an FTP location with the component, enter the FTP address. The location that you enter cannot be accessed from within a script. Note that this same setting is also available for features; however, the location that you specify for the feature setting can be accessed from within a script. |
HTTP Location |
InstallScript, InstallScript Object |
If you want to associate an HTTP address with the component, enter the HTTP address. The location that you enter cannot be accessed from within a script. Note that this same setting is also available for features; however, the location that you specify for the feature setting can be accessed from within a script. |
Miscellaneous |
InstallScript, InstallScript Object |
If you want to associate a text string with the component, enter the text string. The location that you enter cannot be accessed from within a script. Note that this same setting is also available for features; however, the location that you specify for the feature setting can be accessed from within a script. |
See Also
Advanced Settings for a Component
InstallShield 2019 Help LibraryApril 2019 |
Copyright Information | Flexera |