質問

通常、VB.NET プログラムを構築するときに ClickOnce を使用しますが、いくつかの欠点があります。私は本当に他に何も使ったことがないので、私の選択肢が何であるかはわかりません。

ClickOnce の欠点:

  • 複数のファイルで構成されている - 多数のファイルとそれらのファイルをダウンロードするダウンローダーを管理するよりも、1 つのファイルを配布する方が簡単なようです。
  • CD インストール用に再度ビルドする必要があります (エンド ユーザーがインターネットに接続できない場合に備えて)
  • プログラムは最終的に Program Files に保存されません - 最終的にはアプリケーション キャッチ フォルダーに隠れてしまうため、ショートカットするのが非常に困難になります。

ClickOnce の長所:

  • それは動作します。魔法のように。そして、それはVisualStudio 2008 Expressに組み込まれています。
  • アプリケーションを簡単にアップグレードできます。

Windows インストーラーもこれらのことを行いますか?ClickOnce の短所がないことはわかっていますが、ClickOnce の長所もあるかどうかを知っておくとよいでしょう。

アップデート:私は最終的に Wix 2 を使用しました (Wix 3 も利用できましたが、私がプロジェクトを実行した時点では、適切なチュートリアルを持っている人は誰もいませんでした)。私が(最終的に)必要としていた 3 つのことをサポートしてくれたので、とても良かったです。オプションの Windows で起動するショートカット、インストーラーの完了時に起動するオプション、および上司が間違ったオプションをクリックしないようにできると考えている 3 段落のテキストです。

役に立ちましたか?

解決

WiXをもう見たことがありますか?

http://wix.sourceforge.net/

XML ファイルを使用して Windows インストーラーを構築し、インストーラーなどを強化したい場合に使用できる追加ライブラリを備えています。私にとって、物事を始めるまでの学習曲線は中程度だったことは認めますが、その後は何の苦労もなく 2 番目のインストーラーを構築することができました。

必要に応じてアップデートやその他の項目を処理し、フォルダーのアクセス許可などをインストーラーに適用できます。また、ファイルをどこにインストールするかをより詳細に制御でき、すべての標準化された Windows フォルダー規則と互換性があるため、「PROGRAM_DATA」などを指定すると、インストーラーはそれを C:\Documents に配置することを認識します。 XP または Vista を実行しているかどうかに応じて、Settings\All Users\Application Data または C:\ProgramData を選択します。

噂によると、Office 2007 と Visual Studio 2008 はインストーラーの作成に WiX を使用していたそうですが、私はそれをどこにも確認できませんでした。私はこれがマイクロソフト内部の何人かの人々によって開発されたと信じています。

他のヒント

私も Joseph の意見に同意します。ClickOnce を使った私の経験は、特に企業環境において構築、公開、展開が容易になるほとんどのプロジェクトにとって素晴らしいものです。ClickOnce では、実行時にユーザーが最新バージョンを確実に使用できるようにする「強制アップグレード」の実装が非常に簡単で、これが私が ClickOnce を使用する主な理由です。

ClickOnce に関する問題:企業環境ではプロキシ サーバーに問題があり、回避策は理想的とは言えません。このような場合、UNC パスからいくつかのアプリをデプロイする必要がありました...しかし、常にそれを行うことはできません。その「サンドボックス」は、実行可能ファイルを見つけたり、デスクトップのショートカットを作成したりするまでは、非常に便利です。

2008 年以降はまだ導入されていないため、これらの問題がまだ存在するかどうかはわかりません。

EXE に依存する (必要なものに依存する) インストーラー プロジェクトを作成するのは非常に簡単なプロセスですが、そのためには少なくとも VS Standard Edition が必要です。

インストーラー プロジェクト内で、カスタム タスクとダイアログ ステップを作成して、コーディングしたすべてのことを実行できるようにします。

欠けているのは、ClickOnce で得られる自動アップグレードとバージョン チェックの魔法です。自動ではないだけで、まだ組み込むことはできます。

Windows インストーラー プロジェクトに ClickOnce のような使いやすさやアップグレード性を持たせる簡単な方法はないと思います。私は開発するすべての内部 .NET アプリに ClickOnce を使用しています (コンソール アプリを除く)。エンタープライズ環境では、柔軟性の欠如よりも導入の容易さが重要であることがわかりました。

製品と一緒にインストールする必要があるサードパーティ製コンポーネントがある場合、ClickOnce に問題が生じる可能性があります。コンポーネントのインストーラーを作成することでこの問題をある程度回避できますが、ClickOnce 展開では、コンポーネント インストーラーを更新するロジックを作成する必要があります。

私は以前、Wise For Windows Installer を使用してインストール パッケージを作成したことがあります。ClickOnce のようにアップグレードの作成は自動ではありませんでしたが、登録/追加が必要な他のコンポーネントに関してはより正確で、頭痛の種が少なくなりました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top