Ответ 1
Мне нужно скопировать некоторые (только те, которые я хочу изменить) или все эти файлы, чтобы мой проект VisualStudio. До сих пор я не работал ни с одним из этих исходных файлов.
Поскольку вы уже используете WixUI_Mondo
, я предполагаю, что вы хотите настроить этот интерфейс. Найдите WixUI_Mondo.wxs
в источниках wix и скопируйте их в проект визуальной студии. Переименуйте файл в WixUI_MyCustomUI.wxs
и измените атрибут идентификатора пользовательского интерфейса внутри файла на Id="WixUI_MyCustomUI"
. Вам не нужно копировать другие файлы; диалоги, указанные в скопированной последовательности пользовательского интерфейса, скомпилированы в инструменты wix как ресурсы, поэтому wix "знает" эти диалоги по имени.
В файле product.wxs измените ссылку на пользовательский интерфейс на <UIRef Id="WixUI_MyCustomUI" />
. Если вы сейчас перестроете свою настройку, пользовательский интерфейс должен выглядеть точно как WixUI_Mondo
, поскольку мы еще ничего не настроили.
Если это сработает, вы, вероятно, захотите настроить или добавить диалог. Опять же, вы можете начать с существующего диалога, скопировав его из источников wix. Вам также придется отредактировать файл WixUI_MyCustomUI.wxs
, чтобы он использовал ваш новый диалог. Взгляните на этот другой ответ, который я написал для примера.
Как мой Product.wxs знает, как использовать эти файлы? Смотрит ли он на локальные сначала? Или мне нужно перестроить некоторые С# -модули?
У вас нет пересоздания любых С# -модулей. Единственная причина, по которой вы загрузили исходники wix, состоит в том, что существующие последовательности пользовательских интерфейсов и диалоги являются хорошими примерами для начала. В принципе вы также можете игнорировать источники wix и записывать эти файлы wxs для определения последовательности UI и диалогов с нуля.
Когда вы используете инструменты командной строки, вы объединяете несколько файлов wxs, просто передавая несколько аргументов файла, и они будут скомпилированы и связаны друг с другом. Если вы используете wix с визуальной студией, вам просто нужно добавить файл wxs в проект. Нетривиальная установка wix обычно определяется многими файлами wxs.
Содержимое файла wxs может содержать ссылки на элементы в других файлах wxs через такие элементы, как UIRef
, ComponentRef
, ComponentGroupRef
, DirectoryRef
и т.д.