How to register DLL in the GAC?
I am trying to install a C# WPF with a WindowsFormsHost which loads ESRI's ArcEngine.
The MSI ins开发者_如何转开发taller gives this error:
Unable to install. The app requires assembly ESRI.ArcGIS.Framework Version
10.0.0.0 to be installed in the GAC first
I already installed the ESRI ArcEngine Runtime 10 which is supposed to handle this sort of thing, but I guess it's not perfect.
On the target machine the file framework.dll is in the folder: C:\Program Files\ArcGIS\DeveloperKit10.0\DotNet
, but it's not in c:\windows\assembly
.
I right clicked on the assembly then clicked register to register but that didn't fix my problem.
Here are two methods.
Using the utility gacutil -i
gactutil -i c:\foldername\assemblyname.dll
The second method is you can drag the
.dll
file from the bin folder of the assembly and drop it into the folderC:\%systemroot%\Assembly
I haven't looked at ArcGIS 10 yet but I know previous versions of ArcGIS behaved that if you installed ArcGIS before you installed .NET it wouldn't install the feature that installed the DLL's to the GAC.
If you have the SDK installed, you can use the gacutil command:
path "%WinDir%\Microsoft.NET\Framework\v1.1.4322";%Path%
gacutil /i "%ProgramFiles%\ArcGIS\DeveloperKit10.0\DotNet\framework.dll"
Note that you have to be an Administrator to alter the Global Assembly Cache.
精彩评论