cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Limitations of Dynamic File Linking

Limitations of Dynamic File Linking

Summary

The articles outlines the limitations of using Dynamic File Links

Synopsis

If you want to add the contents of an entire directory to your project, you can do so through the use of dynamic file linking. When you select a source folder for dynamic linking, InstallShield adds the files within that folder to your release at build time. InstallShield scans the source folder before every build and automatically incorporates any new or changed files into your release. Dynamic file linking is useful when the list of files in a folder?and possibly the list of files in its subfolders?might change between builds.

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. Therefore, it is recommended that you avoid using dynamic file links for critical executable files?such as .exe, .dll, or .ocx files?especially if your product requires them in order to run successfully.

Whenever possible, it is better to use the best practice method, instead of the by-directory method, for creating components for dynamically linked files. Note that with both methods, however, a minor upgrade, a small update, or a patch may not install correctly if a file that was present in a target image is removed from the dynamic link for the upgrade or patch.


Discussion

Limitations for Windows Installer?Based Projects

Note the following limitations if you are considering dynamic file linking in Basic MSI, DIM, InstallScript MSI, and Merge Module projects:

  • You cannot create custom actions to a dynamically linked file.
  • You cannot associate a file extension with a dynamically linked file.
  • You cannot extract COM information from a dynamically linked file.
  • You cannot set any properties such as Shared, Permanent, or Never Overwrite for a dynamically linked file.
  • You cannot use the .NET installer class functionality for a dynamically linked file.
  • You cannot specify that COM interop should be enabled for a dynamically linked file.
  • You cannot change default file settings (such as Read-Only or Hidden).
  • You cannot set file permissions for a dynamically linked file.
  • You cannot create shortcuts to a dynamically linked file.
  • You cannot perform a static or dynamic scan of a dynamically linked file.
  • For Basic MSI Projects: You cannot launch a dynamically linked file from the SetupCompleteSuccess end-user dialog.
Any file that you add directly (not through dynamic linking) to your project has an internal name (FileKey). When you create a custom action, a file extension, shortcut, or other type of item, it actually points to this internal name.

When you add files to your project through dynamic links, the files are not physically added to the project. This means that these files do not have any FileKeys that can be associated with custom actions, file extensions, etc.

Limitations for InstallScript?Based Projects

For InstallScript and InstallScript Object projects, a single component cannot contain both static files and dynamically linked files.


Additional Information

For more information on creating Dynamic File Links, see the InstallShield Help Library topic Dynamic File Linking
Was this article helpful? Yes No
No ratings
Version history
Last update:
‎Jun 27, 2018 10:47 PM
Updated by: