2012-01-10 63 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