[英]WiX MultiString registry keys
我尝试将兼容性助手的注册表项添加到wix设置中,如下所示:
<File Id="File1.exe" Name="File1.exe" LongName="File1.exe" Source="..\Binaries\File1.exe" DiskId="1" />
<File Id="File2.exe" Name="File2.exe" LongName="File2.exe" Source="..\Binaries\File2.exe" DiskId="1" />
<File Id="File3.exe" Name="File3.exe" LongName="File3.exe" Source="..\Binaries\File3.exe" DiskId="1" />
<Registry Root="HKLM"
Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant"
Name="ExecutablesToExclude"
Type="multiString"
Action="append">
<RegistryValue Action="append" Value="[File1.exe]" />
<RegistryValue Action="append" Value="[File2.exe]" />
<RegistryValue Action="append" Value="[File3.exe]" />
</Registry>
但是在安装时不会生成任何密钥。 我错过了什么还是做错了什么? 我从这个问题和wix文档中获得了我正在做的事情的详细信息。
更新:语法有点不同,我想是因为我指出的问题使用了不同版本的WiX。 我使用的语法是WiX 2唯一接受的语法,并且该wix文件构建良好-只是不会生成新的注册表项。
更新:我误诊了问题; Wow6432bit
正常工作,但是将值放在注册表的Wow6432bit
节点中,因为包含的组件没有属性Win64="yes"
。
据我所知,WiX2中的RegistryValue元素没有属性。 我想知道您的样本如何被编译而不会出错...
无论如何,尝试像这样重写您的Registry元素:
<Registry Root="HKLM"
Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant"
Name="ExecutablesToExclude"
Type="multiString"
Action="append">
<RegistryValue>[File1.exe]</RegistryValue>
<RegistryValue>[File2.exe]</RegistryValue>
<RegistryValue>[File3.exe]</RegistryValue>
</Registry>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.