2017-02-12 75 views
0

我試圖通過編寫我自己的退出對話框來修復退出對話框中的複選框背景問題。但是,無論我嘗試什麼,我都無法編譯它。 最後,我總是得到錯誤ICE82: This action MyExitDialog has duplicate sequence number -1 in the table InstallUISequenceAdminUISequence相同。我見過很多人用安裝序列實現自己的對話框的例子。有什麼我做錯了嗎?我使用的WiX工具集V3.10WiX Toolset覆蓋退出對話框導致編譯錯誤

我退出對話框:

<Fragment> 
    <UI> 
    <Dialog Id="MyExitDialog" Width="370" Height="270" Title="!(loc.ExitDialog_Title)"> 
     <Control Id="Finish2" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" /> 
     <Control Id="Cancel2" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" /> 
     <Control Id="Bitmap2" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" /> 
     <Control Id="Back2" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" /> 
     <Control Id="BottomLine2" Type="Line" X="0" Y="234" Width="370" Height="0" /> 
     <Control Id="Description2" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogDescription)" /> 
     <Control Id="Title2" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogTitle)" /> 
     <Control Id="OptionalText2" Type="Text" X="135" Y="110" Width="220" Height="80" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="[WIXUI_EXITDIALOGOPTIONALTEXT]"> 
     <Condition Action="show">WIXUI_EXITDIALOGOPTIONALTEXT AND NOT Installed</Condition> 
     </Control> 
     <Control Id="OptionalCheckBox2" Type="CheckBox" X="139" Y="206" Width="13" Height="13" Hidden="yes" Property="WIXUI_EXITDIALOGOPTIONALCHECKBOX2" CheckBoxValue="1"> 
     <Condition Action="show">WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT AND NOT Installed</Condition> 
     </Control> 
     <Control Type="Text" Id="OptionalCheckBoxText2" Width="190" Height="17" X="154" Y="206" Text="[WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT]"> 
     <Condition Action="show">WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT AND NOT Installed</Condition> 
     </Control> 
    </Dialog> 
    </UI> 
    <InstallUISequence> 
    <Show Dialog="MyExitDialog" OnExit="success">1</Show> 
    </InstallUISequence> 
    <AdminUISequence> 
    <Show Dialog="MyExitDialog" OnExit="success">1</Show> 
    </AdminUISequence> 
</Fragment> 

我的UI:

<Fragment> 
    <UIRef Id="WixUI_Common" /> 
    <UI Id="MyWixUI"> 
    <TextStyle Id="WixUI_Font_Normal" FaceName="Segoe UI" Size="9" /> 
    <TextStyle Id="WixUI_Font_Bigger" FaceName="Segoe UI" Size="12" /> 
    <TextStyle Id="WixUI_Font_Title" FaceName="Segoe UI" Size="9" Bold="yes" /> 
    <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> 
    <Property Id="WixUI_Mode" Value="InstallDir" /> 
    <DialogRef Id="WelcomeDlg" /> 
    <DialogRef Id="DiskCostDlg" /> 
    <DialogRef Id="VerifyReadyDlg" /> 
    <DialogRef Id="ErrorDlg" /> 
    <DialogRef Id="FatalError" /> 
    <DialogRef Id="FilesInUse" /> 
    <DialogRef Id="MsiRMFilesInUse" /> 
    <DialogRef Id="PrepareDlg" /> 
    <DialogRef Id="ProgressDlg" /> 
    <DialogRef Id="ResumeDlg" /> 
    <DialogRef Id="UserExit" /> 
    <DialogRef Id="MyExitDialog" /> 
    <DialogRef Id="BasicFeatureDlg" /> 
    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="BasicFeatureDlg" Order="0">1</Publish> 
    <Publish Dialog="BasicFeatureDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="1">1</Publish> 
    <Publish Dialog="BasicFeatureDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="1">1</Publish> 
    <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="BasicFeatureDlg" Order="2">NOT Installed</Publish> 
    <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish> 
    <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed</Publish> 
    <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish> 
    <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> 
    <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> 
    <Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish> 
    <!--<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>--> 
    <Publish Dialog="MyExitDialog" Control="Finish2" Event="DoAction" Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX2 = 1 and NOT Installed</Publish> 
    </UI> 
</Fragment> 

回答

0

顯然,這是在我結束一個錯誤。顯然,以下內容嵌套在我的發佈列表中,引用它引起ICE錯誤。一旦我將其更改爲Dialog="MyExitDialog",編譯的所有內容以及我的新退出對話框都起作用了!我想以前的版本是參考ExitDialog

<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>