WiX: установка в другое место в зависимости от сборки и местоположения сайта - PullRequest
0 голосов
/ 19 декабря 2011

В поисках выхода из угла, в который вошла моя компания.

Службы Windows в настоящее время устанавливаются путем копирования файлов вручную и запуска различных пакетных файлов для установки / удаления. Места расположения различаются в зависимости от сайта и в зависимости от того, предназначен ли установленный код для промышленного или тестового использования. Поэтому моя отладочная сборка может потребоваться установить в

C:\someFolder\Site1\Test

в то время как версия Release того же кода будет установлена ​​в

C:\someFolder\Site1

В настоящее время только 2 сайта, но, вероятно, скоро будет расширяться.

Я пытаюсь собрать проект установки WiX (VS2010, WiX 3.5), чтобы выполнить установку. Я не могу изменить определение папки установки (как бы мне этого ни хотелось!), И я сталкиваюсь с проблемами, пытаясь понять, как я могу подойти к этой проблеме. Быть новичком в WiX не помогает.

1 Ответ

0 голосов
/ 21 декабря 2011

По вопросу о версиях выпуска / отладки: в том месте, где вы определяете целевой каталог, в своем коде вы можете установить его в зависимости от версии сборки.Например, Debug - это доступная переменная, которую можно использовать, например:

         <!-- inside of somefolder/site target definition, conditionally append test dir -->
         <?ifdef var.Debug ?>
           <Directory Id="TestId" Name="test" />
         <?endif?>

Вы также можете добавить другие зависимые от сборки переменные в Visual Studio для каждого типа выпуска.Это будет уникальная сборка для каждой целевой модели ситуации.Это может легко запутать пользователей в том, какую версию им следует использовать.

Другая модель - одна сборка с гибкими целевыми местоположениями: для разных каталогов сайтов: зависит от того, как создаются эти сайты.Если они существуют до вашей установки, просто используйте wix's directorysearch, чтобы установить свойство, используемое для создания целевого каталога.Если вместо этого целевой каталог определяется во время установки и основывается на решении пользователя, вам нужно будет ввести имя или тип (сайт).Это будет похоже на типичную ситуацию запроса пользовательского каталога установки.Вы можете изменить один из примеров пользовательских диалогов wix, включенных в источник wix, которые делают это, и добавить этот диалог в следующий / обратный поток вашего проекта.

...