2

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

产品.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 但将进度分为两步(我的自定义文件和标准文件副本)吗?
4

1 回答 1

0

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

  1. 直到您的包没有文件才调用该操作

  2. 您可以使用标准 ProgressDlg 并通过几个步骤拆分进度。在自定义操作中,我们可以重置进度条值并使用我们的新值更新它

于 2012-12-28T17:42:59.657 回答