Как я могу разделить фрагмент Wix в два проекта Wix?

StackOverflow https://stackoverflow.com/questions/2768749

  •  03-10-2019
  •  | 
  •  

Вопрос

У нас есть фрагмент WIX в файле somedialog.wxs, который предлагает пользователю некоторую информацию. Он упоминается в другом фрагменте в файле Installerui.WXS, который контролирует порядок диалога. Конечно, Product.wxs - наш основной файл. Прекрасно работает.

Теперь у меня есть второй проект Visual Studio 2008 Wix 3.0 для .msi другого приложения, и ему необходимо попросить пользователя одной и той же информации. Я не могу понять лучший способ поделиться файлом, так что изменение запрошенной информации приведет к тому, что в обоих .ms получает новое поведение.

Я, честно говоря, не могу сказать, является ли модуль слияния, .wsi (включает) или .Wixlib - правильное решение. Я бы надеялся найти простой пример того, что кто-то делает это, но я потерпел неудачу до настоящего времени.

Редактировать:На основе Роб Мансхинг wixlib запись в блоге, Wixlib может быть ответом, но я все еще ищу пример того, как это сделать.

Это было полезно?

Решение

Я очень доволен вариантом .Wixlib. Мне потребовалось всего несколько минут, когда я понял, что был. Хикслиб.
Я сделал следующее: в VS2008, добавьте новый проект ... типа «Библиотека типа» с именем SQLDialog. Файл библиотеки .wxs создан с пустым <Fragment></Fragment> элемент. Я скопировал элемент пользовательского интерфейса из моего существующего диалога (в моем главном «проекте Wix») в фрагментный элемент:

<Fragment>
  <UI>
    <Dialog Id="SQLServerPromptingDlg" ... Title="SQL Server Information" ...>
      <Control Id="Next" Type="PushButton" ... Text="!(loc.WixUINext)" />
      ...
    </Dialog>
  </UI>
</Fragment>

Я добавил проект Wixlib в конфигурацию сборки выпуска в VS2008. Я удалил файл sqldialog.wxs из главного проекта Wix и ссылался на проект Sqldialog Wixlib, вместо этого.
Когда я перекомпилировал решение, главный проект Wix работал точно так же, как и раньше !! Милая!

Затем я ссылался на проект SQLDialog Wixlib из моего другого проекта Wix и использовал его оттуда. Работал отлично! Сервер сборки счастлив, потому что проект Shared .Wixlib является частью решения, которое он компилизируется. Итак, для наших целей я думаю, что это было лучше, чем «общий» каталог. Нет обиды Боба. Я ценю ваши мысли.

Другие советы

Если это всего лишь один файл, .wixlib может быть переплетением, поскольку это требует другого .wixproj, чтобы построить его. Что я делаю в таких случаях, как это помещает .wxs в каталоге «Общий» и добавьте его в несколько проектов, используя раскрывающуюся ошибка «Добавить ссылку» в команде «Добавить существующий элемент».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top