我們?cè)谥谱靼惭b包時(shí),有些情況下會(huì)涉及第三方安裝的集成,這里將討論如何調(diào)用安裝第三方包,以及需要注意的事項(xiàng)。
第三方安裝包的介質(zhì)類型有很多,主要有:?jiǎn)为?dú)的一個(gè)Setup.exe,單獨(dú)的一個(gè)msi包,或者是類似光盤結(jié)構(gòu)的一組文件及文件夾的安裝包。
首先,如何在InstallShield中添加第三方安裝包:
如果是單獨(dú)的Setup.exe或單獨(dú)的msi包,可以將他們添加到【Behavior and logic】 -> 【Support Files】 -> 【Language Independent】中。
如果是一組文件以及文件夾的安裝包,可以將他們添加到【Behavior and logic】 -> 【Support Files】 -> 【Advanced Files】-> 【Disk1】中。
其次,第三方安裝包在InstallShield中的路徑如何獲取:
如果是單獨(dú)的Setup.exe或單獨(dú)的msi包, 可以通過(guò)SUPPORTDIR獲取,然后組合出第三方安裝包的執(zhí)行路徑。(注意:InstallScript工程中,SUPPORTDIR是一個(gè)系統(tǒng)變量,可以直接利用;而在MSI工程中,SUPPORTDIR是一個(gè)Property,所以需要通過(guò)MsiGetProperty讀取)
如果是一組文件以及文件夾的安裝包,可以通過(guò)SETUPEXEDIR方安裝包的執(zhí)行路徑。(注意:這里SETUPEXEDIR的讀取方式同SUPPORTDIR)。
最后,調(diào)用方法:
如果是.exe文件,可以通過(guò)LaunchAppAndWait直接調(diào)用。
如果是.msi文件,可以通過(guò)LaunchAppAndWait直接調(diào)用Windows Installer安裝引擎,然后以參數(shù)的形式給入.msi路徑。
上述方式,只適用于主安裝包是.exe的情況,如果是將主安裝包做成單獨(dú)的.msi包,其中SETUPEXEDIR將無(wú)效。
另外,SETUPEXEDIR是InstallShield 8或9之后才有的一個(gè)系統(tǒng)變量,所以大家只用之前,可以通過(guò)幫助文檔確認(rèn)該變量的使用限制。