如何在Wix安装程序的自定义操作中停止进度栏关闭对话框

问题描述:

我已经用C++编写了进度条代码,并且已将该dll集成到Wix中的自定义操作代码中,以下是我在WIX for Proceed巴顿和它的自定义操作如何在Wix安装程序的自定义操作中停止进度栏关闭对话框

<Control Id="proceedButton" Type="PushButton" Text="[Proceed]" Height="62" Width="222" X="90" Y="180" Bitmap="yes"> 
     <Publish Event="DoAction" Value="RegistrationInfoCustomAction">1</Publish> 
     <Publish Event="EndDialog" Value="Return">1</Publish> 
    </Control> 


<Binary Id="CustomActionBinary" SourceFile="$(var.RegistrationInfoCustomAction.TargetDir)$(var.RegistrationInfoCustomAction.TargetName).dll"/> 
<CustomAction Id="RegistrationInfoCustomAction" BinaryKey="CustomActionBinary" DllEntry="CAProgress" /> 

我的DLL的代码出现在这里MSDN - https://msdn.microsoft.com/en-us/library/windows/desktop/aa367525(v=vs.85).aspx

在继续按钮会出现一个新的对话框,控制动作的进度条的点击 -

<Control Id="InfoText" Type="Text" X="50" Y="30" Width="200" Height="17"> 
<Subscribe Event="ActionData" Attribute="Text" /> 

<Control Id="ProgressBar" Type="ProgressBar" X="20" Y="115" Width="330" Height="10" ProgressBlocks="yes" Text="Hello"> 
<Subscribe Event="SetProgress" Attribute="Progress" /> 
</Control> 

两个问题 -

  1. 进度栏不填100%
  2. 后进度条填充对话框关闭自动。即使我尝试过使用Modeless =“yes”和KeepModeless =“no”,它的所有组合都是如此。

您能否让我知道我该如何解决这些问题。

只需将下一个对话框的show标签放置在您保留进度条控件的同一个对话框中即可。 这一定会奏效。

+0

感谢它的工作。 –

+0

你能否提供更多的细节? – Ven