Не можете добавить несколько файлов - ограничение установщика Windows? - PullRequest
0 голосов
/ 29 ноября 2010

Я искал различные способы создания установщика (см. Как создать надежный минимальный установщик для Windows? для деталей), и я столкнулся с тем же самым впара из них (WiX и создатель инсталлятора Visual Studio);похоже, нет способа сказать: «Когда вы собираете установщик, включите каждый файл, соответствующий c: \ somefolder \ *. xml».

Я могу пойти и выбрать * .xml и добавить всефайлы, которые соответствуют проекту сразу, но потом, если я добавлю другой файл .xml в свою программу позже, мне нужно будет пойти и добавить это в установщик самостоятельно.

Является ли это основным ограничением оконустановщик, что я не могу просто сказать ему: «рассортируйте все файлы XML в этой папке и не беспокойтесь о них»?

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

InstallShield также имеет это (см. Динамическое связывание файлов), но, честно говоря, мне не нравится этот шаблон в целом.Это недетерминированный характер.Я говорю из 14-летнего опыта, когда говорю, что если файл добавлен или удален из моего приложения, я хочу явно добавить его или удалить из установщика моих приложений.Любая магия для автоматизации этого всегда кусала меня, потому что она берет то, что должно было быть ошибкой времени сборки, и превращает ее в ошибку времени выполнения.

Моя лучшая практика - написать некоторую автоматизацию, которая сравнивает то, что былопотреблять против того, что потребляло установщик.Два списка должны совпадать на 100%, иначе сборка не удалась.Если сборка не удалась, вы должны либо добавить файл в программу установки, либо прекратить архивирование файла в каталоге.При наличии правильного инструментария добавить файл в установщик тривиально, и в результате получается 100% точность намерения разработчика применить его к установщику.

2 голосов
/ 29 ноября 2010

Набор инструментов WiX содержит утилиту под названием Heat . Он может генерировать авторинг WiX для вас на основе ваших потребностей. Выходные данные могут быть дополнительно преобразованы с помощью шаблонов XSL (переключатель -t).

Надеюсь, это поможет.

...