C# 显示ProgressDlg时未调用自定义操作

C# 显示ProgressDlg时未调用自定义操作,c#,installation,wix,windows-installer,C#,Installation,Wix,Windows Installer,我正在尝试更新自定义ProgressDlg对话框上的进度条值,但当ProgressDlg出现时,我的自定义操作未被调用 Product.wxs <Product> <CustomAction Id="ShowTime" BinaryKey="myAction" DllEntry="ShowTime" Execute="deferred" Return="check" /> <InstallUISequence&g

我正在尝试更新自定义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>

我的问题是:

  • 如何调用我的自定义托管操作
  • 可以使用show standard ProgressDlg,但将进度分为两步(我的自定义和标准文件副本)

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

  • 直到包没有文件时才调用该操作

  • 您可以使用标准ProgressDlg,只需几个步骤即可拆分进度。在自定义操作中,我们可以重置进度条值并使用新的