2014-03-07 64 views
2

我正在開發一個InstallShield InstallScript項目(而不是MSI),目前正在研究setup.exe程序的「updatemode」行爲。如何忽略InstallScript項目中updatemode中的某些功能?

我想知道是否可以忽略某個特定功能的更新並仍然更新其他功能。

問題是程序需要確定在執行過程中是否更新功能,這意味着功能必須嵌入到更新程序中。

我已經嘗試使用InstallScript函數FeatureSetItem,但是當我將我的功能設置爲false時,功能不會被忽略,但會被我的更新程序卸載。

任何想法都會有所幫助。

回答

0

不確定你不想更新的原因或原因,但如果它只是文件,然後將功能組件設置爲「按日期覆蓋」或「按版本覆蓋」。

+0

我已經考慮過這個問題,但問題是組件中有很多腳本文件,對此日期不是可靠的標準... – Gruntzy

+0

@gruntzy:請解釋爲什麼日期不會是一個可靠的標準在你的情況。 – J0e3gan

+0

好吧,假設我們的組件包含一個「FileA.txt」,由Installshield在日期Date1上安裝。然後,在Date2上,會生成另一個setup.exe,但出於某種原因(發生這種情況),該安裝程序目前尚未安裝。現在,在Date3上,在我們使用新的setup.exe之前,在目標機器上修改了「FileA」......我猜那個installshield不會替換那個文件,即使我們應該... – Gruntzy

0

在InstallShield中,轉到「發佈」。創建一個新的「發佈」,然後通過發佈嚮導。
發佈嚮導中的一個窗口允許您選中/取消選中該版本的功能。只需取消選中不想更新的功能即可。這樣,當您構建特定發行版配置時,這些功能將不會包含在內。如果使用原始版本配置進行構建,它們仍將包含在內。