Vista 開発マシンでは正常に動作する WPF アプリケーションがありますが、製品版の XP ボックスでは動作しません。唯一の問題は、OpenFileDialog.Show() の呼び出しにあります。メソッドを呼び出すとすぐに、アプリケーションは XP ボックスで終了します。
問題は例外をトリガーしません。(ブロックを try-catch ブロックで囲んでも役に立ちませんでした。) [ファイル] -> [開く] をクリックすると、アプリケーションが起動して XP で終了します。興味深いことに、[ファイル] -> [保存] および [名前を付けて保存] ダイアログを使用して、ファイルをディスクに書き込むことができます。.Net 3.0 および 3.5 にビルドしようとしましたが、違いはありません。
Microsoft.Win32.OpenFileDialog と System.Windows.Forms.OpenFileDialog の両方を試しましたが、まったく同じ症状が発生します。
Microsoft.Win32 亜種のコード ブロック:
試す { OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog().Value) { //何かをする } } キャッチ(例外例) { MessageBox.Show(ex.ToString(), "エラー!"); }
私が持っている唯一の手がかりは、セキュリティ イベント ログからの次の (部分的な) エントリです。
イベントの種類: 失敗の監査 イベント ソース: セキュリティ イベント カテゴリ: オブジェクト アクセス イベント ID: 560 説明: オブジェクトを開く: オブジェクト サーバー: セキュリティ オブジェクト タイプ: キー オブジェクト名: \REGISTRY\MACHINE\SOFTWARE\Microsoft\EnterpriseCertificates\Disallowed アクセス: DELETE READ_CONTROL 書き込み_DAC WRITE_OWNER クエリ キー値 キー値の設定 サブキーの作成 サブキーを列挙する キーの変更について通知する リンクを作成
何か案は?(お願い!)