在WIX项目中包含修改后的FilesInUse对话框

260*_*986 0 wix wix-extension wix3.5

我有一个修改过的FilesInUse对话框.只是将它包含在项目中并在UI中更改引用也没有用 - 我在构建安装项目时得到"ICE20:标准对话框:'对话表中找不到'FilesInUse'"错误.

浏览网络我发现了一条建议 - 为ICE20压制ICE验证.好吧,使用这样的设置构建项目工作正常,msi也可以正常工作,但我不确定这是一个很好的解决方案.

另一个建议是修改FilesInUse并从引用中删除WixUIExtension,但据我所知这样,我最终会将所有需要的对话框文件复制到我的项目中.这是我想避免的.

那么,可以做些什么来正确地在WIX项目中包含我的自定义FilesInUse?

小智 5

您可以按以下方式使用自定义FilesInUse对话框:

<Fragment>
<UI>
  <Dialog Id="FilesInUse" Width="370" Height="270" Title="Your product name">
    <Control Id="Retry" Type="PushButton" X="304" Y ="243" Width="56" Height="17" Text="Retry" Default="yes" Cancel="yes">
      <Publish Event="EndDialog" Value="Retry">1</Publish>
    </Control>
    <Control Id="Ignore" Type="PushButton" X="235" Y ="243" Width="56" Height="17" Text="Ignore">
      <Publish Event="EndDialog" Value="Ignore">1</Publish>
    </Control>
    <Control Id="Exit" Type="PushButton" X="235" Y ="243" Width="56" Height="17" Text="Exit">
      <Publish Event="EndDialog" Value="Exit">1</Publish>
    </Control>
    <Control Id ="InUseFiles" Type="ListBox" Width="300" Height="150" X="30" Y ="60" Property="FileInUseProcess" Sorted="yes" TabSkip="yes" />
  </Dialog>
</UI>
</Fragment>
Run Code Online (Sandbox Code Playgroud)

您只需使用标记将此Dialog引用到Custom InstallDialog中

<DialogRef Id="FilesInUse" />
Run Code Online (Sandbox Code Playgroud)

提到的所有标签都是ICE20 Dialog Requierements的一部分

希望这可以帮助.祝你今天愉快.