无法在WiX安装程序中显示对话框

时间:2013-05-31 20:42:55

标签: wix installer firebreath

我正在修改默认的FireBreath 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:在'InstallUISequence'序列表中找不到FatalError对话框/操作。
错误5错误LGHT0204:ICE20:在'AdminUISequence'序列表中找不到FatalError对话框/操作。
错误6错误LGHT0204:ICE20:在“InstallUISequence”序列表中找不到UserExit对话框/操作。
错误7错误LGHT0204:ICE20:在'AdminUISequence'序列表中找不到UserExit对话框/操作。

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

1 个答案:

答案 0 :(得分:4)

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