2016-06-01 2 views
-1

Я зарегистрировал сборку .NET с помощью regasm.exe. Все в порядке, но у меня одна проблема. Когда я запускаю регистрацию у пользователя Admin, сборщик доступен только для этого пользователя. Регистрация:Регистрация .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=vs.110%29.aspx – Roshan

ответ

0

Как упомянуто в @ FrédéricHamidi, вам необходимо использовать gacutil для .net-сборок. В качестве альтернативы вы можете сделать это в коде (требуется повышение, а также может быть использован для обновления библиотек DLL):

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

Если у вас есть DLL Managed COM, убедитесь, что вы используете правильную версию (64 или 32 бит) regasm.exe (в этом случае, этот вопрос может быть дубликатом that question)

Если у вас есть DLL Unmanaged COM, используйте regsvr32

+0

Вопрос, похоже, связан с регистрацией COM DLL, не обязательно сборкой .NET. Вы также не должны использовать GacUtil (или его API) на клиентских компьютерах; это инструмент разработки. – CodeCaster

+0

@CodeCaster Тогда вопрос И теги оба неправильны ... –

+0

Это не был бы первый вопрос, где бы это было так. ОП явно ошибочно, и этот ответ не поможет им, я боюсь. – CodeCaster

Смежные вопросы