2010-12-03 12 views
0

Ich versuche, eine C# -WPF mit einem WindowsFormsHost zu installieren, die ESRI ArcEngine lädt.Wie DLL in der GAC registrieren?

Das MSI-Installer gibt diesen Fehler:

Unable to install. The app requires assembly ESRI.ArcGIS.Framework Version 
10.0.0.0 to be installed in the GAC first 

ich bereits die ESRI ArcEngine Runtime 10 installiert, die diese Art der Sache zu handhaben soll, aber ich denke, es ist nicht perfekt.

Auf dem Zielcomputer befindet sich die Datei framework.dll im Ordner: C:\Program Files\ArcGIS\DeveloperKit10.0\DotNet, aber nicht in c:\windows\assembly.

Ich habe mit der rechten Maustaste auf die Baugruppe geklickt und dann auf Register geklickt, um mich zu registrieren, aber das behob mein Problem nicht.

Antwort

4

Hier sind zwei Methoden.

  1. Mit dem Dienstprogramm gacutil -i

    gactutil -i c:\foldername\assemblyname.dll

  2. Die zweite Methode ist, können Sie die .dll Datei aus dem Ordner bin der Baugruppe ziehen und sie in den Ordner fallen C:\%systemroot%\Assembly

+0

Whoa, ist das alles heutzutage notwendig? Keine Befehlszeile? –

+0

"diese Tage" wurde schlecht gestellt. Das ist, was * benutzt * hat, um zu funktionieren. Nicht mehr für .NET 4.0 GAC. Das könnte auch das Problem des OP erklären. Außerdem ist gacutil.exe ein SDK-Tool, das auf dem Zielcomputer nicht verfügbar ist. –

1

Wenn Sie das SDK installiert haben, können Sie den Befehl gacutil verwenden:

path "%WinDir%\Microsoft.NET\Framework\v1.1.4322";%Path% 
gacutil /i "%ProgramFiles%\ArcGIS\DeveloperKit10.0\DotNet\framework.dll" 

Beachten Sie, dass Sie Administrator sein müssen, um den globalen Assemblycache zu ändern.

2

Ich habe ArcGIS 10 noch nicht angeschaut, aber ich weiß, dass frühere Versionen von ArcGIS so verhielten, dass wenn Sie ArcGIS vor der Installation von .NET installierten, das Feature, das die DLLs auf dem GAC installierte, nicht installiert wurde.