Wix Installer - несколько диалогов одного типа в последовательности пользовательского интерфейса - PullRequest
0 голосов
/ 10 февраля 2020

Справочная информация: я пишу установщик с Wix Toolset. В качестве шаблона пользовательского интерфейса я использую WixUI_InstallDir, в который я сделал некоторые пользовательские изменения (например, пользовательские диалоги и т. Д. c.).

Теперь я пытаюсь добавить несколько других шагов в установщик. Однако эти шаги будут выглядеть почти одинаково: заголовок, описание, несколько текстовых полей ввода (одинаковые для каждого шага) и кнопки «Вперед / Назад». Примерно так:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <UI>
            <Dialog Id="SomeDialogWithInput" Width="370" Height="270" Title="!(loc.Dlg_Title)">
                <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.DlgBannerBitmap)" />
                <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
                <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
                <Control Id="Description" Type="Text" X="25" Y="23" Width="340" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.DlgDescription)" />
                <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.Dlg_Title)" />

                <!-- Some editable property (will be multiple of them) -->
                <Control Id="SomePropertyLabel" Type="Text" X="15" Y="60" Width="140" Height="18" Transparent="yes" NoPrefix="yes" Text="Some Property" />
                <Control Id="SomePropertyEdit" Type="Edit" X="160" Y="57" Width="180" Height="15" Property="MY_PROPERTY" Text="{80}" Indirect="no" />

                <!-- Dialog buttons -->
                <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
                <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)"/>
                <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
                  <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
                </Control>
            </Dialog>
        </UI>
    </Fragment>
</Wix>

Мне бы хотелось иметь 3 одинаковых шага с одинаковыми входными данными (для получения учетных данных от пользователя), которые отличались бы только заголовком, описанием и набором свойств, для которых значения будет сохранен (например, STEP_1_MY_PROPERTY, STEP_2_MY_PROPERTY, STEP_3_MY_PROPERTY).

Мне интересно ... Есть ли способ создать диалоговый шаблон, который затем может быть использован несколько раз в последовательности пользовательского интерфейса и каким-то образом передать свойство имена, заголовок и описание через тег Publi sh? Или создание 3-х файлов wxs с похожими диалогами - единственный (или самый простой) способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...