Static vs. Dynamic Files for Packages in an Advanced UI or Suite/Advanced UI Project

InstallShield 2015

Project: This information applies to the following project types:

Advanced UI
Suite/Advanced UI

Edition: The Advanced UI project type is available in the Professional edition of InstallShield. The Suite/Advanced UI project type is available in the Premier edition of InstallShield. For information about the differences between these two project types, see Advanced UI Projects vs. Suite/Advanced UI Projects.

When you are adding or configuring an .msi, .msp, or .exe package in an Advanced UI or Suite/Advanced UI project, you can indicate whether the package requires additional files that are located near the package file. For example, if a package that you are adding is an uncompressed .msi package, you may need to include other files—such as .cab files and uncompressed data files in nearby subfolders—along with the package file.

InstallShield supports several ways of including the additional files for a package in your project:

Use static links for all of the additional files—This method is useful if the package has been finalized, and no other changes will be made. This method may also be useful if the names of all of the additional files are not likely to change while you are designing the Advanced UI or Suite/Advanced UI installation. At build time, InstallShield copies all of the package’s static files that are listed in the Packages view into your Advanced UI or Suite/Advanced UI installation.
Use dynamic links for all of the additional files—With this method, you specify the source location for the additional files. At build time, InstallShield copies all of the files that are present in the source location into your Advanced UI or Suite/Advanced UI installation.

This method is useful if you are authoring both the package and the Advanced UI or Suite/Advanced UI installation, and the list of additional files that the package requires is likely to change between builds.

Use a combination of static and dynamic file links for the additional files—With this method, you can use static links for all critical additional files whose names are known at design time, and use dynamic links for any other additional files. At build time, InstallShield copies all of the package’s static files that are listed in the Packages view into your Advanced UI or Suite/Advanced UI installation. In addition, InstallShield also copies all of the dynamic files as needed.

Note: InstallShield always includes a static link for the package file (.msi, .msp, InstallScript package, .exe, or other package file). Therefore, the name of the package file should be consistent from one build to another.

Important: Dynamic file linking should be used with caution. If you inadvertently delete a dynamically linked file from the source folder that your dynamic link references, that file is not included in your release the next time you build it, and InstallShield does not display any build warning or error. Your product may install without any issues, but it may not work as expected, since the dynamically linked file that was inadvertently deleted is no longer being installed.

Distinguishing Static Source Locations from Dynamic Source Locations in InstallShield

When a statically linked folder is displayed within the Packages view, the folder’s icon is a plain yellow folder.

When a dynamically linked folder is displayed within the Packages view, the folder’s icon includes an image that indicates that it is dynamically linked:

InstallShield adds an arrow to the folder image—in addition to the dynamic file image—on the icon of a folder that contains one or more dynamically linked subfolders.

You can click either of those special folder icons to configure settings such as the source location for the content. You can also set up filters that you want InstallShield to use at build time to include or exclude certain files in the build.

See Also