`<Show Dialog =“ CustomTextA” OnExit =“ success” />`不起作用

时间:2019-11-06 15:17:09

标签: 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版本升级后,可能出了点问题。

1 个答案:

答案 0 :(得分:1)

  

摘要 :请尝试download the sample below并在Visual Studio中进行查看。另请阅读下面的分步说明,以了解如何将其用作模板。我会在 WixUI_MyMondo.wxs 文件中收集所有GUI标记。 确保也略过链接的先前答案


WiX自定义对话框示例 :我有一个WiX custom GUI sample here(只需单击下载)。这是一种 "Hello WiX" 的事情-旨在尽可能简单,但没有更简单。换句话说,它只是在做几件事。

  • 它将标准的WiX对话框源标记复制到文件WixUI_Mondo.wxs中,并调用新文件 WixUI_MyMondo.wxs 。它放在 Product.wxs 旁边。
  • Product.wxs 文件中包含带有 <UIRef Id="WixUI_MyMondo" /> 的自定义版本(而不是标准的 <UIRef Id="WixUI_Mondo" /> < / strong>),允许根据需要更改 WixUI_MyMondo.wxs 文件。
  • 其余对话框从 WixUIExtension.dll 文件链接(通常)。
  • 我始终将所有对话框事件和配置保留在 WixUI_MyMondo.wxs 内-这意味着我尝试避免在 Product.wxs 内使用对话框构造。
  • li>

请下载并检查样本。据我所知,要从您提供的标记中推断出更多是不可能的。


先前的答案 :以下是关于WiX GUI问题的两个先前的答案。与其以可能会漏掉您真正问题的方式重写内容,不如将它们略过吗?


链接 :设置GUI上的一些其他链接。 Burn是WiX的 setup.exe 生成器。它可以有自己的GUI,而不是嵌入在MSI文件中的GUI。