为什么我不能在这些组件中设置Guid? /我有什么办法来实现我的目标?

时间:2018-02-19 13:31:28

标签: xml wix installer guid

因此我需要将每台计算机的安装程序修改为每用户安装程序(LocalAppDataPath)。

现在我的Component Guis遇到了一些不好的麻烦。我的代码是这样的:

<Component Guid="">
    <RegistryKey Root="HKCU" Key="Software\CompanyName\$(var.Name)">
      <RegistryValue Name="$(var.Name).exe" Value="1" KeyPath="yes" Type="integer" />
    </RegistryKey>

    <File Source="$(var.SolutionDir)ControlBoard\bin\$(var.Configuration)\File1.dll" />       
  </Component>

  <Component Guid="">    
    <RegistryKey Root="HKCU" Key="Software\CompanyName\$(var.Name)">
      <RegistryValue Name="$(var.Name).exe" Value="1" KeyPath="yes" Type="integer" />
    </RegistryKey>

    <File Source="$(var.SolutionDir)ControlBoard\bin\$(var.Configuration)\File2.dll" />
  </Component>

错误是:重复符号'组件:reg734DBF ...'找到。这通常意味着Id是重复的。 我理解这个错误,但我现在该怎么办?将Guid设置为'*'也不起作用。

这可能是一个愚蠢的问题,因为我喜欢零知识。

感谢您的回复!

1 个答案:

答案 0 :(得分:0)

自动guid生成基于路径,在这种情况下是注册表位置,并且这两个组件具有相同的根。所以你得到了重复的指南。

为什么有两个相同的keypath组件?这是问题的根本原因。你想在那里解决什么问题?