2012-04-11 14 views
9

ClickOnce経由で配布されている私たちのアプリは、平均して起動するのに10.8秒をとります。 ClickOnceがインストールされているディレクトリの.exeにngenを実行すると、平均で6.4秒に起動します。これは明らかに膨大なスピードアップ(40%)です。可能であれば、ngen-ificationを利用したいと思います。NGENイメージを事前生成して、顧客がそうする必要はありませんか?

Is it possible to use NGen with ClickOnce deployment?へロンの答えは、私はそれを望んでいるとして、彼は、のWindows XPを実行推測と仮定すると、それがお客様のマシン上で行うことができる方法を示し管理者権限それはように見えるしていませんので、私ののWindows 7ボックスに、一般的な解決策。

さらに、ngenは、そのアプリケーションに属するすべてのアセンブリをコンパイルするために、40秒をボックスに入れます。

ので、理想的に、私は、ビルドプロセスの一環として、すべての(メジャー)のアーキテクチャのための事前NGEN我々のアプリしたいと思いますので、それは、」OKを受け入れるように持つユーザーせずに顧客に出荷することができadminとして実行しますか?ポップアップしてから40秒待ちます。

これは可能ですか?

+0

NGenの出力はアーキテクチャ固有です。そして、あなたのビルドマシンがプロダクションマシンに合っている可能性は低いので、これはあなたが望んでいるようにはうまくいかないでしょう。 –

+0

@CodyGray私の質問で述べたように、私はすべての主要なアーキテクチャーを事前に準備しておきたいと思います。私たちがx86とamd64だけを使って95%の顧客をカバーするとすれば、私はそう思っています... –

答えて

9

あなたは問題がネイティブイメージの実際のNGEN世代が、ネイティブイメージキャッシュ(CへのインストールはないWindows 7の管理者アクセス

せずにこれを行うことはできません:\ WINDOWS \アセンブリ\ nativeImages_v#xxxxxxxxx)。管理者権限が必要です。したがって、すべてのターゲットアーキテクチャのネイティブイメージを事前生成する方法を見つけたとしても、ランタイムがそれらを使用することを検討するのに適切な場所にそれらを取得することはできません。

通常のバイナリと並んで配置することはできません。正しく管理されない可能性があります。特定のセキュリティポリシーが変更されたときに問題が発生する可能性があります。ネイティブイメージを無効にし、 "ngen update"コマンドを実行する必要がある参照されたアセンブリに対して、適用済みまたはその他の変更が行われます。マイクロソフトは、この時点でClickOnceデプロイメントでngenのユースケースをサポートするようには見えません。

+0

Something(google)はあなたが正しいと言っていますが、ちょっと待ってみましょう。結局のところ、MSの主張にもかかわらず、反対に、http://stackoverflow.com/questions/443955への答えは、少なくともWindows XPでは可能であることを示した。確かに、XPは最近、ClickOnceにデプロイされたアプリケーションが依存するべきものではありません... –

関連する問題