Wix Custom Dialog Error : ICE03: Not a valid foreign key Visual Studio 2019
Wix Custom Dialog Error : ICE03: Not a valid foreign key Visual Studio 2019
我想通过一个自定义对话框来自定义 sequence wix 安装程序,在该对话框中我可以在继续安装之前处理来自用户的输入
我用
<UI Id="WixUI_Minimal">
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
<TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<Property Id="WixUI_Mode" Value="Minimal" />
<!--Define all needed dialogs-->
<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="WelcomeDlg" />
<DialogRef Id="UserRegDialog" />
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="UserRegDialog">1</Publish>
<Publish Dialog="UserRegDialog" Control="" Event="NewDialog" Value="PrepareDlg">1</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">2</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg" Order="2">2</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg" Order="2">2</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg" Order="2">2</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">2</Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">2</Publish>
<Property Id="ARPNOMODIFY" Value="1" />
</UI>
我的定制在以下部分:
其中 UserRegDialog 是我的自定义对话框
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="UserRegDialog">1</Publish>
<Publish Dialog="UserRegDialog" Control="" Event="NewDialog" Value="PrepareDlg">1</Publish>
但是当我构建设置时,我遇到了一个问题:
ICE03:不是有效的外键; Table:ControlEvent,列:Control_,键:UserRegDialog.Next.NewDialog.PrepareDlg。
ICE 和 ICE3: ICE03 in general explained with an example here.
参照完整性:您遗漏了的控制字段 ]UserRegDialog 为空。你为什么这样做?这确实可能会导致 ICE03,因为这构成 ControlEvent table 中的损坏外键(正如您将看到它具有 Dialog
和 [=24 中的外键=]Control
表).
对话序列:Here is an example on customizing WiX dialog sequence. Have a look to see if it clarifies things. Here is a sample on custom WiX dialogs.
我想通过一个自定义对话框来自定义 sequence wix 安装程序,在该对话框中我可以在继续安装之前处理来自用户的输入
我用
<UI Id="WixUI_Minimal">
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
<TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<Property Id="WixUI_Mode" Value="Minimal" />
<!--Define all needed dialogs-->
<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="WelcomeDlg" />
<DialogRef Id="UserRegDialog" />
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="UserRegDialog">1</Publish>
<Publish Dialog="UserRegDialog" Control="" Event="NewDialog" Value="PrepareDlg">1</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">2</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg" Order="2">2</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg" Order="2">2</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg" Order="2">2</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">2</Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">2</Publish>
<Property Id="ARPNOMODIFY" Value="1" />
</UI>
我的定制在以下部分:
其中 UserRegDialog 是我的自定义对话框
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="UserRegDialog">1</Publish>
<Publish Dialog="UserRegDialog" Control="" Event="NewDialog" Value="PrepareDlg">1</Publish>
但是当我构建设置时,我遇到了一个问题:
ICE03:不是有效的外键; Table:ControlEvent,列:Control_,键:UserRegDialog.Next.NewDialog.PrepareDlg。
ICE 和 ICE3: ICE03 in general explained with an example here.
参照完整性:您遗漏了的控制字段 ]UserRegDialog 为空。你为什么这样做?这确实可能会导致 ICE03,因为这构成 ControlEvent table 中的损坏外键(正如您将看到它具有 Dialog
和 [=24 中的外键=]Control
表).
对话序列:Here is an example on customizing WiX dialog sequence. Have a look to see if it clarifies things. Here is a sample on custom WiX dialogs.