8

私は、Windows アプリケーションで利用できる幅広いインストールおよび Web 展開ソリューションを評価してきました。ここで明確にします (詳細は省きますが、これらのツールは他の質問でカバーされています)。オプションに関する私の理解:

  • NSIS - セットアップ実行可能ファイルを生成する無料ツール。小さなバイナリ。特殊な、時には鈍いスクリプト言語。
  • Inno Setup - 実行可能ファイルをセットアップするための無料ツール. さまざまなバイナリ圧縮スキーム。Pascal スクリプト エンジン。
  • WIX - MSI バイナリを生成するための無料ツールセット。XML 定義言語。
  • WIX ClickThrough - パッケージ化、Web ダウンロード、および自動更新検出用の追加ツール (現在は WIX コアの一部)。
  • InstallShield - インストール パッケージ用の商用開発環境。MSI バイナリを生成します。C に似た InstallScript 言語。
  • Wise - インストールパッケージ用の商用開発環境. MSI バイナリを生成します。
  • ClickOnce - アプリケーションを Web サーバーに公開するための Visual Studio がサポートするフレームワークで、更新の自動検出が可能です。カスタム インストール要件 (INI ファイル、レジストリなど...) はサポートされていません。パッケージは MSI バイナリとしてセットアップされます。
  • Install Aware - インストール用の商用開発環境。MSI バイナリを生成します。自動更新フレームワーク (Web 更新)。

見逃した場合は、お知らせください。

また、StackOverflow でこれらのテクノロジに関する有益な議論を見つけました。

私はこれらのソリューションのいくつかと、少数の独自の内部インストール ソリューションを使用してきました。彼らは主に、インストールをパッケージ化し、開発者がランタイム環境にアクセスするためのフレームワークを提供することに関心があります。Web 展開と自動ソフトウェア更新の要件が高まる中、ソフトウェアの Web 配信とその後の更新のフレームワークについて、開発者の間でより多くのコンセンサスが得られると期待していましたが、実際にはコンセンサスが見つかりませんでした。確かに利用可能なソリューション (ClickOnce、ClickThrough、InstallShield Update Service) がありますが、それぞれにかなりの制限があります (これらのいずれかが間違っている場合は修正してください)。次のいくつかを提供するフレームワークに興味があります。

  • サードパーティによる更新のホスティング/管理。
  • クライアント環境 (INI ファイル、レジストリなど) へのアクセス。
  • ユーザー登録/有効化。
  • フィードバック/エラー報告

これにより、Web 展開の問題に取り組む最善の方法は、独自に構築された独自のソリューション (おそらく既存のインストーラー パッケージを活用する) を使用することであるという強い印象を受けています。私は、この種のソリューションが多くの成功したアプリケーションでうまく機能するのを見てきました。

  • FileZilla - update.filezilla-project.org への HTTP リクエストで更新を確認し、NSIS バイナリをダウンロードして (私が思うに)、シャットダウンしてインストールを実行します。
  • Massively Multiplayer ゲームの自動更新は完全に必要であり、独自のシステムを使用して普遍的に実装されています。

最後に、私の質問に:

  • 必要な機能を提供する Web 展開フレームワークを見逃していませんか?
  • 私の要件は具体的すぎて、サードパーティのフレームワークが提供することを合理的に期待できませんか?
  • 購入するか、構築する必要がありますか?
4

4 に答える 4

12

Installaware については注意が必要です。最近、カスタマーサポートで衝撃的な経験をしました.

私たちは彼らのサンプル プロジェクトの 1 つを追跡しましたが、それは惨めに失敗しました。カスタマー サポートにサポート チケットを提出したところ、独自のコードを修正するには 199 ドルかかると言われました。

その後、ユーザー フォーラムで同じ問題を提起しましたが、これはクロス ポストを構成し、許可されていないため、すぐに禁止されました。これは利用規約には記載されていませんが。実際、彼らは私たちの IP を禁止したため、社内の誰もフォーラムに投稿できません。

非常に貧弱な経験であり、繰り返しません。現在、できるだけ早く Installaware を置き換えることを検討しています。

Installaware は自己責任で購入してください。

于 2009-04-08T00:42:13.770 に答える
4

InstallAware については完全に同意します。

WiX、NSIS、および InstallAware を使用した後、ソフトウェア開発者として本当に必要としているものに対して、それらはすべてやり過ぎであったことを謙虚に認めなければなりません。これまでに、Visual Studio 展開プロジェクトを使用して展開できなかったプロジェクトはありません。

限定ですか?はい。

使い方を学ぶのもとても簡単です。さらに、ここで説明されている手法を使用して、パッチ(.MSP ファイル) を自動的に作成するなど、実際には非常に優れたことができます。

Visual Studio セットアップ プロジェクト内ですべてを実行できるわけではないことは十分に理解していますが、達成できることはかなり驚くべきことです。それは無料で、簡単で、率直に言って、WiX の気が遠くなるような XML (そのままでも印象的です) や InstallAware の冗長なスクリプトを学習するのに無限の時間を費やすよりも、一般的な使用の方が優れています...

VS セットアップでは、ドラッグ アンド ドロップ & ビルド アンド デプロイです。私が試した他のすべてのソリューションには後退がありました...プロジェクトの出力を自動的に検出できません...または、ビルドからの不要な出力が含まれないように特別なフィルターが必要です。

したがって、私の提案は次のとおりです。単にプロジェクトを展開したい場合は、次のことを学びます。

  1. カスタムインストーラークラスを構築する方法、および
  2. 独自の前提条件パッケージを作成する方法

これらはどちらも、かなり簡単に習得できるスキルであり、ほとんどの開発者のニーズを満たします。

于 2009-09-30T17:56:07.333 に答える
2
  • 特定の要件がビジネスの中核である場合。つまり、あなたのビジネスの一部は、スムーズで使いやすい展開/インストールを提供することであり、利用可能な展開ライブラリのどれもこれを実現できないと感じている場合は、ぜひ先に進んで独自のものを構築してください。
  • あなたの特定の要件があればいいのですが、それがあなたのビジネスの重要な部分を占めていない場合; つまり、エンド ユーザーは通常、スムーズなインストール手順を期待または必要としないか、または自分で行う必要がない (つまり、その手順を IT 部門に渡す) ため、独自の特定の要件のためだけに独自の手順を構築する必要があります。必要となる余分な労力がそれを上回る可能性があります。

カスタム ソリューションが必要になるというあなたの印象は妥当なものだと思います。特にスムーズな自動更新とフィードバックが必要な場合は、要件が製品のエクスペリエンスの鍵となるようです.

于 2009-03-23T03:39:59.643 に答える