SUPPORTDIR是由InstallShield生成的安裝程序用來存放臨時文件的地方。大家都知道InstallShield中將待安裝程序的大部分程序文件都壓縮保存起來,在安裝的過程中,首先要解壓到SUPPORTDIR中,然後再開始安裝。這個過程本身稱爲Move Data,在它之前有FirstUIBefore / MaintUIBefore / UpdateUIBefore等事件。
現在我們的問題是,如果在上面這三個事件中,我們需要調用安裝包中的一個程序怎麼辦?這個時候程序文件還沒有被解壓出來,在客戶機上找不到我們需要的程序。
辦法很簡單:在Installer Designer頁上,找Behavior and Logic -> Support Files/BillBoards,在中間一欄中點擊Support Files->Language Independent(或任意一種語言),在右邊一欄中就可以看到SUPPORTDIR初始化的文件列表了,在這裏點擊右鍵選Insert File,把我們需要調用的程序加入到SUPPORTDIR中,這樣,就可以在Move Data之前通過下面的語句訪問這個程序了:
LaunchAndWait(SUPPORTDIR ^ "<program name>.exe", "<parameters>", WAIT);
當然,如果有依賴DLL,也要一起加進來