2013-05-31 60 views
2

我正在修改默认FireBreath WiX脚本以在安装完成后显示简单消息。因为有时它很快,所以用户没有机会注意到它。无法在WiX安装程序中显示对话框

我有这个WXS文件

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="*" "> 
     <Package ... /> 
     <Upgrade Id="{369b048a-9f97-5e15-8ce3-c983fa5764d3}"> 
      <UpgradeVersion 
       Property="OLD_VERSION_FOUND" 
       Minimum="0.0.1" IncludeMinimum="yes" 
       Maximum="0.3.3.3" IncludeMaximum="yes" 
       OnlyDetect="no" IgnoreRemoveFailure="yes" 
       MigrateFeatures="yes" /> 
     </Upgrade> 
     <Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable" /> 
     <InstallExecuteSequence> 
      <RemoveExistingProducts After="InstallInitialize" /> 
      <InstallExecute After="RemoveExistingProducts" /> 
     </InstallExecuteSequence>   

     <Directory Id="TARGETDIR" Name="SourceDir"> 
      ... 
     </Directory> 

     <Feature Id="MainPluginFeature" Title="Plugin" Level="1"> 
      <ComponentRef Id="InstallDirComp"/> 
      <ComponentRef Id="PluginNameDirComp"/> 
      <ComponentRef Id="CompanyDirComp"/> 
      <ComponentGroupRef Id="PluginDLLGroup"/> 
     </Feature> 

     <UI> 
     <Property Id="DefaultUIFont">DlgFont10</Property> 
     <TextStyle Id="DlgFont10" FaceName="Tahoma" Size="10" /> 

     <Dialog Id="CompleteDlg" 
      Width="370" 
      Height="270" 
      Title="Plugin installed"> 

      <Control Id="Description" 
       Type="Text" 
       X="50" 
       Y="70" 
       Width="220" 
       Height="80" 
       Text="Installation complete, return to web browser." /> 

      <Control Id="Finish" 
       Type="PushButton" 
       X="180" 
       Y="243" 
       Width="56" 
       Height="17" 
       Default="yes" 
       Cancel="yes" 
       Text="OK"> 

      <Publish Event="EndDialog" Value="Exit" /> 
      </Control> 
     </Dialog> 

     <InstallUISequence> 
      <Show Dialog="CompleteDlg" OnExit="success" /> 
     </InstallUISequence> 

     <AdminUISequence> 
      <Show Dialog="CompleteDlg" OnExit="success" /> 
     </AdminUISequence> 
     </UI> 
    </Product> 
</Wix> 

但是当我建立它,我得到这些错误信息
错误2错误LGHT0204:ICE20:标准的对话框:“FilesInUse”不对话表发现
错误3错误LGHT0204:ICE20:ErrorDialog属性未在属性表中指定。确定ErrorDialog名称的必需属性
错误4错误LGHT0204:ICE20:FatalError对话框/操作未在'InstallUISequence'序列表中找到。
在'AdminUISequence'序列表中找不到错误5错误LGHT0204:ICE20:FatalError对话框/操作。
错误6错误LGHT0204:在'InstallUISequence'顺序表中找不到ICE20:UserExit对话框/操作。
在'AdminUISequence'序列表中找不到错误7错误LGHT0204:ICE20:UserExit对话框/操作。

我不需要任何其他对话框,只有这一个。如何解决这个问题?我可以忽略这些消息吗?

回答

4

如果软件包有任何对话框,Windows安装程序要求它具有显示UI的最低设置,主要是在错误条件下。 ICE20 documentation有完整的列表。

+0

可以安全地忽略这些错误吗?导致它仍然创建一个msi文件。我只是不知道在这些对话框中显示什么,有没有办法获得错误对话框发生的错误? – Sergi0

+2

如果您没有这些对话框,MSI将会以无声方式失败。我建议使用DialogRef来从WixUIExtension中提取ErrorDlg,因为它已经具有MSI要求构建的错误对话框。 –

相关问题