2010-04-21 3 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, а затем используйте MsiSetProperty и MsiGetProperty(hMSI, "MyVariable", szSupportDir, nLen) для установки и извлечения глобальных переменных, так как при установке Basic MSI выполняет пользовательское действие InstallScript, скомпилированный InstallScript загружается перед действием называется, и он выгружается после действия завершается.

+0

Если у вас есть несколько сценариев в процессе установки, может ли каждый из них иметь onBegin? Я попытался поместить их в onBegin в исходный файл для запуска (я использую их в Компонентном), но в основном я получил те же ошибки. Кажется, они должны быть в сценарии, в котором они мне нужны? – Corv1nus

+0

На самом деле теперь он работал в OnBegin. Должно быть, я ошибался. БЛАГОДАРЯ! – Corv1nus

Смежные вопросы