Можно ли избежать локальной установки и использовать плоские файлы для WiX? - PullRequest
3 голосов
/ 03 февраля 2009

Справочная информация:

Я всегда стараюсь обеспечить следующий принцип в моих проектах:

После новой проверки разработчик должен иметь возможность выполнять все задачи, связанные с проектом, только с содержимым объединенных папок.

Очевидно, что это не всегда возможно (например, Visual Studio для разработки Windows). Тем не менее, мне очень не нравится устанавливать какие-либо сторонние библиотеки или инструменты, относящиеся к конкретному проекту, такие как log4net, NHibernate, NUnit и т. Д. Для этого есть несколько причин, включая:

  • Для данной машины разработки вы можете работать над несколькими различными проектами, каждый из которых использует разные версии одной и той же сторонней библиотеки или инструмента.
  • Минимизация требований к настройке среды значительно упрощает настройку новых разработчиков или машин
  • Облегчает обслуживание автоматизированных сборок

Предположение / контрсил

  • В настоящее время я использую бета-версию WiX 3, но если есть способ для 2.0 или 3.0, пожалуйста, ответьте
  • Я использую Visual Studio 2005
  • Подсветка синтаксиса IDE не обязательна.

Вопрос:

Можно ли избежать локальной установки набора инструментов WiX и использовать вместо этого плоские файлы? Если да, пожалуйста, объясните как.

Смотрите также:

Ответы [ 2 ]

6 голосов
/ 04 февраля 2009

Сначала соберите установщик WiX:

  • Создание нового проекта установщика WiX в Visual Studio 2005.
  • Создайте свой WiX XML соответствующим образом.

Теперь, чтобы интегрировать инструментарий WiX в ваше дерево исходников:

  • Скопируйте c:\Program Files\Windows Installer XML v3\bin в подкаталог вашего исходного дерева. Я использовал WiX\bin относительно моего файла .wixproj.
  • Скопируйте c:\Program Files\MSBuild\WiX\v3.0\ в подкаталог в исходном дереве. Я использовал WiX\v3.0 относительно моего файла .wixproj.
  • Либо добавьте следующий код, либо замените следующую строку:

<WixTargetsPath Condition=" '$(WixTargetsPath)' == ''>$(MSBuildExtensionsPath)\Microsoft\WiX\v3.0\Wix.targets</WixTargetsPath>

со следующими строками:

<WixToolPath>$(MSBuildProjectDirectory)\WiX\bin\</WixToolPath> <WixTasksPath>$(MSBuildProjectDirectory)\WiX\v3.0\WixTasks.dll</WixTasksPath> <WixTargetsPath>$(MSBuildProjectDirectory)\WiX\v3.0\Wix.targets</WixTargetsPath>

Как видите, директивы WixToolPath, WixTasksPath и WixTargetsPath отражают расположение папок, которые я поручил вам скопировать.

  • Переименуйте ваш .wixproj в .csproj. Это гарантирует, что Visual Studio не запутается в файле .wixproj, но поскольку .wixproj является допустимым проектом MSBuild, Visual Studio сможет работать с ним.

При использовании этого метода каталог WiX, как описано, имеет размер около 9 МБ.

2 голосов
/ 03 февраля 2009

Я знаю, что с WiX 2 вы можете просто загрузить исполняемые файлы и библиотеки DLL в любой каталог, в котором находится ваш проект. Затем вы создаете файл .bat для запуска свечей и light.exe с параметрами, которые вам нужны ваш установщик.

Таким образом, у всех ваших проектов может быть своя собственная версия WiX с дисковым накопителем всего около 4 мегабайт каждый.

Я не уверен, но я думаю, что вы можете сделать то же самое с WiX 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...