WiX 3.0: список доступных диалогов пользовательского интерфейса

Я создаю пользовательский интерфейс для установщика WiX и включил WixUI_Common. Я поискал, но не могу найти исчерпывающий список диалогов, предоставляемых WiX.

Перечислите все известные вам диалоги и их функции.

Обновление: благодаря ответу CheGueVerra мне удалось найти файлы wxs, определяющие все диалоговые окна пользовательского интерфейса, в каталоге src \ ext \ UIExtension \ wixlib исходного кода WiX.


person Friend Of George    schedule 28.04.2009    source источник
comment
Вы скачали исходники для WiX?   -  person Will Dean    schedule 28.04.2009
comment
Я сейчас просматриваю первоисточник. Поскольку я не знаком с кодом, мне трудно найти, где существуют диалоги.   -  person Friend Of George    schedule 28.04.2009


Ответы (3)


Недавно мы улучшили документацию WiX 3.0, включив в нее более подробную информацию о WixUI. Страницы, на которую Роб указал выше, не существовало пару недель назад, так что, возможно, вы ее пропустили. Я также расширил тему на http://wix.sourceforge.net/manual-wix3/WixUI_customizations.htm, и эта информация может вам помочь.

Спасибо!

person Community    schedule 01.05.2009
comment
Под заголовком «Настройка ExitDlg» находится ссылка на встроенные наборы диалогов WixUI. Это было именно то, что я искал. - person Friend Of George; 04.05.2009
comment
Ссылка сейчас мертва - person oleksii; 09.07.2018

Если вы загрузите последний исходный код WIX, вы найдете объявление для WixUI_Common в файле Common.wxs:

<UI Id="WixUI_Common">
    <!-- ui text -->
    <UIText Id="AbsentPath" />
    <UIText Id="bytes">!(loc.UITextbytes)</UIText>
    <UIText Id="GB">!(loc.UITextGB)</UIText>
    <UIText Id="KB">!(loc.UITextKB)</UIText>
    <UIText Id="MB">!(loc.UITextMB)</UIText>
    <UIText Id="MenuAbsent">!(loc.UITextMenuAbsent)</UIText>
    <UIText Id="MenuAdvertise">!(loc.UITextMenuAdvertise)</UIText>
    <UIText Id="MenuAllCD">!(loc.UITextMenuAllCD)</UIText>
    <UIText Id="MenuAllLocal">!(loc.UITextMenuAllLocal)</UIText>
    <UIText Id="MenuAllNetwork">!(loc.UITextMenuAllNetwork)</UIText>
    <UIText Id="MenuCD">!(loc.UITextMenuCD)</UIText>
    <UIText Id="MenuLocal">!(loc.UITextMenuLocal)</UIText>
    <UIText Id="MenuNetwork">!(loc.UITextMenuNetwork)</UIText>
    <UIText Id="NewFolder">!(loc.UITextNewFolder)</UIText>
    <UIText Id="ScriptInProgress">!(loc.UITextScriptInProgress)</UIText>
    <UIText Id="SelAbsentAbsent">!(loc.UITextSelAbsentAbsent)</UIText>
    <UIText Id="SelAbsentAdvertise">!(loc.UITextSelAbsentAdvertise)</UIText>
    <UIText Id="SelAbsentCD">!(loc.UITextSelAbsentCD)</UIText>
    <UIText Id="SelAbsentLocal">!(loc.UITextSelAbsentLocal)</UIText>
    <UIText Id="SelAbsentNetwork">!(loc.UITextSelAbsentNetwork)</UIText>
    <UIText Id="SelAdvertiseAbsent">!(loc.UITextSelAdvertiseAbsent)</UIText>
    <UIText Id="SelAdvertiseAdvertise">!(loc.UITextSelAdvertiseAdvertise)</UIText>
    <UIText Id="SelAdvertiseCD">!(loc.UITextSelAdvertiseCD)</UIText>
    <UIText Id="SelAdvertiseLocal">!(loc.UITextSelAdvertiseLocal)</UIText>
    <UIText Id="SelAdvertiseNetwork">!(loc.UITextSelAdvertiseNetwork)</UIText>
    <UIText Id="SelCDAbsent">!(loc.UITextSelCDAbsent)</UIText>
    <UIText Id="SelCDAdvertise">!(loc.UITextSelCDAdvertise)</UIText>
    <UIText Id="SelCDCD">!(loc.UITextSelCDCD)</UIText>
    <UIText Id="SelCDLocal">!(loc.UITextSelCDLocal)</UIText>
    <UIText Id="SelChildCostNeg">!(loc.UITextSelChildCostNeg)</UIText>
    <UIText Id="SelChildCostPos">!(loc.UITextSelChildCostPos)</UIText>
    <UIText Id="SelCostPending">!(loc.UITextSelCostPending)</UIText>
    <UIText Id="SelLocalAbsent">!(loc.UITextSelLocalAbsent)</UIText>
    <UIText Id="SelLocalAdvertise">!(loc.UITextSelLocalAdvertise)</UIText>
    <UIText Id="SelLocalCD">!(loc.UITextSelLocalCD)</UIText>
    <UIText Id="SelLocalLocal">!(loc.UITextSelLocalLocal)</UIText>
    <UIText Id="SelLocalNetwork">!(loc.UITextSelLocalNetwork)</UIText>
    <UIText Id="SelNetworkAbsent">!(loc.UITextSelNetworkAbsent)</UIText>
    <UIText Id="SelNetworkAdvertise">!(loc.UITextSelNetworkAdvertise)</UIText>
    <UIText Id="SelNetworkLocal">!(loc.UITextSelNetworkLocal)</UIText>
    <UIText Id="SelNetworkNetwork">!(loc.UITextSelNetworkNetwork)</UIText>
    <UIText Id="SelParentCostNegNeg">!(loc.UITextSelParentCostNegNeg)</UIText>
    <UIText Id="SelParentCostNegPos">!(loc.UITextSelParentCostNegPos)</UIText>
    <UIText Id="SelParentCostPosNeg">!(loc.UITextSelParentCostPosNeg)</UIText>
    <UIText Id="SelParentCostPosPos">!(loc.UITextSelParentCostPosPos)</UIText>
    <UIText Id="TimeRemaining">!(loc.UITextTimeRemaining)</UIText>
    <UIText Id="VolumeCostAvailable">!(loc.UITextVolumeCostAvailable)</UIText>
    <UIText Id="VolumeCostDifference">!(loc.UITextVolumeCostDifference)</UIText>
    <UIText Id="VolumeCostRequired">!(loc.UITextVolumeCostRequired)</UIText>
    <UIText Id="VolumeCostSize">!(loc.UITextVolumeCostSize)</UIText>
    <UIText Id="VolumeCostVolume">!(loc.UITextVolumeCostVolume)</UIText>
</UI>

Это из источника 3.0.5217.0.

person CheGueVerra    schedule 28.04.2009
comment
Спасибо. В том же каталоге, что и Common.wxs (src \ ext \ UIExtension \ wixlib), я нашел все файлы wxs для диалогов. - person Friend Of George; 28.04.2009

Вы когда-нибудь видели отличное руководство по WiX, в котором есть страница пользовательского интерфейса здесь (архив )?

Насколько я помню, там образец пользовательского интерфейса, который вы можете скачать оттуда, содержит кучу диалогов пользовательского интерфейса. Не уверен, что это «полный» и окончательный список, но, если я правильно помню, это, безусловно, неплохой список.

РЕДАКТИРОВАТЬ: действительно кажется ужасно трудным найти полный список этих диалогов! Привет, Роб, если ты это прочитаешь - это будет ОТЛИЧНОЕ дополнение к твоему файлу справки WiX и часто задаваемым вопросам на wix.sourceforge.net!

Я вообще ничего не мог найти в источнике ...

Но раскопав некоторый код, который у меня был, через некоторое время я, должно быть, нашел файл фрагмента «WiXUI ...... wxi», поскольку я настроил список диалогов, чтобы удалить диалоговое окно «Лицензионное соглашение». В остальном мой список должен быть полным, я думаю:

<!--
First-time install dialog sequence:      Maintenance dialog sequence:
 - WixUI_WelcomeDlg                     - WixUI_MaintenanceWelcomeDlg
 - WixUI_LicenseAgreementDlg            - WixUI_MaintenanceTypeDlg
 - WixUI_CustomizeDlg                     - WixUI_CustomizeDlg
   - WixUI_VerifyReadyDlg                 - WixUI_VerifyReadyDlg
   - WixUI_DiskCostDlg
-->

<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
    <Fragment>
       <UI Id="WixUI_NoLicenseAgreement">
        <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
        <Property Id="WixUI_Mode" Value="FeatureTree" />

        <DialogRef Id="BrowseDlg" />
        <DialogRef Id="CustomizeDlg" />
        <DialogRef Id="DiskCostDlg" />
        <DialogRef Id="ErrorDlg" />
        <DialogRef Id="ExitDialog" />
        <DialogRef Id="FatalError" />
        <DialogRef Id="FilesInUse" />
        <DialogRef Id="MaintenanceTypeDlg" />
        <DialogRef Id="MaintenanceWelcomeDlg" />
        <DialogRef Id="MsiRMFilesInUse" />
        <DialogRef Id="PrepareDlg" />
        <DialogRef Id="ProgressDlg" />
        <DialogRef Id="ResumeDlg" />
        <DialogRef Id="UserExit" />
        <DialogRef Id="VerifyReadyDlg" />
        <DialogRef Id="WelcomeDlg" />

Конечно, порядок, в котором появляются эти диалоги, контролируется «последовательностями пользовательского интерфейса» в вашей установке.

Марк

person marc_s    schedule 28.04.2009
comment
Вот оно! Почему это так сложно найти :-) Спасибо, Роб. - person marc_s; 29.04.2009
comment
Теперь я понимаю, почему я не смог его найти - это только в документах WiX 3.0, - но я продолжал искать в документах 2.0. По какой причине вы не могли поместить раздел расширенных тем и в документацию 2.0? - person marc_s; 29.04.2009
comment
Мы вообще не обновляем WiX v2.0. - person Rob Mensching; 07.05.2009
comment
Есть ли какая-либо сопроводительная документация, которая описывает (или дает примеры) того, как использовать любой из этих диалогов ?! - person Tom Bogle; 07.10.2016