安装顺序

时间:2009-08-18 00:34:56

标签: wix wix3

我正在编写一个安装程序,其中包含一个EULA,然后是一个对话框,询问他们是否要执行“自定义安装”或“默认安装”。

如果他们选择自定义,他们会获得一系列与SQL设置相关的对话框(如下所示,如果他们选择了自定义安装,则启动'StartupMenu'对话框的下一个按钮)。

如果他们选择默认,安装程序应跳到“安装”阶段,不再询问任何问题。我该怎么做?

我的下一个按钮定义如下,

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="no" Text="Next" >
  <Publish Event="NewDialog" Value="StartupMenu" >CUSTOMINSTALL = 1</Publish>
  <Publish Event="EndDialog" Value="Return">CUSTOMINSTALL = 0</Publish>
</Control>

当CUSTOMINSTALL = 1时它很好,但它是下一行,我必须使用CUSTOMINSTALL = 0来使它直接进入安装阶段?

1 个答案:

答案 0 :(得分:0)

这个更新。我发现第一个问题是我的InstallUISequence表,我必须这样做,

<InstallUISequence>
    <Custom Action="CreateConnectionStrings" After="ExecuteAction">NOT Installed</Custom>
    <Show Dialog="CustomInstall" After="WelcomeEulaDlg" >NOT Installed</Show>
    <Show Dialog="StartupMenu" After="CustomInstall" >NOT Installed and CUSTOMINSTALL = 1</Show>
    <Show Dialog="iCalibraDatabaseSelection" After="StartupMenu">NOT Installed and CUSTOMINSTALL = 1</Show>
    <Show Dialog="GlobalStoreDatabaseSelection" After="iCalibraDatabaseSelection">NOT Installed and CUSTOMINSTALL = 1</Show>
</InstallUISequence>

请注意,在StartupMenu,iCalibraDatabaseSelection和GlobalStoreDatabaseSelection对话框中,我添加了新条件CUSTOMINSTALL = 1.

当我选择“默认安装”选项时,这解决了我的问题。这会跳到安装过程。

我现在遇到的问题是当我选择“自定义安装”选项时。我将浏览上述每个对话框,GlobalStoreDatabaseSelection对话框应该是最后一个对话框。在那个对话框中我有这个,

<Control Id="Install" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="no" Text="Install" >
      <Publish Event="EndDialog" Value="Return"></Publish>
</Control>

但这并没有使安装程序进行实际安装。它会跳回StartupMenu对话框。

所以我想是什么Event =“EndDialog”Value =“Return”实际上是做什么的?它跳到哪里去了?