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

时间:2012-12-25 11:00:17

标签: c# installer wix windows-installer

我正在尝试更新自定义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. 可以使用show standard ProgressDlg但是分两步(我的自定义文件和标准文件副本)分割进度吗?

1 个答案:

答案 0 :(得分:0)

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

  1. 直到没有文件的包

  2. 之后才会调用此操作
  3. 您可以使用标准ProgressDlg并在几个步骤中拆分进度。在自定义操作中,我们可以重置进度条值并使用新的

  4. 进行更新