4

Wixを使用して.NETアプリケーションのインストーラーを構築し、Wix3.0への移植を進めています。

私たちのアプリケーションにはいくつかの.NETアセンブリが含まれており(.NETアプリケーションの場合と同様)、最後のインストーラーステップはこれらをngenすることです。ngenされていないアセンブリを使用してアプリケーションを起動するには、約2倍の時間がかかるため、これは重要です。

残念ながら、インストールの手順には数分かかります。インストーラーがまだ機能していることを視覚的にフィードバックしたいと思います(少なくとも1人のユーザーがインストーラーがクラッシュしたと思っていました!)。最初のユーザーエクスペリエンスを大幅に悪化させるため、ngeningをバックグラウンドに移動するだけでは不十分です。アプリケーションの起動が非常に遅くなります

アセンブリを個別に生成し、各アセンブリが完了するたびに、インストーラーで(メッセージと進行状況バーを介して)ユーザーに報告します。Wixにngeningを実行させるのは簡単で、背景に移動するのは簡単ですが、私たちが望むことを達成するための簡単な方法はわかりません。良いアイデアやテクニックはありますか?

(私たちのアプリケーションは.NET 2.0 SP1と互換性があるため、これを実現するために.NET 3+の何にも依存したくありません。)

4

2 に答える 2

3

NGenが、進捗状況をファイルごとに(またはその他の方法で)報告できるようなフィードバックメカニズムを提供していることに気づいていませんでした。たとえそうだったとしても、InstallFinalize中にWindowsインストーラーがアセンブリをGACにコミットするという事実は、CustomAction(WiX NGen CustomActionなど)が進行状況を送信する機会がないことを意味します。基本的に、プログレスバーはすでに「100%」になっています(ただし、Windowsインストーラーのプログレスバーは正確ではありません)。

したがって、最終的には、これはWiX NGen CustomActionsの優れた機能要求であると思いますが、それを実現できるかどうかはわかりません。

[更新]:愚かな、私は最初にコードを見る必要があると思います。ファイル名はActionTextを介して投稿されませんが、進行状況メッセージが送信されます。それは要求するのに合理的なことのようです。ただし、上記で述べたことは、GACされたアセンブリにも当てはまる可能性があります。

于 2009-09-24T15:30:24.397 に答える
2

WiXとngenを検索しているときにこの投稿を見つけました。

NGen:セットアッププロジェクトの作成

これがお役に立てば幸いです。

于 2011-03-17T09:00:54.217 に答える