InstallShield Best Practice Suite
InstallShield 2020
Edition:The InstallShield Best Practice Suite is available in the Premier edition of InstallShield.
Project:This information applies to the following project types:
| • | Basic MSI | 
| • | InstallScript MSI | 
| • | MSI Database | 
Note that some of the ISBPs apply to only Basic MSI and MSI Database projects.
InstallShield includes a set of validators called the InstallShield Best Practice Suite. The InstallShield Best Practice (ISBP) validators in this suite alert you if your installation violates best-practice guidelines.
The following table lists the ISBPs that are available in InstallShield.
| ISICE | Project | Description | 
| Basic MSI, InstallScript MSI, MSI Database | Verifies that no feature is named “ALL”. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that no directory is named “DATABASE”. | |
| Basic MSI, MSI Database | Verifies that no ComboBox is shorter than 50 units. | |
| Basic MSI, MSI Database | Verifies that properties used on dialogs are secure or restricted public properties. | |
| Basic MSI, MSI Database | Verifies that no ControlEvent condition is NULL. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that InstallUISequence custom actions are also sequenced in the InstallExecuteSequence. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that all features have associated components and all components are associated with features. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that ARPINSTALLLOCATION is set after CostFinalize in the InstallExecuteSequence. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that LIMITUI is not set without ARPNOMODIFY. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that AppSearch properties are secure or restricted public properties. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that no precompiled .NET assemblies are being distributed. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that no file is self-registered. | |
| Basic MSI, MSI Database | Verifies that properties set by dialog controls and used in the installation have a default value. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that each file has the correct version information or an MsiFileHash entry. | |
| Basic MSI, MSI Database | Verifies that no RadioButtonGroup has Text defined. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that each component with a 64-bit destination is marked as a 64-bit component. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that no .hlp files or WinHelp run-time files are included in the installation. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that no obsolete APIs are imported. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that no deprecated APIs are imported. | |
| Basic MSI, InstallScript MSI, MSI Database | Verifies that no registry entries contained in the Registry table attempt to remove root-level registry keys (such as HKLM\Software) or other keys that would cause adverse issues on target machines. | 
See Also
Specifying Whether Validation Should Be Performed at Build Time