2011-09-06 83 views
2

我有一個MSI包,它在第一次安裝時會將SQL腳本安裝到SQL Server上。這可以很好地使用Installshield中的SQL腳本功能。Installshield 2009,防止在MSI修復期間重新安裝功能

修復MSI期間,SQL腳本將重新運行。我想防止發生這種情況,我只希望腳本只在安裝時運行。

我已經嘗試了很多事情要做到這一點:

  • 條件的功能 - 無法
  • 條件對組件 - 無法
  • 修改在年底的局部特徵選擇的註冊表項安裝 - 失敗

如何防止功能/組件(鏈接到SQL腳本)在修復時運行?

由於

回答

1

儘管SQL腳本InstallShield中被關聯到一個部件(因此一個特性)的條件是在腳本本身。看一下腳本的運行時標籤頁,你會看到底部的「腳本條件」。這存儲在Condition列的ISSQLScriptFile表中。

順便說一句,您可能需要考慮,而不是試圖強制腳本在修復過程中不運行,以便在修復過程中優雅地執行腳本。換句話說,如果腳本的目的是創建一個表格,如果該表格已經存在,請不要做任何事情。通過這種方式,如果表格不存在,修復將工作,表格將被重新創建。具體情況取決於相關腳本的性質。

相關問題