显示ProgressDlg时不调用自定义操作

本文关键字:自定义 操作 调用 ProgressDlg 显示 | 更新日期: 2023-09-27 17:49:33

我正在尝试更新我的自定义ProgressDlg对话框的进度条值,但是我的自定义操作在ProgressDlg出现时不调用

Product.wxs

    <Product>
         <CustomAction Id="ShowTime" BinaryKey="myAction"  DllEntry="ShowTime" Execute="deferred" Return="check" />    
         <InstallUISequence>
              <!-- replace standart progress dialog with my custom -->
              <Show Dialog="DbProgressDlg" After="ProgressDlg" />      
         </InstallUISequence>    
         <InstallExecuteSequence>
              <!-- call? when? not clear -->
              <Custom Action="ShowTime" After="InstallInitialize"></Custom>
         </InstallExecuteSequence>
    </Product>

我的自定义对话框DbProgressDlg.wxs

<UI>
     <Dialog>
        <Control Id="InfoText" Type="Text" X="50" Y="130" Width="250"  Height="17">
          <Subscribe Event="ActionData" Attribute="Text" />
        </Control>
        <Control Id="MyProgressBar" Type="ProgressBar" X="50" Y="50"   Width="250" Height="20">
          <Subscribe Event="SetProgress" Attribute="Progress" />
        </Control>
     </Dialog>
     <ProgressText Action="ShowTime" Template="Doing Stuff: [1]" />
</UI>

我的问题:

  1. 如何调用我的自定义管理操作?
  2. 可以使用显示标准ProgressDlg,但分裂的进展在两个步骤(我的自定义,然后标准文件复制)?

显示ProgressDlg时不调用自定义操作

看起来很有趣,但问题是在文件的部分。

  1. 操作直到你的包没有文件时才被调用

  2. 您可以使用标准的ProgressDlg和分割进度在几个步骤。在自定义动作中,我们可以重置进度条值并使用新的

  3. 进行更新。