Вы можете просто объявить переменную вне функции в файле .rul, и эта переменная будет глобальной переменной.
Если вы хотите использовать глобальную переменную в другом файле .rul, вам нужно включить файл rul, который объявляет глобальную переменную.
отл.
/* featureevents.rul */
STRING globalVar; // declare a global variable
export prototype xxx_installed();
function xxx_installed()
STRING localVar; // declare a local variable
begin
end;
-
/* Setup.rul */
#include "featureevents.rul"
function OnFirstUIBefore()
begin
// use a global variable
globalVar="This is a global variable.";
MessageBox(globalVar, INFORMATION);
end;
Я предлагаю вам добавить один или несколько файлов заголовков ресурсов и поместить в них все константы, глобальные переменные и объявления функций.
/* featureevents.rul */
#include "CusRes.h"
...
-
/* Setup.rul */
#include "CusRes.h"
...
-
/* CusRes.h */
#ifndef _CUSRES_H_
#define _CUSRES_H_
// move the code to resource header file
STRING globalVar;
export prototype xxx_installed();
#endif //_CUSRES_H_
Однако, как сказал Урман, лучше использовать свойство.
Мне не хватает шага SecureCustomProperties, поэтому я не могу получить значение с помощью MsiGetProperty () и использовать вместо него глобальную переменную.
Но теперь у меня есть информация, и я также перепишу свой код, чтобы вместо него использовать свойство.