InstallShield 2018
InstallShield offers several ways to secure files, folders, registry keys, and Windows services for end users who run your product in a locked-down environment:
• | Traditional Windows Installer handling—In Windows Installer–based projects, you can choose to use the built-in Windows Installer support for setting permissions for files, folders, and registry keys at run time. With this option, InstallShield stores permission information for your product in the LockPermissions table of the .msi database. |
This type of permission handling cannot be combined with the new Windows Installer handling; if you try to build a release that contains the MsiLockPermissionsEx table and the LockPermissions table, build error -7207 occurs.
• | New Windows Installer handling—In Windows Installer–based projects, you can choose to use the latest Windows Installer support for setting permissions for files, folders, registry keys, and Windows services at run time. With this option, InstallShield stores permission information for your product in the MsiLockPermissionsEx table of the .msi database. |
This option requires Windows Installer 5 or later on the target system; earlier versions of Windows Installer ignore settings for this type of handling.
This type of permission handling cannot be combined with the traditional Windows Installer handling; if you try to build a release that contains the MsiLockPermissionsEx table and the LockPermissions table, build error -7207 occurs.
• | Custom InstallShield handling—In Windows Installer–based projects, you can choose to use custom support for setting permissions at run time. With this option, InstallShield stores permission information for your product in the custom ISLockPermissions table of the .msi database. InstallShield also adds custom actions to your project. |
• | SetObjectPermissions, an InstallScript Function—You can use the SetObjectPermissions function in InstallScript events and InstallScript custom actions to set permissions at run time. |
All of these methods enable you to assign permissions for a file, folder, or registry key to specific groups and users. For example, you may assign Read, Write, and Delete permissions for a particular file to the Administrators group, but only Read permissions for all of the users in a different group. The new Windows Installer handling option also lets you assign permissions for a Windows service.
Determining Which Option to Use
The following table compares the different types of methods for setting permissions.
Comparison Category |
Explanation of Available Support |
||||||
Project type |
Also available through InstallScript custom actions in the following project types: Basic MSI, DIM, InstallScript MSI, and Merge Module. |
||||||
Well-known security identifiers (SIDs) |
|
||||||
Localized names for SIDs |
|
||||||
Ability to deny specific permissions |
|
||||||
Effect on permissions that already exist |
|
||||||
Ability to propagate permissions to child objects (subfolders, files, and subkeys) |
|
||||||
Ability to set permissions for objects that are not being installed as part of your installation |
|
||||||
Ability to set permissions for a new user that is being created during the installation |
|
Learning More about the Custom InstallShield Handling Option or the Traditional Windows Installer Handling Option
In Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, and Transform projects, you need to specify whether you want to use the custom InstallShield handling or the Windows Installer handling. To learn how, see Selecting the Locked-Down Permissions Type for a Project.
To learn how to set permissions for a file or folder using either of these options, see Configuring Permissions for Files and Folders. For information on setting permissions for a registry key using either of these options, see Configuring Permissions for Registry Keys.
Learning More about the New Windows Installer Handling Option
To use the new Windows Installer handling option for a service, add a service to your project and then configure its settings. For more information, see Installing, Controlling, and Configuring Windows Services.
To use the new Windows Installer handling option for files, folders, or registry keys, use the MsiLockPermissionsEx table in the Direct Editor view.
Learning More about the InstallScript Function SetObjectPermissions
For information on the SetObjectPermissions function, see SetObjectPermissions.
See Also
LockPermissions (Windows Installer Help Library)
MsiLockPermissionsEx (Windows Installer Help Library)
InstallShield 2018 Help LibraryJanuary 2018 |
Copyright Information | Flexera |