PROGRAMFILES

InstallShield 2019 » InstallScript Language Reference

The PROGRAMFILES system variable contains the fully qualified name of the folder defined by Windows to store applications. In English Windows, that folder is named Program Files, and it is located off the root of the drive on which Windows is installed. (In other language versions of Windows, the folder name is localized appropriately by default.) The program files folders is the recommended default location for application folders.

On 64-bit Windows systems, this folder is for 32-bit applications only and has the name Program Files (x86) by default; 64-bit applications should be installed to the PROGRAMFILES64 folder.

Tip • If your company distributes more than one application, you may prefer to create a company folder inside the program files folder and then create application folders within the company folder.

This system variable is read-only; if you attempt to assign a value to it, a compiler error results. The value of this system variable is shared among object scripts and between object scripts and the main setup script.

Project • During setup initialization in InstallScript installations, the value of the PROGRAMFILES variable is obtained by calling the Windows API function SHGetSpecialFolderPath with the CSIDL_PROGRAM_FILES parameter.

In Basic MSI and InstallScript MSI installations, the value of the PROGRAMFILES variable is initialized based on the Windows Installer property ProgramFilesFolder. Note that deferred, commit, and rollback custom actions do not have access to this property. Therefore, the corresponding PROGRAMFILES variable is empty in deferred, commit, and rollback custom actions. To learn more, see Accessing or Setting Windows Installer Properties Through Deferred, Commit, and Rollback Custom Actions.

See Also