Как я могу regsvr32 мои элементы управления на уровне пользователя (HKEY_CURRENT_USER)?

4930
Siddiqui

Я хочу зарегистрировать свои элементы управления на уровне пользователя, пожалуйста, сообщите мне, как я могу добиться этого с помощью regsvr32.

Если это невозможно с regsvr32, пожалуйста, сообщите какой-либо альтернативный способ добиться этого.

4
`regsvr32` не контролирует процесс регистрации. Он [только вызывает `DllRegisterServer`] (http://blogs.msdn.com/b/oldnewthing/archive/2011/11/10/10235540.aspx) данной библиотеки, и сама библиотека выполняет регистрацию. grawity 12 лет назад 0
@ Grawity, спасибо за ваш ответ, но как я могу зарегистрировать свою DLL только для текущего пользователя, чтобы другой пользователь не мог использовать это. Siddiqui 12 лет назад 0

2 ответа на вопрос

5
sune

Как это:

regsvr32 /n /i:user name.dll 
Не хочешь объяснить, что это делает или как работает @Sune? Ivo Flipse 12 лет назад 4
он регистрирует dll для текущего пользователя ?! sune 12 лет назад 0
Я скорее имел в виду, что было бы полезно, если бы вы объяснили синтаксис, что означает каждая часть, чтобы другие знали, какие варианты им могут понадобиться Ivo Flipse 12 лет назад 3
Это работает только в том случае, если указанная DLL принимает аргумент (конкретно с именем `user`). Это не универсальное решение (особенно потому, что немногие библиотеки DLL принимают аргументы для `DllInstall` вообще, не говоря уже о том, что это). Это может работать для OP, но это зависит от их DLL, и даже в этом случае может потребоваться другой аргумент. Synetech 11 лет назад 4
3
Uwe Keim

В Code Project есть инструмент RegSvrEx , который, кажется, позволяет вам именно то, что вы хотите.

Синтаксис:

RegSvrEx [/u] [/c] servername 

С

/u - Unregister server /c - Register or unregister (if /u is also specified) only for the current user servername - Full path of the server .exe or .dll 

См. Комментарии на странице статьи о том, как изменить код для использования с Windows Vista и выше.