2010-10-28 61 views
1

我想在我的安裝程序中添加一個檢查,以便如果特定的註冊表項不存在,它必須失敗。這大致是我在做什麼:RegistrySearch不能在Wix項目中工作

<Property Id="REGVALUE"> 
    <RegistrySearch Id="regval" Root="HKLM" Key="SOFTWARE\Foo" Type="raw"/> 
</Property> 
<Condition Message="Valid Foo value not present. Found [REGVALUE]"> 
    <![CDATA[REGVALUE = "Bar" OR REMOVE ~= "ALL"]]> 
</Condition> 

我遇到的問題是,這種情況總是失敗。我試着查詢不同的註冊表項,不管我嘗試什麼,我總是得到一個空白值。在安裝日誌中,我看不到任何對註冊表的訪問權限,也沒有任何與註冊表相關的錯誤。所以我有點失落。我錯過了明顯的東西嗎?

回答

1

發現問題。問題是安裝程序ui序列中的操作排序錯誤,導致在運行註冊表查詢之前檢查條件。

+2

請確保您將其修復到執行順序中,否則它可能會在無提示安裝期間失敗,因爲未執行UI順序。 – 2010-10-28 23:11:33

相關問題