1

EULAを含むインストーラーを作成してから、「カスタムインストール」または「デフォルトインストール」のどちらを実行するかを尋ねるダイアログを作成しています。

カスタムを選択すると、SQL設定に関連する一連のダイアログが表示されます(カスタムインストールを選択した場合は、次のボタンで[スタートアップメニュー]ダイアログを開始します)。

デフォルトを選択した場合、インストーラーは「インストール」段階にスキップし、それ以上質問しないようにする必要があります。どうすればよいですか?

次のボタンは次のように定義されています。

<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で何を入力する必要がありますか?

4

1 に答える 1

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" は実際に何をしていると思いますか? どこにジャンプしますか?

于 2009-08-18T01:41:07.617 に答える