Скрипт WiX wxs с возможностью установки при выборе установки для текущего пользователя или для всех пользователей.
Вопрос
Мне нужен полный сценарий WiX, который можно собрать.
- Добро пожаловать
- Лицензионное соглашение
- Установочная папка
- Выбор установки для текущего пользователя или для всех пользователей
- Установить
- Заканчивать
Мне нужен только один файл wxs, потому что он предназначен для простого приложения.Также мне нужна возможность установить его для текущего пользователя или всех пользователей.
Решение
ты проверил WixUI_Advanced Пользовательский интерфейс, встроенный в Wix3?
Вот диалоги, которые у него есть:
- РасширенныйДобро пожаловатьEulaDlg
- ОбзорDlg
- Дисккостдлг
- ОсобенностиDlg
- УстановитьDirDlg
- Инсталлскопедлг (для выбора пользователя или для каждой машины)
- Инвалиддирдлг
Другие советы
Я также использовал WixUI_InstallDir, но скопировал его и настроил в соответствии со своими потребностями, добавив текст «Что делать дальше» в конце установщика.я использовал это подробное прохождение взять стоковый Wix GUI и поменять пару экранов под свои цели.Для этого вам потребуется получить исходный код Wix, но только с целью получения некомпилированных версий фактического файла Product.wxs, который разработчики Wix включают для запуска установщика WixUI_InstallDir.
Итак, в основном у меня есть что-то вроде этого в решении (с использованием надстройки Votive для VS):
- МойВеб-проект
- Проект Wix
- MyWeb.wxs — очевидно, мой продукт
- Product.wxs — файл Wix, полученный из источника Wix, который определяет структуру, поток и содержимое WixUI_InstallDir.
- My_InstallDir.wxs — здесь происходит самое интересное.По сути, скопировал исходный код файла Wix, изменил его в соответствии с моими потребностями, а затем убедился, что в Product.wxs у меня есть ссылка на мой Экран, а не оригинальный.
Продукт.wxs
<UI>
<UIRef Id="My_InstallDir"/>
</UI>
<!-- Add the customized EULA -->
<WixVariable Id="WixUILicenseRtf" Value="$(var.SolutionDir)\doc\license.rtf" />
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" />
<UIRef Id="My_InstallDir" />
<!-- Add the customized banner logo -->
<WixVariable Id="WixUIBannerBmp" Value="$(var.SolutionDir)\doc\InstallerBanner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="$(var.SolutionDir)\doc\InstallerSidebar.bmp" />
My_InstallDir.wxs полностью не изменился, за исключением строки, относящейся к моему диалоговому окну выхода, в котором находятся мои примечания «Что делать дальше»:
<Publish Dialog="MyExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
Итак, настоящие изменения происходят в My_ExitDialog, где я показываю текст:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Dialog Id="MyExitDialog" Width="370" Height="270" Title="!(loc.ExitDialog_Title) test">
<Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" />
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" />
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" />
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<!--<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogDescription)" />-->
<Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogTitle)" />
<Control Id="NextSteps" Type="ScrollableText" X="135" Y="70" Width="220" Height="140" Sunken="yes" TabSkip="no">
<Text SourceFile="$(var.SolutionDir)\doc\GemWebAfterInstall.rtf" />
</Control>
</Dialog>
<InstallUISequence>
<Show Dialog="MyExitDialog" OnExit="success" />
</InstallUISequence>
<AdminUISequence>
<Show Dialog="MyExitDialog" OnExit="success" />
</AdminUISequence>
</UI>
</Fragment>
Я знаю, что вы ищете решение, а не обязательно указатели.Однако, используя статью, на которую я ссылаюсь, как ключевую отправную точку, я думаю, вы можете найти все необходимые вам части либо в готовых битах WixUI, либо заменив небольшие части «готовых» вещей. как у меня.Удачи.