2016-06-01 11 views
-1

Ich habe eine .NET Assembly mit regasm.exe registriert. Alles ist gut, aber ich habe ein Problem. Wenn ich die Registrierung vom Admin-Benutzer aus führe, ist die Assembly nur für diesen Benutzer sichtbar. Anmeldung:Registrieren Sie. NET Assembly für alle Benutzer

regasm.exe "C:\Assembly Path\MyAsm.dll" /codebase 

Also, wie kann ich Baugruppe für alle Benutzer registrieren?

+5

'regasm' hat nichts mit dem GAC zu tun. Es registriert nur die COM-Schnittstellen, die von Ihrer Assembly offengelegt werden, nicht mehr. Du suchst wahrscheinlich nach 'gacutil'. –

+0

@ FrédéricHamidi, das ist meine Schuld, ich meine wahrscheinlich regasm.exe. – Gleb

+0

Ja, stimme dem @ Frederic Hamidi zu, lesen Sie dieses, https://msdn.microsoft.com/en-us/library/ex0ss12c%28v=vs.110%29.aspx – Roshan

Antwort

0

Wie @ FrédéricHamidi erwähnt, müssen Sie gacutil für .net-Baugruppen verwenden. Alternativ können Sie dies im Code tun (erfordert Erhebung und kann auch aktualisieren DLLs verwendet werden):

var publish = new System.EnterpriseServices.Internal.Publish(); 
publish.GacInstall("fullPathToDll"); 

Wenn Sie eine Managed COM dll haben, stellen Sie sicher, dass Sie die richtige Version (64 oder 32 Bit) verwenden von regasm.exe

(in diesem Fall diese Frage könnte ein Duplikat that question sein) Wenn Sie eine Unmanaged COM dll haben, verwenden regsvr32

+0

Die Frage scheint über das Registrieren einer COM-DLL zu sein, nicht unbedingt eine .NET-Assembly. Sie sollten auch nicht GacUtil (noch seine API) auf Client-Rechnern verwenden; Es ist ein Entwicklungswerkzeug. – CodeCaster

+0

@CodeCaster Dann die Frage UND die Tags sind beide falsch ... –

+0

Das wäre nicht die erste Frage, wo das der Fall sein würde. Das OP ist eindeutig fehlgeleitet, und diese Antwort wird ihnen nicht helfen, fürchte ich. – CodeCaster

Verwandte Themen