每台机器注册类别
本文关键字:注册 机器 | 更新日期: 2023-09-27 18:11:56
我为dll创建了一个WIX安装程序。
有一个class元素,它在注册表中注册dll的类。
<Class Id="{1AF5E2B9-CC02-368F-A879-1DF3F538D71A}"
Context="InprocServer32"
Description="AdminAddins.MyClass"
ThreadingModel="both"
ForeignServer="mscoree.dll">
<ProgId Id="AdminAddins.MyClass" Description="AdminAddins.MyClass" />
</Class>
<RegistryValue Root="HKLM" Key="SOFTWARE'Classes'CLSID'{1AF5E2B9-CC02-368F-A879-1DF3F538D71A}
'Implemented Categories'{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}"
Value="" Type="string" Action="write" />
然而,它总是注册在HKEY_CURRENT_USER
下。
是否有一种方法可以显式地引用要在HKEY_LOCAL_MACHINE
下注册的类?
如果您没有设置ALLUSERS属性,则默认为每个用户,因此已安装的产品将仅为安装用户工作。如果它是一台单用户机器,那么这很好,如果应用程序工作,那么也许你不需要担心。每个用户安装只为该用户创建COM注册,而不是为可能登录的每个人创建COM注册。
如果您希望应用程序对登录系统的所有潜在用户可用,那么强制ALLUSERS为1,并且每台机器注册将在HKLM中进行,假设安装用户具有在那里创建条目的特权。
http://msdn.microsoft.com/en-us/library/aa367559 (v = vs.85) . aspx