Глобальная строка в Installshield - PullRequest
4 голосов
/ 21 апреля 2010

Я пытаюсь создать глобальную строку в Installshield, чтобы я мог получить к ней доступ в нескольких местах. Это мой первый опыт написания сценариев. Вот что у меня есть:

STRING DIR;

....

DIR="c:\\tempdir";

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

Это продолжает давать мне ошибки, хотя. Есть ли способ иметь глобальную строку и установить ее значение перед любой функцией? Я также должен добавить, что это в скрипте sub rul, который вызывается после основного Setup.rul.

Заранее спасибо.

1 Ответ

6 голосов
/ 21 апреля 2010

Если вы используете InstallShield 11.5 и более ранние версии, вы можете инициализировать любые переменные методом OnBegin.

В InstallShield 12 и более поздних версиях используйте MsiSetProperty и MsiGetProperty(hMSI, "MyVariable", szSupportDir, nLen) для установки и извлечения глобальных переменных, потому что, когда установка Basic MSI выполняет настраиваемое действие InstallScript, скомпилированный InstallScript загружается до вызова действия и выгружается после завершения действия.

...