2010-04-21 51 views
4

我想在Installshield中有一個全局字符串,這樣我就可以在多個地方訪問它。這是我第一次運行腳本。這是我有:Installshield中的全局字符串

STRING DIR; 

.... 

DIR="c:\\tempdir"; 

function Completed_Action() 
begin 
    // Here is where I try to access the DIR string. 

它不斷給我錯誤。有什麼辦法讓全局字符串在任何函數之前設置它的值?我還應該補充說這是在主Setup.rul之後調用的子命令腳本。

在此先感謝。

回答

6

如果您正在使用InstallShield 11.5及更早版本,您可以在OnBegin方法中初始化任何變量。

使用InstallShield 12及更高版本,使用MsiSetPropertyMsiGetProperty(hMSI, "MyVariable", szSupportDir, nLen)因爲當一個基本的MSI安裝程序執行的安裝InstallScript自定義操作來設置和獲取全局變量,被稱爲行動之前編譯InstallScript中被加載,並且它的操作後卸載完成。

+0

如果您在安裝過程中有多個腳本,每個腳本都可以有一個onBegin?我嘗試將它們放入初始文件中的onBegin中(我在組件中使用它們),但基本上出現了相同的錯誤。看來他們必須在我需要他們的劇本中? – Corv1nus 2010-04-21 18:25:00

+0

其實它現在在OnBegin中工作。我一定是有錯的。謝謝! – Corv1nus 2010-04-21 18:54:39