2015-06-12 2 views
0

Я пытаюсь выяснить, как скопировать файлы в несколько мест с установщиком Inno Setup.Как установить тот же файл в несколько мест (Inno Setup)

[Files] 
Source: "myfolder\*" DestDir: {multipe dirs?} 

В принципе у меня есть функция GetInstallDirs(), которая выглядит для всех ключей в разделе реестра и сформировать массив для с плагином путь установки и возвращает массив каталогов. Вместо добавления строки для каждого каталога есть способ DestDir принимает несколько каталогов?

+1

№ Вам понадобится запись для каждого каталога. – TLama

ответ

1

Итак, вы хотели использовать DestDir: "{code:GetInstallDirs}"?

DestDir может указывать только на одну папку.

Вам нужно создать дополнительные записи в разделе [Files], если вам нужно установить один и тот же файл в несколько папок. Обратите внимание, что Inno Setup будет compile the source file only once to the installer.

Я не знаю, как легко создать множественные записи программным путем.

Вы можете создать «много» записей любит:

[Files] 
Source: "myfolder*"; DestDir: "{code:GetInstallDirs|1}"; Check HasInstallDir(1) 
Source: "myfolder*"; DestDir: "{code:GetInstallDirs|2}"; Check HasInstallDir(2) 
Source: "myfolder*"; DestDir: "{code:GetInstallDirs|3}"; Check HasInstallDir(3) 
... 

Вы можете создать большой список таких записей с помощью Inno Setup препроцессора.

#define EntryI 

#sub AddEntry 

Source: "myfolder*"; DestDir: "{code:GetInstallDirs|{#EntryI}}"; \ 
    Check: HasInstallDir({#EntryI}) 

#endsub 

#for {EntryI = 1; EntryI <= 100; EntryI++} AddEntry 
Смежные вопросы