Frequently Asked Questions

InstallShield 2015

This section lists common questions (sorted by topic) and provides links to answers. Where the techniques or steps to perform a specific task are different in different project types, answers for each project type are displayed.

Project Types

• Which project type should I use?
• How do I convert my project to a different project type?
• Why do I get “error C8025 ‘INSTALLDIR’: undefined identifier” when compiling my script after conversion?
• Why do I get the following error: “String PRODUCT_NAME was not found in string table”?

Files and Folders

• What is the difference between INSTALLDIR and TARGETDIR?
• How does Windows Installer determine whether to overwrite an existing file?
• How do I register a COM server?
• How do I install, start, stop, delete, uninstall, or configure a Windows service?
• How do I create an empty folder?
• How do I set a key file for a dynamic file link?
• What happens if I put more than one executable file in the same component?

Features and Components

• How do I conditionally select a feature?
• How do I conditionally hide a feature?
• Why should I use uppercase directory identifiers when setting component destinations?
• How do I change the value in the Link To column for a component?

Redistributables

• How do I add the Windows Installer to my project?
• How do I add the .NET Framework to my project?

Shortcuts

• How do I create an Internet shortcut?
• How do I create a shortcut to a folder?

Registry

• How do I read data from the registry?
• How do I write a property’s value to the registry?

InstallScript

• How do I find out what sort of built-in functions are available in the InstallScript language?
• What is the maximum number of statements that I can use in a compiled script file? What other limits exist for InstallScript?

INI Files

• How do I read data from an .ini file?
• How do I get all key names from an .ini file?

Properties

• How do I get or set a Windows Installer property in InstallScript?
• Why does my deferred custom action show a blank value for a Windows Installer property?

Conditions

• How do I detect administrator privileges?
• How do I detect a first-time installation?
• How do I call a function only during the installation sequence?
• How do I detect if the user has selected a specific feature?
• How do I detect if the user is running a particular operating system?

End-User Interface

• How do I populate a list box at run time?
• How do I display a file browse dialog?
• How do I display a network browse dialog?

Custom Actions

• How do I search for a file on the end user’s system?
• How do I launch my application after the installation is complete?
• How do I place a file in the .msi database and extract it during run time?
• How do I exit the installation from within a custom action?
• How can I use the INSTALLDIR variable after I have created a custom action that runs VBScript code?
• How can I change ODBC properties (like DBQ and SystemDB) through script?

SQL Scripts

• How do I override the default SQL run-time behavior?
• How can I control the execution of a SQL script based on certain conditions in an InstallScript project?
• How do I enforce a server-side installation in an InstallScript project?
• How do I enforce a SQL server-side installation in a Windows Installer-based project?
• How do I handle SQL run-time errors?
• How do I ensure that my SQL scripts run only against a full of SQL Server?

Building Releases

• How do I build my release from the command line?
• How do I change project settings from the command line?

Deployment

• How do users run my installation in silent mode?

Uninstallation

• How do I remove files that were created by my product?
• How do I remove registry data created by my product?

Answers to many other questions are available in the Knowledge Base.