Я хочу включить файлы языковых ресурсов из нашей сборки в наши установщики. Язык файлы ресурсов все имеют одинаковые имена, но находятся в разных подпапках (по одному на местность), как это:Как рекурсивно включить папку/файлы с помощью шаблона в Inno Setup
\Release
\bin
\es-MX
Localization.resources.dll
\fr-CA
Localization.resources.dll
etc.
В моем [Files]
разделе, я думал, что, возможно, я мог бы быть в состоянии сделать это (примечание положение звездочки):
Source: "..\\source\\Libraries\\Localization\\bin\\Release\\*\\Localization.resources.dll"; \
DestDir: "{app}\\MyApp"; Flags: ignoreversion recursesubdirs
к сожалению, программа установки Inno взрывает, жалуясь, что он не может найти любые файлы:
Ошибка компилятора!
Строка 129: файлы не найдено соответствий запросу "C: \ Разработка \ HT \ установщиков \ .. \ источник \ Библиотеки \ Localization \ Bin \ Release \ * \ Localization.resources.dll"
Я хотел Inno Setup для поиска любой подпапки (следовательно, *
), содержащей файл с именем Localization.resources.dll
и после установки создайте языковой каталог с тем же именем (на основе того, что найден через подстановочный знак) и скопируйте файл в эту папку для каждой папки, соответствующей критериям.
По существу, я хочу закончить с этим:
..
\MyApp
\es-MX
Localization.resources.dll
\fr-CA
Localization.resources.dll
В случае это не очевидно, я предпочел бы не явно добавлять имена источника и папки назначения, потому что мы будем добавлять больше языков/locales в будущем, и я бы хотел, чтобы Inno Setup автоматически забирала любые новые языковые папки/файлы, которые мы создаем, не меняя исходный код установщика.
Возможно ли это?
Вам нужны флаги 'createallsubdirs recursesubdirs'. Например: «Источник:« C: \ SourceDir \ * »; DestDir: "{app}"; Флаги: ignoreversion createallsubdirs recursesubdirs' – RobeN
Спасибо, но я не хочу, чтобы * все * подпапки были включены и скопированы в папку назначения - только подпапки, соответствующие критериям (содержащим файл с указанным именем). В исходном пути есть много подпапок, которые я не хочу включать. –
Я работал над проблемой, хватая нужные файлы из другого места, в котором есть только языковые папки ресурсов, а затем с помощью '*', чтобы получить все из этого места. –