web-dev-qa-db-ja.com

C#アプリケーションのインストーラーを作成する方法は?

Visual Studio 2008 にアプリケーション( C#Windows Forms )を作成しましたが、このアプリケーションのインストーラーを作成したいと思います。これをどのように行うことができますか?

インストーラーに

  • アプリケーションが使用しているすべてのファイルを、ユーザーが選択したパスにコピーします(選択したファイルにコピーします。一部はサーバー側アプリケーション用で、一部はクライアント側用です)。
  • 。NET 3.5もインストールする
  • SQL Server または SQL Server Express Edition を確認します

どうすればいいですか?

58
Moon
  1. ソリューションに新しいインストールプロジェクトを追加します。
  2. インストールするすべてのプロジェクトからターゲットを追加します。
  3. 前提条件を構成し、「。NET 3.5およびSQL Expressのチェック」オプションを選択します。不足しているコンポーネントをインストールする必要がある場所を選択します。
  4. インストーラーの設定を構成します-会社名、バージョン、著作権など。
  5. 構築してください!
63
sashaeve

一般的に、WindowsではMSIベースのインストールを使用することをお勧めします。したがって、かなりの時間を費やす準備ができている場合は、 WiX が最適です。

もっとシンプルなものが必要な場合は、 InnoSetup を使用してください。

16
Anton Gogolev

いくつかの方法があり、そのうちの2つは次のとおりです。カスタムインストーラーまたはセットアッププロジェクトを提供します。

カスタムインストーラーの作成方法は次のとおりです

[RunInstaller(true)]
public class MyInstaller : Installer
{
    public HelloInstaller()
        : base()
    {
    }

    public override void Commit(IDictionary mySavedState)
    {
        base.Commit(mySavedState);
        System.IO.File.CreateText("Commit.txt");
    }

    public override void Install(IDictionary stateSaver)
    {
        base.Install(stateSaver);
        System.IO.File.CreateText("Install.txt");
    }

    public override void Uninstall(IDictionary savedState)
    {
        base.Uninstall(savedState);
        File.Delete("Commit.txt");
        File.Delete("Install.txt");
    }

    public override void Rollback(IDictionary savedState)
    {
        base.Rollback(savedState);
        File.Delete("Install.txt");
    }
}

セットアッププロジェクトを追加するには

  • メニューfile->New->Project->その他のプロジェクトタイプ->セットアップと展開

  • プロパティウィンドウを使用して、プロジェクトのプロパティを設定します

記事Visual Studio .NETを使用してセットアップパッケージを作成する方法に詳細が記載されています。

11
Asad Butt

準備ができている車があるのに、なぜ自分で車輪を発明するのですか?このツールは非常に簡単で直感的に使用できます:Advanced Installer。これは 1分間のビデオ で十分な印象を受けます。 ユーザーガイドの例 です。

2
Diansheng