web-dev-qa-db-ja.com

Windowsインストーラーの作成方法

基本的には、手動インストーラー(Windows PowerShellスクリプト)の形で変更/修正をリリースしています。構成ファイルの値を読み取ることにより、指定された.dllおよびSQLスクリプトファイルを特定の場所にインストールします(このファイルで.dllおよびSqlスクリプトの場所を構成します)。同じPowerShellスクリプトには、特定の変更セットをロールバックするためのアンインストールコードがあります。

上記の要件のためにWindowsインストーラーを作成するオプションまたはメカニズムはありますか?

10
Ramesh

Short Version:すでにたくさんの答え-私は主に既存の答えにいくつかのリンクを追加します。 topic の私の以前の短い答えです。

"glanceability"の向上:上記の回答は、リスト形式を含むsimpler format最も重要な現在の展開ツールの。大急ぎで?これらをテストし、いずれかを選択します。以下に、詳細といくつかの「議論」を示します。


展開ツール

さまざまな種類のcreate installers/setup.exe filesを作成するための多くのツールがあります。それらのほとんどの簡単な説明へのいくつかのリンクはここにあります:

MSIに行くことをお勧めします。使用する特定のツールはそれほど明確ではありません。さまざまなツールの長所と短所の説明を含むリンクについては、以下の最後のセクションを参照してください。


MSIを選択する理由

MSI(Windowsインストーラー)企業展開の標準であるため、 主要な重要性のある企業利益の多く 以前のインストール技術と比較。利点は、reliable remote managementおよびstandardizationに集中します-企業の展開に関する重要な懸念事項。

簡単に言えば、最も重要な特定の利点は次のとおりです。

  1. 信頼性の高いサイレントランニング(標準化された完全に抑制可能なGUI)
  2. 暗黙的に利用可能なアンインストール(レガシー設定を処理するときの悪夢)
  3. Transparency(インストーラーの半透明で検査可能な性質-コンパイル済みCAを除く)
  4. 昇格したインストール権限(乱雑な一時管理者権限なし)
  5. 標準化されたコマンドライン(「シークレット」スイッチのハンティングなし)
  6. 管理インストール(ファイル抽出-企業の再パッケージ化に不可欠)
  7. 詳細ロギング(確かに有用で詳細:-))
  8. 標準化されたパッケージのカスタマイズ(変換-データベースフラグメント)
  9. ロールバックサポート(失敗したインストールの変更を取り消すことができます)
  10. Inventory(管理とレポート:インストールされているものと場所の完全な登録)
  11. Active Directory/GP統合

これにより、MSIの全体的な利点が得られます:大規模な企業環境で忙しいシステム管理者向けの信頼性の高いリモート管理。技術の複雑さと奇抜さにもかかわらず、重要な利点。

多くの技術は対処するのが難しいと感じています- いくつかの一般的な落とし穴があります (そして私は ここに下に向かっていくつかのMSIアンチパターンの非常に奇妙でアドホックな記述を書きました -質問ですが、そこには-時々物事が書かれている人を驚かせる瞬間に書かれています-それは素晴らしいことではなく、実際的な詳細です。同じことが最初のリンクにも言えます。

リンクされたserverfaultの回答 (上記およびここ)は、これらの企業MSIの利点についてのより詳細な説明と、注意すべきいくつかの課題を特徴としています。

同じserverfaultの質問には、 MSIファイルの一般的な設計エラーを説明する2番目の回答があります 。本当に厄介な「頭脳ダンプ」。


MSIX/AppX

Microsoftの新しいパッケージングプラットフォームは、AppXアプリケーションフレームワークに基づいて、 [〜#〜] msix [〜#〜] であることを指摘する必要があります。ただし、MSIは企業展開の世界で高い浸透率を持っているため、MSIがどのくらいの期間関連するかはまだ不明です。確立されたすべての展開ツールは、MSIXとAppXおよびその他の展開テクノロジ(仮想化も)をサポートするために機能しています。

一部のリンクでスリップ


AppV

そして、実際の企業の世界では、 AppV (アプリケーション仮想化/アプリケーションストリーミング)が 共通の展開ソリューションになりました (Tim Manganのブログ)。


MSIツールの選択

MSI作成の業界リーダーは、一般的に Advanced InstallerInstallshieldPACE Suite 、およびオープンソースソリューション WiX (その商用ブランチ Firegiant )-あなたは多少馴染みがあるようです。

これらのさまざまなツールに関する無分別なミックスで、意見と事実を使用して、以前に書かれた回答へのリンクを提供します。 「正しい」と主張せずに必要です。これは常に危険な取り組みです。長年の経験は知識を身につけることを意味しますが、習得した悪い習慣や癖の前兆でもあります。どのような結果が得られるかは、支援する意欲のみを提供できる欠陥のある専門家からの正直な意見です。

16
Stein Åsmul

Inno Setupは無料で堅牢であり、必要な機能を備えているため、Inno Setupの方が好きです。

http://www.jrsoftware.org/isinfo.php

3
Bruce

https://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with

これを試してみてください。これは、当社で使用しているwixプロジェクトを利用しています。プロジェクトをコンパイルするには、wixプラグインが必要になることを忘れないでください。無料で使いやすいです。構成に問題がある場合はお手伝いできます。

1
Achraf C.

Advanced Installer(Caphyonによる)やInstallShield(Flexeraによる)などのMSIパッケージのビルドに使用できる有料ツールもあります。その主な利点は、インストーラープロジェクト(UIデザイナーを介して構成可能)を作成するのが非常に簡単であるが、それらの機能のほとんどが有料のものであることです。

0
herman.smn