このソリューションでは、Visual Studio 2008でセットアッププロジェクトを使用し、.NETフレームワークに組み込まれているInstaller
クラスを使用しています。他のリンクはhereとhereです。
ここで何をするかの基本的なアウトラインです:
- がクライアントのにアプリケーションをインストールするセットアッププロジェクトを追加します
- クライアントのPCにインストールされますプロジェクトに
Installer
クラスのインスタンスを追加します。 PC
- インストール中の特定の時点で発生するセットアッププロジェクト内のアクションを定義する
Installer
クラスの関連するメソッドをオーバーライドして、エンドユーザーのデータベース接続の詳細を取得するグラムアプリケーションのインストール
- インストーラのコンテキスト内でカスタムメソッド/クラス/実行ファイルを実行し、
を行わなければならない何
(アンインストールの場合)データベース接続設定を保存ここでステップですステップバイステップガイド:
Installer
クラスを追加します:Installer
クラスは、インストールされるアプリケーションの内部に収容されなければなりません。 Visual Studioのソリューションエクスプローラで、インストールするアプリケーションを選択し、メニュー項目「プロジェクト - >新規項目の追加 - >インストーラクラス」をクリックします。これにより、 "Installer1"というデフォルトのインストーラークラスが追加されます。
- Visual Studioのソリューションエクスプローラで、セットアッププロジェクトを選択し、右クリックします。 [表示 - >カスタムアクション]を選択すると、インストール中に実行されるカスタムアクションが表示されます。 「カスタムアクション」ウィンドウで
- 、「インストール」と「アンインストール」
- ゴー
Installer
クラス(「Installer1」)へとOnBeforeInstall
をオーバーライドするためのカスタムアクションを追加します。
ここで物事がどのように動作するかの擬似コードです:
[Installer1.cs]
protected override void OnBeforeInstall(IDictionary savedState)
{
base.OnBeforeInstall(savedState);
MessageBox.Show("OnBeforeInstall: " + GetProperties(savedState));
using (ConnectionDialog d = new ConnectionDialog())
{
d.ShowDialog();
savedState["database"] = d.Database;
savedState["user"] = d.User;
savedState["password"] = d.Password;
savedState["integrated"] = d.Integrated;
}
}
インストーラによって渡さIDictionary
インスタンスは、ユーザーが読み込むことができ、キー/値ペアのコレクションです関連するデータと比較します。この同じ情報は、OnBeforeUninstall
などの他のメソッドに渡されます。このメソッドは、開発者がデータベースの切り離しや変更のロールバックなどに使用できます。
LiquibaseはJavaライブラリとして実装されていますが、ikvmを使用してDLLとして実行可能にする必要があります –