2014-02-11 48 views
1

我使用WiX的MSMQ擴展來創建與下面的代碼隊列:維克斯MSMQ:product元素包含一個意外的子元素「MSMQ:的MessageQueue」

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:msmq="http://schemas.microsoft.com/wix/MsmqExtension"> 

<Product Id="*" Name="Blah" Language="1033" Version="2.0.0.0" Manufacturer="Blah Inc." UpgradeCode="{7FB782AF-178B-4705-893A-CE9B54EF54C0}"> 
<Package Id ="*" Keywords="Installer" Description="Blah Installer" Manufacturer="Blah Inc." InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" /> 

<MajorUpgrade AllowDowngrades="yes" /> 

<Property Id="HASMSMQ"> 
    <RegistrySearch Id="MSMQIsInstalled" Root="HKLM" Key="System\CurrentControlSet\Services\MSMQ" Name="ImagePath" Type="raw" /> 
</Property> 

<Condition Message="You must run the installer as administrator to install this product.">Privileged</Condition> 
<Condition Message="The MSMQ service must be installed to install this product."><![CDATA[INSTALLED OR HASMSMQ]]></Condition> 

<msmq:MessageQueue Id="Blah1" Label="Blah 1" Transactional="no" PrivLevel="none" PathName=".\Private$\Blah1" /> 
<msmq:MessageQueue Id="Blah2" Label="Blah 2" Transactional="no" PrivLevel="none" PathName=".\Private$\Blah2" /> 

然而,當我執行candle.exe - ext WixMsmqExtension Blah.wxs我得到一個錯誤:「CNDL0005:產品元素包含意外的子元素'msmq:MessageQueue''

我不明白爲什麼,我有參考和命名空間。任何幫助,將不勝感激。先謝謝你。

回答

2

msmq:MessageQueue必須是Component元素的子元素。您的消息隊列將與父組件一起「安裝」。組件的條件也將作爲消息隊列創建的條件。

查看doc reference瞭解更多詳情。

相關問題