2016-06-01 6 views
-1

regasm.exe를 사용하여 .NET 어셈블리를 등록했습니다. 모든 것은 괜찮지 만 한 가지 문제가 있습니다. 관리 사용자 어셈블리에서 등록을 실행하면이 사용자 만 볼 수 있습니다. 등록 :모든 사용자를위한 .net 어셈블리 등록

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

그래서 모든 사용자에게 어셈블리를 등록하려면 어떻게해야합니까?

+5

'regasm'은 GAC와는 아무 상관이있다. 어셈블리에 의해 노출 된 COM 인터페이스 만 등록합니다. 당신은 아마도'gacutil'을 찾고있을 것입니다. –

+0

@ FrédéricHamidi 그건 내 잘못이야, 아마 regasm.exe 뜻. – Gleb

+0

네, @Frederic Hamidi와 동의하십시오, https://msdn.microsoft.com/en-us/library/ex0ss12c%28v=1.0%29.aspx – Roshan

답변

0

@ FrédéricHamidi가 언급했듯이 .net 어셈블리에는 gacutil을 사용해야합니다. 또는 당신이 코드에서이 작업을 수행 할 수 있습니다 (고도를 필요로하며, 또한 DLL을 업데이트 할 수 있습니다) : 당신이 Managed COM DLL이있는 경우

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

, 당신은 regasm.exe의 올바른 버전 (64 또는 32 비트)를 사용하고 있는지 확인 은 당신이 Unmanaged COM DLL이있는 경우,

(이 경우,이 질문은 that question의 중복 수 있습니다)를 사용 regsvr32

+0

COM DLL을 등록하는 것이 아니라 .NET 어셈블리가 아닌 것 같습니다. 또한 클라이언트 컴퓨터에서 GacUtil (또는 API)을 사용해서는 안됩니다. 그것은 개발 도구입니다. – CodeCaster

+0

@CodeCaster 그런 다음 질문과 태그가 모두 잘못되었습니다 ... –

+0

그게 첫 번째 질문이 될 수는 없습니다. OP는 분명히 잘못된 것입니다.이 대답은 내가 두려워하는 사람들을 도울 방법이 아닙니다. – CodeCaster

관련 문제