Consider the following command
gacutil /i Microsoft.Powershell.ConsoleHost.dll
This will install the assembly to
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.PowerShell.ConsoleHost
Now, consider a different computer without gacutil
. You can install
this update and the same
assembly will be installed to the same place. How is this update installing to
the Global Assembly Cache without gacutil
?
Any assembly should (and in this specific case most likely will) be installed using an installer.
From MSDN: How to: Install an Assembly into the Global Assembly Cache:
From MSDN: Installation of Assemblies to the Global Assembly Cache:
From MSDN: DOC: Global Assembly Cache (GAC) APIs Are Not Documented in the .NET Framework Software Development Kit (SDK) Documentation (via SO: Drag and drop a DLL to the GAC (“assembly”) in windows server 2008 .net 4.0):
The actual installation seems to take place through
IAssemblyCache::InstallAssembly()
.