2012-01-10 65 views
4

我的要求很严重。 我需要在安装设置时在注册表中编写产品ID。 我有下面的产品ID代码。如何在wix中写入注册表中的产品ID

<Product Id="{CEEE7807-F6D7-43F6-A206-110B9E25AC9C}" 
     Name="Sample installer" 
     UpgradeCode="{BFBD4770-8C5D-4A53-BA07-EF52401F0CB4}" 
     Language="1033" 
     Version="$(var.ProductVersion)" 
     Manufacturer="My company."> 

我有下面的代码写入注册表。我想在这里传递产品ID值。

<Component Id="registry_values" Guid="{11FB6C4C-3C90-4F46-B0D2-BB95150F60E6}"> 
    <RegistryValue 
     KeyPath="yes" 
     Root="HKCU" 
     Key="Software\MyProduct\Myfolder\SampleFolder\Product" 
     Value="[Product Id]" 
     Type="string" /> 
</Component> 

请帮我解决这个问题。

+0

您应该将Product Id设置为'*',以便它对于每个生成的安装程序都不同。如果您希望使用'.msp'文件(即“次要更新”)支持修补方案,则只需要一个固定的产品ID。 – 2012-01-11 12:18:15

回答

10

有点混淆,WIX Product元素的Id属性映射到Windows安装程序ProductCode属性。

<Component Id="registry_values" Guid="{11FB6C4C-3C90-4F46-B0D2-BB95150F60E6}"> 
    <RegistryValue 
     KeyPath="yes" 
     Root="HKCU" 
     Key="Software\MyProduct\Myfolder\SampleFolder\Product" 
     Value="[ProductCode]" 
     Type="string" /> 
</Component> 
+0

嗨丹尼尔,谢谢你的答案,它工作正常。 – Vinoth 2012-01-11 10:06:12

+0

@威诺斯,如果是的话,接受答案 - 作者将欣赏这一点;) – 2012-01-11 13:38:47