2013-05-28 68 views
2

我在我的安裝項目中的兩個維克斯對話框顯示的OnExit究竟選擇哪個維克斯對話框基於條件

最終形式是當安裝與狀態「成功」

<Dialog Id="FinishedForm"> 
    ... 
</Dialog> 

終止時要顯示並在頁面上顯示關於我們產品的幾張幻燈片。

<Dialog Id="IntroductionTourPage"> 
    ... 
    <Control Id="SkipTourButton" Type="PushButton"> 
     <Publish Event="NewDialog" Value="FinishedForm">1</Publish> 
    </Control> 
    ... 
</Dialog> 

我想IntroductionTourPage只有在安裝產品後(不升級或刪除)中顯示,但我不知道該怎麼做。我試過

<InstallUISequence> 
    <Show Dialog="FinishedForm" OnExit="success">Condition</Show> 
    <Show Dialog="IntroductionTourPage" OnExit="success">NOT Condition</Show> 
</InstallUISequence> 

但它在威克斯無效,所以這種方法失敗了。然後我試了

<InstallUISequence> 
    <Show Dialog="FinishedForm" Sequence="1">Condition</Show> 
    <Show Dialog="IntroductionTourPage" Sequence="2">NOT Condition</Show> 
</InstallUISequence> 

它沒有工作。我試過

<InstallUISequence> 
    <Show Dialog="FinishedForm" OnExit="success"/> 
    <Show Dialog="IntroductionTourPage" Before="FinishedForm">Condition</Show> 
</InstallUISequence> 

但它在威克斯也是無效的。

現在我想嘗試像水木清華:

<InstallUISequence> 
    <Custom Action="CA_ChooseAndShowDialogBasedOnCondition" OnExit="success"/> 
</InstallUISequence> 

,但我無法找到任何例如如何顯示從CA.維克斯對話

任何想法?

由於提前, 舍甫琴科

+0

我還考慮實施CA其中dinamically創建UI(例如:http://blog.deploymentengineering.com/2008/07/dynamic-windows -installer-ui.html)但我找不到任何有關此技術的詳細教程 – Andriy

+0

@Vinoth,您的方法是可行的,但是我在每個對話框中都有很多控件,其中一些控件已經使用了條件,我不希望代碼變得徹底混亂。 – Andriy

回答

1

我有東西給你不同的解決方案。如果您發現這適合您的要求,請嘗試此操作。

FinishedForm添加所有控件IntroductionTourPage。作爲成功退出對話框使用IntroductionTourPage。根據條件顯示對話框IntroductionTourPage對話框。

現在介紹頁面將按照條件作爲FinishedFormIntroductionTourPage。如果需要,您可以使用IntroductionTourPage中的FinishedForm對話框。

實施例:標題控制在IntroductionTourPage

<Control Id="Title" Type="Text" X="188" Y="22" Width="330" Height="22" Transparent="yes" NoPrefix="yes" Text="Welcome to the IntroductionTourPage" > 
      <Condition Action="hide">Condition</Condition> 
    </Control> 
    <Control Id="FinishTitle" Type="Text" X="188" Y="15" Width="316" Height="22" Transparent="yes" NoPrefix="yes" Text="Completed the Sample Setup Wizard" Hidden="yes"> 
      <Condition Action="show">Condition</Condition> 
    </Control>