Упоминание о source directory
говорит (подчеркнуто мной):
По умолчанию, компилятор установки рассчитывает найти файлы ссылки в [Файлы] Параметры раздела Источник данного сценария, и файлы ссылки в раздел [Setup], в том же каталоге, файл сценария находится , если они не содержат полностью идентифицированных путей. Чтобы указать в другом исходном каталоге, создайте директиву SourceDir в разделе [Setup] сценария .
Включает также опцию указания относительного пути к файлам. Итак, давайте предположим, что вы имеете следующую структуру файла и не был указан другой путь в SourceDir
директивы:
C:\Deploy\Script.iss
C:\Deploy\MyProg.exe
C:\Deploy\SubFolder\MyOtherProg.exe
C:\Folder\SomeFile.txt
Теперь, если вы хотите, чтобы включить MyProg.exe
в установке, составленной из Script.iss
сценария, вы можете указать только имя файла без пути, так как файл MyProg.exe
хранится в той же папке, что и сценарий, так что вы могли бы написать просто:
[Files]
Source: "MyProg.exe"; DestDir: "{app}"
И вы можете использовать относительный путь к MyOtherProg.exe
, который хранится в подпапке папки, в которой Script.iss
скрипт хранится таким образом:
[Files]
Source: "SubFolder\MyOtherProg.exe"; DestDir: "{app}"
Как вы можете использовать относительный путь, чтобы включить SomeFile.txt
хранящийся в папке родительской папки, где скрипт хранится:
[Files]
Source: "..\Folder\SomeFile.txt"; DestDir: "{app}"
Подробнее о относительные пути, которые вы можете прочитать в this chapter
.
'#define MyAppName "MY APP" #define MyAppExeName "my_app.exe" [Файлы] Источник:«{userdesktop} \ {# MyAppName} \ SOURCES.PROJECTS \ ??? \ ??? \ Release \ {# MyAppExeName} "' – RobeN
@RobeN, если я запустил этот скрипт с другого компьютера и скажу, что папка не на рабочем столе, это не сработает правильно? – Janck7
'{userdesktop}' константа всегда указывает реальный рабочий стол текущего пользователя - независимо от того, какая языковая версия Windows установлена. На польском языке это будет, например, 'C: \ Użytkownicy \ MOJ_PROFIL \ Pulpit' – RobeN