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

Where is [GlobalAssemblyCache]?

I have a project which works fine. It includes a .dll which is installed via the predefined folder [GlobalAssemblyCache]

One user reports a fail to install as the install fails to write to the GAC on his machine. In an attempt to diagnose I searched InstallShield to see if I could see what [GlobalAssemblyCache] translates to as a disc location. But it does not appear in the Path variables tab, and the value is greyed out if you right click to see the list of Predefined Folders.

Does the value of [GlobalAssembyCache] get fixed by the version of .NET Framework on the build machine, or is InstallShield clever (??) enough to work it out at run-time on the client machine?

At .NET Framework up to 3.5 the GAC is at C:\Windows\Assemblies after 4.0 it is at C:\Windows\Microsoft.NET\Assemblies
Labels (1)
0 Kudos
(1) Reply
Cary_R
Level 11

cornerg wrote:
I have a project which works fine. It includes a .dll which is installed via the predefined folder [GlobalAssemblyCache]

One user reports a fail to install as the install fails to write to the GAC on his machine. In an attempt to diagnose I searched InstallShield to see if I could see what [GlobalAssemblyCache] translates to as a disc location. But it does not appear in the Path variables tab, and the value is greyed out if you right click to see the list of Predefined Folders.

Does the value of [GlobalAssembyCache] get fixed by the version of .NET Framework on the build machine, or is InstallShield clever (??) enough to work it out at run-time on the client machine?

At .NET Framework up to 3.5 the GAC is at C:\Windows\Assemblies after 4.0 it is at C:\Windows\Microsoft.NET\Assemblies


GlobalAssemblyCache is used as a build-time flag to let InstallShield know how to populate the MsiAssembly and MsiAssemblyName tables.

You will need to have the component set to, ".Net Scan at build", and at least Properties for this to work. If it's not set at the component level, these GAC targeted assemblies will end up on the root of the drive with the most writable free space.
0 Kudos