如何解决Wix自定义对话框错误:ICE03:不是有效的外键Visual Studio 2019
我想通过一个自定义对话框来自定义序列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:不是有效的外键;表:ControlEvent,列:Control_,键:UserRegDialog.Next.NewDialog.PrepareDlg。
解决方法
ICE&ICE3 :ICE03通常为explained with an example here。
参照完整性 :您没有为 UserRegDialog 留空控制字段。你为什么这样做?实际上,这可能会导致ICE03,因为它构成了ControlEvent table中损坏的外键(如您所见,它在 Dialog
和 {{1 }} 表)。
对话框顺序 :Here is an example on customizing WiX dialog sequence。看看它是否可以澄清。 Here is a sample on custom WiX dialogs。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。