2010-02-26 44 views
0

我有一個Installshield Basic MSI項目。此項目使用Installshield的引導程序安裝多個安裝先決條件。所有東西都捆綁在一個exe文件(Setup.exe)中進行壓縮。我有一個先決條件需要知道要執行的文件的完整路徑。有沒有可用的財產來找到這條路?提取的installshield文件的位置setup.exe

或另一種解決方案。我們正在使用Installshield 2008,目前升級的機會不多。我需要安裝依賴Windows Installer 4.5的SQL Server 2008。 Installshield 2008不支持WinInstaller 4.5,所以我爲它創建了WinXp和Vista的先決條件。我有WinXP正常工作。

但是,Windows Vista,Windows Installer 4.5的可再發行組件是.msu文件,需要通過wsua.exe執行。我創建了一個小應用程序,它只接受命令行參數並使用params啓動wusa.exe來安裝Windows Installer可再發行組件。但是,wusa.exe需要可再發行的完整路徑。有沒有辦法找到setup.exe提取文件的路徑?

還是有辦法的Windows安裝程序4.5添加支持到2008年的Installshield,懷疑這一點,但它是最簡單的

回答

2

爲了您與IS2008另一種方法,你應該能夠做到這一點在你的助手EXE 。假設你使用的是C++,你可以調用GetModuleFileName()來查找正在運行的exe文件的位置(其他語言應該在某處顯示類似的功能)。由於所有先決條件的文件都將被提取到同一個文件夾,因此您可以使用它來找出.msu文件的完整路徑。

升級會讓您直接支持(以及包括prerequisites for Windows Installer 4.5)作爲IS2009和更高版本的先決條件shell執行其目標,本機支持.msu文件。 IS2009和更高版本也支持可用於查找先決條件文件的先決條件命令行屬性;請參閱InstallShield 2009 Release Notes並搜索ISPREREQDIR。

+0

謝謝!看起來升級對我來說是最好的解決方案,管理層自此決定購買升級。 – Web