2015-06-26 31 views
0

我正在使用InstallShield 2014 Pro和C#自動化通過TFS處理構建。我可以將它配置爲setup.exe並通過GUI從setup.exe提取prereq,但是當我通過代碼執行時,它從不設置「InstallShield先決條件位置」。我很好,它是「從Setup.exe提取」或「遵循個人選擇」。它總是默認爲「複製從源媒​​體」,儘管它是一個網絡媒體格式....如何設置「InstallShield先決條件位置」?

這是我爲新創建的發佈設置的設置:

m_Release.Compressed = true; 
m_Release.MediaType = 4; 
m_Release.SetupEXE = true; 
m_Release.MSIEngineLocation = ISWiEngineLocation.eelSetupExe; 
m_Release.MsiEngineVersion = ISWiMSIEngineVersion.eev31; 
m_Release.DotNetVersion = ISWiDotNetVersion.env11; 
m_Release.DotNetFrameworkLocation = ISWiDotNetFrameworkLocation.dnlSetupExe; 
m_Release.WebType = ISWiWebType.ewtOneExe; 
m_Release.DelayMSIEngineReboot = false; 

除非我失去了它,在幫助中沒有這個選項:http://helpnet.installshield.com/installshield21helplib/installshield21helplib.htm

我相信我至少已將其縮小到ISRelease中的ISSetupPrerequisiteLocation(在Direct Editor中)。它應該是1,但默認爲0.如何改變它仍然躲過我。

順便說一句,我有三重檢查,所有的先決條件都設置爲從setup.exe提取。

回答

0

據我所知,你不能通過api設置這個值。

您可以手動編輯xml或binary .ism文件來設置它,但是誰想要解決這個問題。我隨之而來的最簡單的修復方法是始終重新使用已設置字段的版本。我們最初在安裝屏蔽時創建了一個新版本,因此需要設置該字段。由於該文件是受版本控制/標記的,因此返回舊版本沒什麼大不了的。

相關問題