Wix set程序作为管理器运行
我已经将程序设置为windows启动运行,但是该程序只能在windows 10中以管理员身份运行时才能工作,有人能告诉我应该在代码中添加什么来设置它吗?这是我的Wix代码: 在产品模块中有Wix set程序作为管理器运行,wix,administrator,Wix,Administrator,我已经将程序设置为windows启动运行,但是该程序只能在windows 10中以管理员身份运行时才能工作,有人能告诉我应该在代码中添加什么来设置它吗?这是我的Wix代码: 在产品模块中有 <ComponentRef Id="RegistryEntries"/> 然后 <Fragment> <DirectoryRef Id="ProgramFilesFolder"> <Component Id="RegistryEntries"
<ComponentRef Id="RegistryEntries"/>
然后
<Fragment>
<DirectoryRef Id="ProgramFilesFolder">
<Component Id="RegistryEntries" Guid="14fe9526-0da4-4761-ad27-8a77f145c6b5">
<RegistryKey Root="HKCU"
Key="Software\Microsoft\Windows\CurrentVersion\Run"
Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Name="March Networks Video Assistant" Value="[INSTALLFOLDER]March Networks Video Assistant.exe" KeyPath="yes"/>
</RegistryKey>
</Component>
</DirectoryRef>
</Fragment>
非常感谢大家。问题是您将此注册表项放在HKCU中,该注册表项将在启动时在当前用户的上下文中运行 如果您希望在启动时以管理员身份运行,则需要进入HKLM 请尝试以下操作:
<Fragment>
<DirectoryRef Id="ProgramFilesFolder">
<Component Id="RegistryEntries" Guid="14fe9526-0da4-4761-ad27-8a77f145c6b5">
<RegistryKey Root="HKLM"
Key="Software\Microsoft\Windows\CurrentVersion\Run"
Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Name="March Networks Video Assistant" Value=""[INSTALLFOLDER]March Networks Video Assistant.exe"" KeyPath="yes"/>
</RegistryKey>
</Component>
</DirectoryRef>
</Fragment>
所以请注意,我将HKCU更改为HKLM(这可能会在编译期间导致ICE警告,但您可以安全地忽略它们)。如果您使用的是按用户安装,我不知道这是否能够写入注册表项,除非安装以管理员身份运行。。。此外,我还将“
放在RegistryValue的值周围,因为由于空格的缘故,将完整路径用引号括起来总是很好的
您可以做的另一件好事是使用组件的安装路径更新RegistryValue的值,该路径可以使用以下语法引用:
[#i办公室]
因此,如果定义“March Networks Video Assistant.exe”的组件使用Id=“MarchNetworksVideoAssistant.exe”,则可以将注册表值更新为
value=“[#MarchNetworksVideoAssistant.exe]”
您可以很好地解释这个语法
如果找到格式为[#filekey]的子字符串,则该子字符串将替换为文件的完整路径,值filekey用作文件表中的键。[#filekey]的值保持为空,并且在安装程序运行CostInitialize操作、FileCost操作和CostFinalize操作之前不会替换为路径。[#filekey]的值取决于文件所属组件的安装状态。如果组件是从源运行的,则该值为文件源位置的路径。如果组件是在本地运行的,则该值为安装后文件目标位置的路径。如果组件的操作状态为“缺席”,则安装组件的ed状态用于确定[#filekey]值。如果组件的安装状态也不存在或为空,[#filekey]解析为空字符串,否则解析为基于组件安装状态的值。有关检查组件安装状态的详细信息,请参阅检查功能、组件和文件的安装
非常感谢你,布莱恩,这真的很有帮助!