web-dev-qa-db-ja.com

ライセンスの削除ダイアログ

私はWix 3.6を使用して、内部で使用される単純なMSIを作成しています。ライセンス契約ダイアログを削除する簡単な方法があるかどうか知りたいのですが。

提案をありがとう

35
user1770609

私はそれを使ってスキップしました:

<UI>
  <UIRef Id="WixUI_InstallDir" />
  <Publish Dialog="WelcomeDlg"
        Control="Next"
        Event="NewDialog"
        Value="InstallDirDlg"
        Order="2">1</Publish>
  <Publish Dialog="InstallDirDlg"
        Control="Back"
        Event="NewDialog"
        Value="WelcomeDlg"
        Order="2">1</Publish>
</UI>
41
Sean

上記のXMLのこの簡略化( http://www.howdoicode.net/2011/09/wix-how-to-hide-license-agreement.html )は私にとってはうまくいきました。これは、カスタムページにフックするのではなく、ライセンスを効果的にスキップします

<UI Id='Mondo'>
  <UIRef Id="WixUI_Mondo" />
  <UIRef Id="WixUI_ErrorProgressText" />
  <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="SetupTypeDlg"  Order="3">1</Publish>
   <!-- skip the page on the way back too -->
   <Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg"  Order="3">1</Publish>
</UI>

私はwixコードをコピーして少しハックする一般的なアプローチを言わなければなりません(「組み込みダイアログセットのUIシーケンスの変更」( http://wixtoolset.org/documentation/manual/v3/ wixui/wixui_customizations.html ))は本当に運命にあります...しかし、ちょっと

7
jolyon

重要なのは、カスタムUIを作成し、さまざまなページを接続することです。 WixWikiのページを参照してください

使用しているダイアログセットのWixUIコード(Minimalなど)を取得したい場合は、<UI Id='MyAppWix_UIMinimal'>を少し変更して、メインのwxsで参照します。 WelcomeEulaDlgウェルカムダイアログの代わりに、WelcomeDlgを使用します。参照を調整し、WelcomeDlgの[次へ]ボタンをスタック内の次のダイアログに接続します。

ここにコードとの良いリンクがあります: http://www.howdoicode.net/2011/09/wix-how-to-hide-license-agreement.html

7
Natalie Carr

最近、Wix XMLファイルを模倣しているが、C#で設定をコーディングできるプロジェクトWix#に出会いました。このプロジェクトは https://wixsharp.codeplex.com にあります。最初に、ユーザーがソフトウェアをインストールする前に同意する必要がある「契約条件」を含むライセンスファイルに同じ問題がありました。 「契約条件」に同意する必要があるほどの性質のソリューションではないため、このダイアログを削除する方法を見つける必要がありました。

(Wix#で)少し検索した後、次のことを思いつきました。

WixSharp.CommonTasks.Tasks.RemoveDialogsBetween(project, 
                              WixSharp.Controls.NativeDialogs.WelcomeDlg,
                              NativeDialogs.InstallDirDlg);

さて、これは問題を完全に解決するものではないことがわかります。これは、ソリューションを再コーディングする必要があることを意味するため、次の呼び出しポートは、このプロセス中に発行されたWiXソースファイルを確認することでした。 。

それから、<UI>要素と次のもの:

<UI>
  <Publish Dialog="WelcomeDlg" 
           Control="Next" 
           Event="NewDialog" 
           Value="InstallDirDlg" 
           Order="5">1</Publish>

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

これは、ようこそダイアログNextボタンをインストールディレクトリダイアログ(またはライセンスダイアログの後のダイアログ)、および戻るボタンインストールダイアログからようこそダイアログへ-ライセンスダイアログを効果的に削除ボックス。

5
sober