2011-01-18 16 views
0

インストール後に終了ダイアログをスキップすることはできますか?Wix 3、ドロップダウンダイアログ

私たちがこれを望むのは、最初のインストールが完了したときに新しいインストールを開始し、それが機能するからです。ただし、ユーザーが「終了」ダイアログで完了した後にインストールが開始されますが、代わりに新しいインストールが実行され、完了するまでは開始されません。

  • ユーザーの.msi、との対話を実行します:

    ここにいくつかの手順でhttps://gist.github.com/raw/784215/7f7cc7dca73e10fd7d991c3926269719d6b204c6/mycustomui.wxs

    は私が何をしたいです:

    我々が使用するコードはで見つけることができますコンボボックスと言語が表示されます

  • ユーザーがコンボボックスで言語を選択して[次へ]ボタンを押します。
  • インストーラが「実」mをアンパック/インストールしますsiを実行してから終了し、カスタムアクションを使用して正しいパラメータで「本物の」インストールを開始します。

答えて

1

上記のシナリオに最も適したものをbootstrapperといいます。いくつかの選択肢があります、あなたはthis thread興味深い見つけることができます。ところで、私が知る限り、dotNetInstallerは、あなたが説明した言語のシナリオをサポートしています。

+0

問題はすべてのブートストラップが私にexeファイルを与えて、それがソフトウェアを多くのユーザーに配布する人にはうまくいかないことです。私はmsiが必要なのです。 – Qwark

+0

その要件を再考する必要があります。 MSIを連鎖させるにはEXEが必要です。これは、業界で最も広く受け入れられているベストプラクティスです。 –

0

現在<UIRef Id="WixUI_Common" />Customizing Built-in WixUI Dialog Setsの「ビルトインダイアログセットのUIシーケンスの変更」の章を参照してください使用しています。既存のUIをカスタマイズする方法が説明されています。ここでは、そのページからの例です。たとえば

、 WixUI_InstallDirダイアログセットから LicenseAgreementDlgを削除するには、 次の操作を行います:

  1. コピー定義された内の全内容WiXソースの WixUI_InstallDir.wxs コードをプロジェクトに追加してください。
  2. LicenseAgreementDlgの[戻る]および[次へ]を追加するために使用される要素を削除します。 イベント。
  3. 変更の代わり LicenseAgreementDlgの InstallDirDlgに行くためにWelcomeDlgを 次へイベントを追加するために使用される要素。たとえば、次のように

    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">1</Publish> 
    
  4. 変更の代わり LicenseAgreementDlgの WelcomeDlgに行くためにInstallDirDlgを する戻るイベントを追加するために使用される要素。たとえば:

    <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish> 
    

また、独自のUI定義を作成することができます。 (UIやUIRefを含まない場合、UIはまったくありません)。