2016-09-27 50 views
0

考慮下面的沒有默認值...維克斯 - 如何分辨註冊表項與沒有註冊表項

<Property Id="TESTSEARCH"> 
    <RegistrySearch Id="LookingForKeyExists" 
        Root="HKLM" 
        Key="Software\Classes\.ext" 
        Type="raw" /> 
</Property> 

...我能得到的三個條件之一。

  1. 的關鍵是不存在
  2. 的關鍵是存在的,但沒有設置
  3. 的關鍵是存在並且具有值

我希望能夠告訴之間的區別以下條件。

<Condition Message="The extension .ext is missing"> 
    ??? 
</Condition> 
<Condition Message="The extension .ext has no default value"> 
    ??? 
</Condition> 

但是我所能找到/找出的是兩者的OR。

<Condition Message="The extension .ext is either missing or does not have a default value"> 
    TESTSEARCH 
</Condition> 

在不寫擴展名的情況下,可以區分兩個單獨的條件嗎?如果是這樣,怎麼樣?

回答

1

我不認爲這是可能的,它看起來像Windows安裝程序的限制,而不是WiX工具集。 This original article on MSDN規定,明確:

請注意,這是不可能使用RegLocator表只 檢查爲重點的存在。但是,您可以搜索密鑰的默認值 ,並在其值不爲空時檢索其值。