Это мой самый первый проект на wix. Я скачал wix 3.6 rc. Мой проект установки включает 2 проекта wcf и 1 проект silverlight. Все прекрасно работает с пользовательским интерфейсом Wix по умолчанию. Но теперь мне нужно добавить к нему базу данных sql. Она работает нормально со значениями по умолчанию, как показано ниже:
<Component Id='SqlComponent' Guid='8B72C159-1477-4A58-AFAE-E94D756BFFA6'>
<CreateFolder/>
<sql:SqlDatabase Id='SqlDatabase' Database='master' Server='.'
CreateOnInstall='yes' DropOnUninstall='no' ContinueOnError='yes'>
<sql:SqlScript Id='CreateTable' BinaryKey='CreateTable' ExecuteOnInstall='yes' />
<sql:SqlScript Id='CreateTable1' BinaryKey='CreateTable1' ExecuteOnInstall='yes' />
</sql:SqlDatabase>
</Component>
Но мне нужно представить пользовательский интерфейс для пути к базе данных sql, имени базы данных, имени пользователя и пароля, если пользователь и пароль не указаны, то используйте пользователя windows.
Чтобы посмотреть, как добавить пользовательский интерфейс, я попробовал следующее: но он сразу же отображает пользовательский интерфейс. Но я хочу, чтобы он отображался только для установки базы данных sql.
Я полагаю, что как только я получу его, чтобы показать пользовательский UI именно там, где я хочу, моим следующим требованием будет возможность получить пользовательский ввод для пути к базе данных, имени, пользователя и пароля и передать эту информацию скрипту. Я не знаю, как это сделать.
Ознакомьтесь с расширением WiX UI в файле .chm. Выберите набор диалогов, наиболее подходящий для вашей программы установки. Затем вы можете настроить его соответствующим образом. Предположим, вы хотите настроить набор диалогов WixUI_Advanced:
src\ext\UIExtension\wixlib
.<UI Id="WixUI_Advanced_Custom">
.Теперь вы можете ссылаться на ваш пользовательский набор диалогов так же, как и на другие наборы диалогов в расширении UI. Но пользовательский интерфейс не совсем кастомизирован, он просто предоставляет ту же функциональность, что и набор диалогов WixUI_Advanced. Чтобы добавить новый диалог, нужно создать новый .wxs, используя в качестве примера источник wix. Посмотрите на любой из диалогов в src\ext\UIExtension\wixlib
за помощью. Затем обратитесь к диалогу в WixUI_Advanced_Custom.wxs, добавляя и изменяя элементы <Publish>
для определения времени показа диалога.
Наконец я нашел статью о wix здесь Как добавить пользовательский пользовательский интерфейс.
После долгих попыток понять, как работает wix, вышеуказанная ссылка на codeproject помогла мне разобраться. Особенно та часть, которая объясняет создание пользовательского интерфейса (MyWebUI.wxs в той статье), стала для меня спасением.