Как сделать ссылку на файл из внешней папки, чтобы он все еще был включен в пакет установщика?


Вот что я пытаюсь сделать:

Source: {%QTDIR}/bin/QtCore4.dll; DestDir: {app}; Flags: ignoreversion;

Он не раскрывает переменную окружения QTDIR и выдает мне ошибку. Он компилируется и отлично работает, если я добавляю флаг external, но мне нужно, чтобы файл был скомпилирован в пакет установщика. Есть ли способ достичь этого?

1 2

1 ответ:

Возможно, вы могли бы использовать ISPP #define?

Пример:

#define MYCONSTANT GetEnv("USERPROFILE")

[Files]
Source: "{#MYCONSTANT}\myfile.txt"; DestDir: {app}; Flags: ignoreversion

Я ссылаюсь на UserProfile здесь в качестве примера, но вы можете определить QTDIR там, если он установлен как системная константа %QTDIR%. Вероятно:

#define QTDIRCONSTANT GetEnv("QTDIR")

[Files]
Source: "{#QTDIRCONSTANT}\bin\QtCore4.dll"; DestDir: {app}; Flags: ignoreversion