2017-08-08 5 views
0

私は自分の製品のインストーラを作るのにNSISを使ったことがありましたが、Wixははるかにクリーンでコード化されており、柔軟性があるという情報がありました。Wix Installerを使っていくつかの機能をインストールするかどうかを選択する方法は?

私は問題がありますが、インストール中にユーザーがMySqlをインストールするかどうかを決定する場合があります。

どうすれば設定できますか?

私は主MSIパッケージを呼び出すブートストラップを使用しています(製品とダイアログを使用して設定し、そこにユーザがMySqlをインストールするかどうか設定することができます)。同じブートストラップでは、私はMySqlインストーラコールを持っています。必要なときにのみどのようにインストールできますか?私のファイル構造について説明すると

私はブートストラップでBundle.wxsでMySql.wxsフラグメント、およびPackageGroupRefを持っています。

答えて

0

WiX Managed Bootstrapperアプリケーションでは、これをPlanPackageBeginイベントで設定できます。

BootstrapperApplication.PlanPackageBegin += PlanPackageBeginExecute; 

private void PlanPackageBeginExecute(object sender, PlanPackageBeginEventArgs e) 
{ 
    if(e.PackageId == "your package ID") 
    { 
     e.State = RequestState.None; 
    } 
} 

PackageStateをNONEに設定すると、パッケージのインストールがスキップされます。

+0

コードでこれを行う必要がありますか? .wsxファイルからパッケージのタグを設定して動作させることはできますか? C#コードの使用は、(私のScrumMasterの観点から)全く解決策ではありませんが、あなたが他の解決策を知らないと私が言うなら、私はそれを行います。 ありがとうございました:) –

+0

.wxsファイルで実行できるかどうかはわかりません。 –

+0

いいえ どこにこのコードを挿入する必要がありますか? .dllでコンパイルする必要がありますか? WiXには、wxsファイルのコードを実行するためのタグ(htmlのようなものです)がありますか? –

関連する問題