WiX 3.0: список доступных диалогов UI - PullRequest
7 голосов
/ 28 апреля 2009

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

Пожалуйста, перечислите все диалоги, о которых вы знаете, и что они делают.

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

Также, я нашел список стандартных диалогов на wixwiki.com

Ответы [ 3 ]

8 голосов
/ 02 мая 2009

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

Спасибо!

3 голосов
/ 28 апреля 2009

Если вы загрузите последний источник для 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.

1 голос
/ 28 апреля 2009

Вы уже посмотрели великолепное Учебное пособие по WiX, на котором есть страница UI ( архив )?

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

РЕДАКТИРОВАТЬ: действительно кажется очень трудно найти полный список этих диалогов! Привет, Роб - если ты читаешь это - это будет БОЛЬШОЕ дополнение к твоему файлу справки WiX и FAQ на 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" />

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

Марк

...