it-swarm.com.de

Wie installiere ich Dateien in der Assembly in Windows Server 2008?

Normalerweise habe ich die Dateien per Drag & Drop in den GAC-Ordner gezogen.
Dies funktioniert unter Windows 2000 und 2003. Wenn ich dies jedoch unter Windows Server 2008 versuche, wird mir der Zugriff verweigert.

Der Benutzer, der dies tut, ist ein lokaler Administrator.

Der einzige Hinweis, den ich finden kann, ist: Forum Link

Gibt es einen anderen Weg, um dies zu erreichen?

Hinweis: Ich habe versucht, den Explorer als Administrator auszuführen, erhalte jedoch den gleichen Fehler.

Bearbeiten: Im Idealfall sollte die Benutzerkontensteuerung nicht deaktiviert oder ein Software Development Kit installiert werden. (So ​​kann es auf Produktionsserver angewendet werden).

Edit: Hat jemand noch Gedanken dazu? Momentan habe ich UAC in dev deaktiviert, was jedoch in Live nicht akzeptabel ist.

16
Bravax

Dies ist ein Problem mit der Benutzerkontensteuerung in Server 2008. Einige Benutzer haben empfohlen, die Benutzerkontensteuerung zu beenden. Ich würde dies auf einem Produktionsserver nicht empfehlen. Die Antwort ist gacutil zu verwenden.

Sie müssen nicht das SDK installieren, um dies auf einem Produktionsserver auszuführen. Die exe und ihre Konfigurationsdatei können von einem Entwicklungscomputer bereitgestellt (und nach der Verwendung entfernt werden, falls gewünscht) werden.

Fügen Sie gacutil.exe und gacutil.exe.config in den Ordner WINDOWS\Microsoft.NET\Framework\ein, der für die Version des verwendeten Frameworks spezifisch ist.

Starten Sie dann eine neue Instanz der Befehlszeile mit "Als Administrator ausführen".

Navigieren Sie zum Ordner C:\WINDOWS\Microsoft.NET\Framework ...., in dem Sie gacutil bereitgestellt haben

Führen Sie dann Folgendes aus: gacutil.exe/i

Hoffentlich sollte dies Ihr Problem beheben (es hat bei mir funktioniert).

Viel Glück.

21
ahin4114

Gehen Sie zur Eingabeaufforderung von Visual Studio oder .NET und geben Sie den folgenden Befehl ein:

 gacutil -if "fullpathhere.dll" 

erforsche gacutil command mehr. -IF bedeutet, dass die Installation erzwungen wird. Es gibt auch andere Optionen.

Wenn kein Visual Studio oder .NET Framework SDK installiert ist, ist die .NET-Eingabeaufforderung nicht verfügbar. In diesem Fall müssen Sie die Benutzerkontensteuerung in der Systemsteuerung ausschalten, um eine Assembly in den Assembly-Ordner zu ziehen.

4
Aamir

Der von Paulo Oliveira erklärte Trick funktioniert aber nicht unter allen Umständen. Unter Windows Server 2008 R2 habe ich bereits die folgende Taktik bereitgestellt:

(stellen Sie sicher, dass Sie mit einem Konto angemeldet sind, das über Administratorrechte auf dem Server verfügt

  • open Lokale Sicherheitsrichtlinie (Start-Schaltfläche, geben Sie "local" ein ...)
  • navigieren Sie zu Sicherheitseinstellungen> Lokale Richtlinien> Sicherheitsoptionen
  • suchen Sie die Richtlinie mit dem Namen Benutzerkontensteuerung: Führen Sie alle Administratoren im Administratorgenehmigungsmodus aus.

Sie werden wahrscheinlich feststellen, dass diese Richtlinie aktiviert ist. Deaktivieren Sie es, starten Sie den Server neu und Sie sollten nun in der Lage sein, die normale Drag & Drop-Methode zu verwenden.

Vergessen Sie nicht, diese Einstellung erneut zu aktivieren, wenn Sie fertig sind.

(ref: http://blogs.msdn.com/b/mossbiz/archive/2010/06/10/add-an-Assembly-to-the-global-Assembly-cache-on-windows- server-2008-r2.aspx )

3

Führen Sie eine Eingabeaufforderung mit "Als Administrator ausführen" aus. Führen Sie den Befehl "Explorer C:\windows\Assembly" aus. Dieses Fenster akzeptiert das Löschen von DLLs aus einem anderen Explorer, der mit der Berechtigung "Als Administrator ausführen" ausgeführt wird.

Ich hoffe es hilft

2
Paulo Oliveira

Wenn Sie die lokale Sicherheitsrichtlinie auf dem Win2008-Server (oder Win7) ändern, können Sie die alte Drag & Drop-Methode verwenden:

http://blogs.msdn.com/b/mossbiz/archive/2010/06/10/add-an-Assembly-to-the-global-Assembly-cache-on-windows-server-2008-r2. aspx

1
ermurri

Ich habe es noch nie in Windows Server 2008 versucht, aber haben Sie es in der Systemsteuerung/Verwaltung/.NET Framework 2.0-Konfiguration versucht?

0

Wenn es sich um eine 3.5-DLL oder älter handelt, ziehen Sie sie in das Verzeichnis start/run/Assembly. Wenn es sich um eine 4.0-DLL oder eine neuere handelt, sollten Sie gacutil ausführen und dann in Windows/Microsoft.net/Assembly nachsehen. Für Produkte schreiben Sie einfach eine Batch-Datei und kopieren Sie die gacutil-App zum Einrichten. Keine Notwendigkeit, VS in prod zu installieren.

0
Iturea