0
有誰能告訴我爲什麼這不起作用嗎? 我有兩個註冊表檢查,以檢查是否的Visual C++可再分發安裝:在條件下運行自定義操作問題
<Property Id="REGDBKEYEXISTX64">
<RegistrySearch Id="REGDBKEYEXISTX64" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\{837b34e3-7c30-493c-8f6a-2b0f04e2912c}" Name="Version" Type="raw" Win64="yes" />
</Property>
<!--Checking if Microsoft Visual C++ Redistributables are installed on a 32-bit system-->
<Property Id="REGDBKEYEXIST">
<RegistrySearch Id="REGDBKEYEXIST" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\{837b34e3-7c30-493c-8f6a-2b0f04e2912c}" Name="Version" Type="raw" Win64="no" />
</Property>
我然後運行一個自定義操作,如果他們不安裝:
<Custom Action="InstallRedistributables" After="GetVariantName">Installed OR REGDBKEYEXISTX64 OR REGDBKEYEXIST</Custom>
安裝了可再發行然而,當它仍然運行這是我不想要的自定義操作。我知道它檢測到它,因爲這是我的日誌文件:
Property: REGDBKEYEXIST, Signature: REGDBKEYEXIST
MSI (c) (4C:44) [12:19:04:989]: PROPERTY CHANGE: Adding REGDBKEYEXIST property. Its value is '#134276921'.
那麼會有什麼問題呢?我已經完成了另一個自定義操作,它完美的工作,所以我真的不知道解決方案。
謝謝你的工作.. :)你能解釋爲什麼它被扭轉?我做錯什麼了嗎?謝謝 –
更好的問題是這個自定義操作計劃在哪裏,爲什麼他使用自定義操作來安裝redist?維克斯已燒傷處理先決條件。 –
@ChristopherPainter我有它使用刻錄工作,但不熱衷於它顯示的對話框,寧願它只顯示我的MSI用戶界面,但它仍然顯示刻錄一個,這就是爲什麼我決定不使用刻錄,雖然刻錄很容易。 :) –