1

MSI インストーラーを動的に作成したい場合、candle.exe や light.exe などの wix sdk アプリケーションを含めずにこれを行う方法はありますか? アプリケーションが C# で記述されている場合、Microsoft.Deployment.WindowsInstaller.Package.dll またはその他の wix dll を参照して、たとえば新しい MSI ファイルを作成できますか?

基本的に、wix コンソール アプリケーションを参照することなく、コンソール アプリケーションを使用して msi ファイルを動的に作成したいと考えています。

4

2 に答える 2

1

アプリケーションが C# で記述されている場合、Microsoft.Deployment.WindowsInstaller.Package.dll またはその他の wix dll を参照して、たとえば新しい MSI ファイルを作成できますか?

はい。これらの Microsoft.Deployment.* DLL は「Deployment Tools Foundation」と呼ばれ、 wix インストールのdocフォルダーにあるdtf.chmおよびdtfapi.chmファイルに文書化されています。

新しい MSI をゼロから作成するには、次のように開始します。

string path = "path/to/myinstaller.msi";
using (var db = new Database(path, DatabaseOpenMode.Create))
{
    // lots of SQL queries to put stuff in the database here
}

または、既存のテンプレート MSI ファイルをコピーし、SQL クエリを使用して変更することもできます。

また、バイナリ ファイルをパッケージ化してデータベースに追加する必要があります。InstallPackageクラスでmsiを開くことでそれを行うことができます。

いずれにしても、この方法でインストーラーを作成するには、Windows インストーラー データベース テーブルに関する詳細な知識が必要です。

于 2012-05-21T08:37:56.737 に答える
0

あなたはそれを行うことができます: WiX API (WiX によって課されるライセンス条件に従う) とWindows Installer APIを直接使用できます。

于 2012-05-21T08:21:00.433 に答える