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().