我创建了一台'每台机器'使用HKLM注册表添加插件的安装程序 我在32位机器上安装了加载项。安装它的用户具有管理员权限。
注册表项添加在HKLM\SOFTWARE\Sparx Systems\EAAddins\MyAddin
下 - 适用于所有用户,但该插件仅适用于用户如何安装“每台计算机”安装程序。
对于所有其他用户,该程序不可用。
有什么想法吗?
编辑:
这是安装程序中的包定义:
<Package Description="#Description"
Comments="Comments"
InstallerVersion="200"
Compressed="yes"/>
这是注册表定义:
<Component Id="AdminAddinsRegEntries" Guid="A8B685BF-E4B3-4D8B-A8B1-BAB845812233">
<RegistryKey Root="HKLM" Key="Software\Sparx Systems\EAAddins\AdminAddins" Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Value="AdminAddins.MyClass" />
</RegistryKey>
</Component>
答案 0 :(得分:0)
首先,将以下属性添加到包元素中:
<Package InstallScope="perMachine" InstallPrivileges="elevated" ... />
<强> perMachine 强>
设置此值以声明程序包是每台计算机的安装,并且需要提升的权限才能安装。将ALLUSERS属性设置为1 的升高的强>
设置此值以声明程序包需要提升的安装权限。 Source
其次,您可以将Root
的{{1}}值更改为RegistryKey
:
HKMU
因此,注册表项将放置在当前用户或本地计算机配置单元中,具体取决于安装类型。或者,您可以按原样保留,如果您仅将其用于每台机器安装。