我想將一些文件複製到另一產品的安裝樹中的一個目錄中,但僅限於該產品已安裝。所以我想我可以根據註冊表搜索設置屬性來查找產品的安裝根目錄。然後我可以在組件元素的condition元素中使用該屬性。使用WiX,當某個註冊表項不存在時如何跳過組件?
這是我的代碼。出於某種原因,當其他產品未安裝並且註冊表搜索出現空時,我收到錯誤,因爲找不到註冊表項。
<Property Id="PRODUCTPATH">
<RegistrySearch Id="PRODUCTPATH" Root="HKLM" Key="_MY_KEY_" Name="_MY_NAME_" Type="raw" />
</Property>
<SetProperty Id="PRODUCTBINPATH" Value="[PRODUCTPATH]\BIN" After="AppSearch"/>
<Component Id="CommonDLLs" Guid="_MY_GUID_" Directory="INSTALLLOCATION">
<Condition>PRODUCTPATH</Condition>
<RegistryValue Id="_MY_ID_" Root="HKLM" Key="_MY_KEY_2" Name="Installed" Value="1" Type="integer" KeyPath="yes" />
<CopyFile Id="myfile1.dll" FileId="myfile1.dll" DestinationProperty="PRODUCTPATH" DestinationName="myfile1.dll"/>
<CopyFile Id="myfile2.dll" FileId="myfile2.dll" DestinationProperty="PRODUCTPATH" DestinationName="myfile2.dll"/>
</Component>
什麼是你得到的錯誤? – Isaiah4110
嘗試給予'<![CDATA [PRODUCTPATH]]> '而不是' PRODUCTPATH '。 –
RinoTom