.NET TIPS

ClickOnceのログ・ファイルを特定の場所に作成するには?[2.0のみ]

デジタルアドバンテージ 一色 政彦
2006/06/16

 ClickOnceでは、ソフトウェアの配布・更新に関する情報がログ・ファイル(以降、ClickOnceログ・ファイル)に記録される。特にエラーが発生した場所のコール・スタックのトレース情報が、このファイル内に記載されたりするので、ClickOnceでのトラブルシューティングではこのファイルが大変重宝する。

 ClickOnceログ・ファイルは、デフォルトでは、wininetキャッシュ領域(=IE:InternetExplorerがブラウズしたファイルをキャッシュする場所と同じ)に格納され、自動的(=IEのキャッシュが削除されるタイミング)に削除される仕組みになっている。また、ClickOnceアプリケーションごとに1つのファイルが動的に作成される。

 このため、エンドユーザーがそのファイルを手動で(=ファイル・パスを指定して)直接、参照することは難しい(基本的にできないと考えてよいだろう)。エンドユーザーがClickOnceログ・ファイルを参照できるのは、ClickOnceが実行されている最中にエラーが発生したときにのみ表示されるエラー・メッセージの[詳細]ボタンをクリックしたときである。次の画面は、エラー・メッセージの例だ。

ClickOnceログ・ファイルを参照できるClickOnceのエラー・メッセージ
ClickOnceでは、その実行中にエラーが発生したときに表示されるエラー・メッセージにある[詳細]ボタンをクリックすることで、エラー・メッセージを参照できる。

 ここで[詳細]ボタンをクリックすると、ClickOnceログ・ファイルがメモ帳で開かれる。

 しかし、この後、エンドユーザーがメモ帳を閉じてしまうと、そのファイルの在りかが分からなくなってしまう。エンドユーザーからそのエラーが記載されたClickOnceログ・ファイルを受け取りたいというような場合には、これは問題である。そこで本稿では、ClickOnceログ・ファイルが作成される場所を指定することで、この問題を回避する方法を紹介する。

ClickOnceログ・ファイルが作成される場所を指定する方法

 ClickOnceログ・ファイルが生成される場所を指定するには、次のレジストリ・キーの中に「LogFilePath」という名前の文字列値を作成し、その値のデータとしてファイル・パス(本稿の例では「C:\ClickOnceLogFile.txt」)を指定すればよい。

  • レジストリ・キー:HKEY_CURRENT_USER\Software\Classes
    \Software\Microsoft\Windows\CurrentVersion\Deployment

 この作業により、エンドユーザーが次回以降のClickOnceアプリケーションを起動するたびに、レジストリに指定したファイルにログ情報が追記されていくはずだ。

 なおここでの注意点は、指定したファイルは初期化されることなく、次々と<追記>されていくことである。また、すべてのClickOnceアプリケーションがこのファイルにログを書き込まれ、さらに、エラーではない実行ログも残ることになる。これらの事情を考慮すると、ClickOnceを使い続けるうちに、ClickOnceログ・ファイルが無駄に巨大になってしまう可能性があることが分かるだろう。

 従って、「エンドユーザー環境でエラーが発生しているのでその内容をファイルとして保存してもらい受け取りたい」というケースなどで、<一時的>にこのClickOnceログ・ファイルの指定を利用するという使い方が好ましいだろう。End of Article

カテゴリ:Windowsフォーム 処理対象:ClickOnce

この記事と関連性の高い別の.NET TIPS
ClickOnceデータ・ディレクトリのパスを取得するには?
ClickOnceアプリをロールバックさせるには?
ClickOnceオンライン・キャッシュ領域のサイズを変更するには?
ClickOnceアプリのディレクトリ・パスを取得するには?
ClickOnceアプリケーションをデバッグするには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

更新履歴
【2006/7/19】本記事の一部に以下のような誤りがありました。お詫びして訂正させていただきます。

レジストリ・キー:HKEY_CURRENT_USER\Software\Microsoft
\Windows\CurrentVersion\Deployment
レジストリ・キー:HKEY_CURRENT_USER\Software\Classes
\Software\Microsoft\Windows\CurrentVersion\Deployment

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Kinectが切り開く“夢の近未来” (2012/2/2)
     日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか?
  • 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
     アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する
  • SQL Azure Data Sync入門 (2012/1/30)
     SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説
  • Windows Phoneアプリ市場の現状を分析する (2012/1/27)
     Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH