WiX ツールセット: WiX のクイック スタートのヒント(リソースへのリンク集)。WiX は DTF をインストールします。
物事がさらに簡単になったことに言及したいだけです。Windows インストーラー オブジェクト モデル用の完全な .NET ラッパーがあるため、COM 相互運用のぎこちなさを回避できます。
DTF - はじめに: メイン ファイル:Microsoft.Deployment.WindowsInstaller.dll
- WiX ツールキットをダウンロードしてインストールする
WixInstallPath\SDK
ディレクトリで以下のファイルを見つけます
ラッパーは " Deployment Tools Foundation " (DTF) と呼ばれ、基本的な説明は次のとおりです: " Deployment Tools Foundation は、Windows 展開プラットフォーム テクノロジを .NET の世界にもたらす .NET クラス ライブラリと関連リソースの豊富なセットです。は、基盤となるテクノロジーの完全な機能を公開しながら、展開関連の開発タスクを大幅に簡素化するように設計されています。」
以下は、簡略化された実践的なサンプルです。
using (var db = new Database(FullPath, DatabaseOpenMode.ReadOnly))
{
PackageCode = db.SummaryInfo.RevisionNumber;
AppVendor = db.SummaryInfo.Author;
AppName = db.SummaryInfo.Title;
ProductName = db.SummaryInfo.Subject;
ProductCode = (string)db.ExecuteScalar("SELECT `Value` FROM "+
"`Property` WHERE `Property` = 'ProductCode'");
AppVersion = (string)db.ExecuteScalar("SELECT `Value` FROM "+
"`Property` WHERE `Property` = 'ProductVersion'");
UpgradeCode = (string)db.ExecuteScalar("SELECT `Value` FROM "+
" `Property` WHERE `Property` = 'UpgradeCode'");
}
主な DTF ファイル(後者の 2 つは最もよく使用されるファイルです):
- Microsoft.Deployment.Compression.dll - アーカイブのパッキングとアンパッキングのためのフレームワーク。
- Microsoft.Deployment.Compression.Cab.dll - キャビネット アーカイブのパックとアンパックを実装します。
- Microsoft.Deployment.Resources.dll - 実行可能ファイルのリソース データを読み書きするためのクラス。
- Microsoft.Deployment.WindowsInstaller.dll - Windows インストーラー API 用の完全な .NET ベースのクラス ライブラリ。
- Microsoft.Deployment.WindowsInstaller.Package.dll - Windows インストーラーのインストールとパッチ パッケージを操作するための拡張クラス。
C# プロジェクトを作成し、これらのファイルを参照して、必要に応じて制御できる独自の展開アプリケーションをコーディングするだけです。現時点では DTF 用のツールをセットアップしていませんが、C# プログラムがどのように機能するかについての一般的なアイデアについては、このサンプルを参照してください。
- DTF は WIX に含まれています。ここから WiX をダウンロードします。
- DTF dll は、メインの WiX インストール フォルダーの SDK フォルダーにあります (デフォルトの場所は %ProgramFiles(x86)%\WiX Toolset v3.10\SDK です)。バージョン番号は、これが表示されるまでにはおそらく異なるでしょう。%ProgramFiles(x86)% の下にある WiX フォルダを探してください。
- 「doc」フォルダでDTF ヘルプ ファイルを探します。DTF.chmおよびDTFAPI.chm。オブジェクト モデルとその使用法に関する非常に優れたドキュメントです。
- DTF の詳細については、この serverfault.com の投稿を参照してください。
- WiX を使用するためのいくつかのスターターの提案