` 不起作用,wix"/>

首页 > 解决方案 > `` 不起作用

问题描述

我的wxs文件中有以下代码:

  <UI>
      <Dialog Id="CustomTextA"
              Width="370"
              Height="270"
              Title="$(loc.InstallDirDlg_Title)">
          <Control Id="NextButton"
                   Type="PushButton"
                   X="236"
                   Y="243"
                   Width="56"
                   Height="17"
                   Default="yes"
                   Text="$(loc.WixUINext)">
              <Publish Event="EndDialog"
                       Value="Return"><![CDATA[CustomTextA_NextArgs=""]]></Publish>
              <Publish Event="NewDialog"
                       Value="[CustomTextA_NextArgs]"><![CDATA[CustomTextA_NextArgs<>""]]></Publish>
          </Control>
          ....
      </Dialog>

      <InstallUISequence>
          <Custom Action="CustomTextA_SetProperty_EDIT2"
                  After="CustomTextA_SetProperty_EDIT1" />
          <Custom Action="CustomTextA_SetProperty_EDIT1"
                  After="ValidateProductID" />
          <Custom Action="CustomTextA_SetProperty_EDIT3"
                  After="CustomTextA_SetProperty_EDIT2" />
          <Custom Action="CustomTextA_SetProperty_EDIT4"
                  After="CustomTextA_SetProperty_EDIT3" />

          <Custom Action="ERRCA_UIANDADVERTISED"
                  Before="AppSearch"><![CDATA[ProductState=1]]></Custom>

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

      <AdminUISequence>
          <Show Dialog="CustomTextA"
                OnExit="success" />
      </AdminUISequence>
  </UI>

CustomTextA安装成功后不显示对话框,并显示标准ExitDialog

代码中可能有什么问题?

我不确定海关的行为是Custom Action="CustomTextA_SetProperty_EDIT2"为了什么,但我让他们按原样提供代码。

Wix 版本是 3.11(从早期的 Wix 版本升级后可能出现问题)。

标签: wix

解决方案


摘要:请尝试下载下面的示例并在 Visual Studio 中查看。另请阅读下面的分步说明,了解如何将其用作模板。我会收集WixUI_MyMondo.wxs文件中的所有 GUI 标记。一定要浏览之前链接的答案


WiX 自定义对话框示例:我在这里有一个 WiX 自定义 GUI 示例(只需单击下载)。这是"Hello WiX"一种东西——旨在尽可能简单,但并不简单。换句话说,它只是在做几件事。

  • 它复制文件中的标准 WiX 对话框源标记WixUI_Mondo.wxs并调用新文件WixUI_MyMondo.wxs。它放在旁边Product.wxs
  • 然后主Product.wxs文件包含定制版本<UIRef Id="WixUI_MyMondo" />(而不是标准<UIRef Id="WixUI_Mondo" />),允许根据WixUI_MyMondo.wxs需要更改文件。
  • 其余对话框从WixUIExtension.dll文件链接(正常)。
  • 我总是将所有对话框事件和配置保存在里面WixUI_MyMondo.wxs——这意味着我尽量避免在里面构造对话框Product.wxs

请下载并检查示例。不可能 - 据我所知 - 从您提供的标记中推断出更多。


以前的答案:这是关于 WiX GUI 问题的两个以前的答案。与其以可能错过您真正问题的方式重写内容,不如略读它们好吗?


链接:设置 GUI 上的一些进一步链接。Burn 是 WiX 的setup.exe生成器。它可以有自己的 GUI,与嵌入在 MSI 文件中的 GUI 分开。


推荐阅读