2017-08-17 39 views
0

我有一个注册表值二传手在我的WiX的应用程序,如下常用安装程序在64位和32位系统中设置注册表值?

<Component Id="EngageAssistanceAutostart" Guid="f9e92a81-506d-4fe9-836b-564420a98ea1" Win64="yes"> 
    <RegistryValue Id="crimsonwatchdog" Root="HKLM" Action="write" 
      Key="Software\Microsoft\Windows\CurrentVersion\Run" 
      Name="Crimson watch dog" 
      Value="[INSTALLFOLDER]Crimson.Watchdog.exe" 
      Type="string" /> 

你可以看到,编辑Windows注册表中的64位系统,我一直Win64中=“是”

,我也必须设置patform =“x64”

<Package InstallerVersion="200" Platform="x64" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" AdminImage="yes" /> 

如果我没有这样做,我将无法设置注册。在64位系统中的价值。 如果我这样做,这个安装程序不会在32位系统中工作。

是否有任何解决方案可以让我在64位和32位系统中设置注册表值?

回答

1

不需要需要将平台设置为64位以在64位配置单元中创建注册表。 组件将决定将在何处创建此注册表。 就你的情况而言,因为它只是运行键,所以你应该创建一个不是设置为x64的单个组件

什么是微星将做这样的组件。

在x86机器上,将在标准位置创建注册表项。 在x64机器上,注册表项将在Wow6432Node下创建,但对于运行这应该不是问题。

+0

请注意我的问题 –

相关问题