Scanning 64-Bit .NET Assemblies for Dependencies

InstallShield 2018

Project • This information applies to the following project types:

Basic MSI
DIM
InstallScript
InstallScript MSI
Merge Module

If you use InstallShield on a 64-bit version of Windows Vista or later or a 64-bit version of Windows Server 2008 or later, and you use either of the following built-in methods for detecting dependencies, InstallShield can scan for 64-bit dependencies of the 64-bit .NET assemblies in your project:

To identify a 64-bit .NET assembly’s dependencies on demand, use the Static Scanning Wizard to detect possible dependencies. This wizard displays a list of the dependencies that it finds, and it lets you specify whether you want to include each one in your project.
To identify a 64-bit .NET assembly’s dependencies each time that you build your project, select one of the dependency options for the component’s .NET Scan at Build setting. For InstallScript projects, the component’s .NET Assembly setting must also be set to Local Assembly. If InstallShield detects any possible missing dependencies at build time, InstallShield incorporates them into the release that it generates.

These methods also scan for 32-bit dependencies of the 32-bit .NET assemblies in your project.

Note that if you use InstallShield on a 32-bit version of Windows, these built-in scans can check for only 32-bit dependencies of the 32-bit files in your project. If your project includes 64-bit files, you can manually add any dependencies to the project as needed.

How the Built-In Scanning Methods Detect Platform-Specific and Platform-Independent .NET Dependencies in Windows Installer–Based Projects

In Basic MSI, DIM, InstallScript MSI, and Merge Module projects, when you use either of the aforementioned built-in methods for detecting .NET dependencies, InstallShield uses a specific order for detection, as indicated in the following table.

Order for Detecting .NET Assembly Dependencies

Type of File Being Scanned

Scan Results on 32-Bit Windows Systems

Scan Results on 64-Bit Windows Systems

Platform-independent .NET assembly in the GAC

InstallShield uses the following order when scanning for dependencies:

1. 32-bit-specific .NET dependencies
2. Platform-independent .NET dependencies

InstallShield uses the following order when scanning for dependencies:

1. 64-bit-specific .NET dependencies
2. Platform-independent .NET dependencies

64-bit .NET assembly in the GAC

InstallShield does not detect any dependencies.

InstallShield uses the following order when scanning for dependencies:

1. 64-bit-specific .NET dependencies
2. Platform-independent .NET dependencies

32-bit .NET assembly in the GAC

InstallShield uses the following order when scanning for dependencies:

1. 32-bit-specific .NET dependencies
2. Platform-independent .NET dependencies

InstallShield uses the following order when scanning for dependencies:

1. 32-bit-specific .NET dependencies
2. Platform-independent .NET dependencies

If a .NET assembly is not in the GAC, InstallShield checks the same folder that contains the assembly when scanning for dependencies, and then it checks any subfolders.

See Also