SETUPEXEDIR

InstallShield 2012 Spring

Project: The following project types support the SETUPEXEDIR property:

InstallScript MSI
Basic MSI

To determine the location from which an InstallScript installation was run, use SRCDIR or PACKAGE_LOCATION.

SETUPEXEDIR is a property that contains the path to Setup.exe. For example, if the path to Setup.exe is C:\MySetups\MyApp\Setup.exe, the value of SETUPEXEDIR is C:\MySetups\MyApp.

Using SETUPEXEDIR

SETUPEXEDIR is an alternative to the directory identifier SourceDir. A potential problem with using SourceDir is that it points to the location of the running .msi package. In the case of a compressed installation, the .msi package is streamed to a temporary location and run from there. Because of this, the value of SourceDir will be some temporary location on the end user's machine, which might not be the value that you want.

Limitations of SETUPEXEDIR

There are two limitations to using SETUPEXEDIR:

SETUPEXEDIR is set by Setup.exe. If the end user runs the .msi package directly, SETUPEXEDIR is not set. To account for this, you could have a dual implementation in your installation—one that uses SETUPEXEDIR and one that uses SourceDir. You could test for the existence of SETUPEXEDIR and, if it does not exist, you could conditionally use your SourceDir implementation.
SETUPEXEDIR might not be set at uninstallation. If the end user triggers the uninstallation by running Setup.exe, SETUPEXEDIR is set. If they run the uninstallation from Add or Remove Programs, SETUPEXEDIR is not set.

Note: In an uncompressed installation, SourceDir and SETUPEXEDIR have the same value.

See Also