修正: .NET Framework 3.0 または .NET Framework 3.5 で Windows Presentation Foundation を使用して作成された XAML ブラウザーアプリケーションを起動できない

現象

Microsoft .NET Framework 3.0 または Microsoft .NET Framework 3.5 で、Windows Presentation Foundation (WPF) を使用して作成された XAML ブラウザーアプリケーション (XBAP) を開始することはできません。 さらに、互換性のあるブラウザーで XBAP を参照すると、次のいずれかの現象が発生する可能性があります。

  • 空白のブラウザーウィンドウが表示されることがあります。 また、ダウンロードが停止されることのないダウンロードダイアログボックスが表示されます。

  • ブラウザーで次のエラーメッセージが表示されます。

    展開に失敗しました

  • アプリケーションがクラッシュしたことを示すエラーメッセージが表示されます。

  • プレゼンテーションの .exe プロセスとブラウザーが繰り返し再起動される場合があります。

注: 互換性のあるブラウザーは、XBAP をサポートするブラウザーです。

原因

この問題は、特定のアカウント移行シナリオまたはオペレーティングシステムのアップグレードシナリオで発生する異常な状態が原因で発生します。

解決方法

ダウンロード情報

次のファイルは、Microsoft ダウンロードセンターからダウンロードできます。Download Download the XbapPermFix_sx.exe package now.XbapPermFix_sx .exe パッケージをダウンロードします。Microsoft サポートファイルのダウンロード方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

119591 オンライン サービスからマイクロソフトのサポート ファイルを入手する方法 4013443 「更新プログラムの表示または非表示」トラブルシューティング ツール パッケージマイクロソフトでは、アップロード時点の最新のウイルス検査プログラムを使用して、 配布ファイルのウイルス チェックを行っています。 配布ファイルはセキュリティで保護されたサーバー上に置かれており、権限のない第三者が無断でファイルを変更できないようになっています。 配布ファイルはセキュリティで保護されたサーバー上に置かれており、権限のない第三者が無断でファイルを変更できないようになっています。

必要条件

前提条件は必要ありません。

再起動の必要性

この修正プログラムを適用した後、コンピューターを再起動する必要はありません。

修正プログラムの置き換えに関する情報

この修正プログラムは、他の修正プログラムに代わるものではありません。

ファイル情報

この修正プログラムの英語版には、次の表に記載されているファイル属性 (またはそれ以降のファイル属性) が含まれています。 これらのファイルの日付と時刻は世界協定時刻 (UTC) で記載されています。 ファイル情報を表示すると、ローカル時刻に変換されます。 UTC とローカル時刻の違いを確認するには、[コントロールパネル] の [日付と時刻] の [タイムゾーン] タブを使用します。

ファイル名

ファイル バージョン

ファイル サイズ

日付

時刻

プラットフォーム

Xbappermfix_sx.exe

6.0.2600.0

85,024

16-Jun-2008

03:20

x86

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

回避策

この問題を回避するには、次の回避策のいずれかを実行します。

回避策 1

影響を受けるユーザーアカウントを削除して再作成します。

回避策 2

重要このセクション、方法、またはタスクには、レジストリの変更方法を説明する手順が含まれています。ただし、レジストリを不適切に変更すると、重大な問題が発生する可能性があります。そのため、次の手順に従って慎重に行ってください。保護を強化するには、レジストリを変更する前にバックアップを作成します。次に、問題が発生した場合にレジストリを復元することができます。レジストリのバックアップと復元の詳細については、次の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

322756 Windows でレジストリをバックアップおよび復元する方法権限設定を手動で修復します。そのためには、次の手順を実行します。

  1. [スタート] をクリックし、[実行] をクリックし、「 regedit」と入力して、[OK]をクリックします。

  2. HKEY_CURRENT_USERを展開し、[ソフトウェア] を展開します。

  3. [クラス] を右クリックし、[権限] をクリックします。

  4. [グループ名またはユーザー名] で、影響を受けるユーザーアカウント名をクリックします。

  5. [ ユーザー名の権限] で、[フルコントロール] アクセス許可の [許可] チェックボックスをオンにします。

  6. [詳細設定] をクリックし、[このオブジェクトの親から継承可能なアクセス許可を含める] チェックボックスをオンにします。

  7. [適用] をクリックし、[OK] を2回クリックします。注: それでも XBAP を開始できない場合は、手順8に進みます。

  8. HKEY_CLASSES_ROOTを展開し、[インターフェイス] を展開します。

  9. {79EAC9C9-BAF9-11CE-8C82-00AA004BA90B}を右クリックして、[権限] をクリックします。

  10. [グループ名またはユーザー名] で、影響を受けるユーザーアカウント名をクリックします。

  11. [ ユーザー名の権限] で、読み取りアクセス許可の [許可] チェックボックスをオンにします。

  12. [適用] をクリックし、[OK]をクリックします。注: それでも XBAP を起動できない場合は、手順6-7 を繰り返します。 問題が解決しない場合は、次のレジストリキーの手順9-12 を実行します。

    • {79EAC9C1-BAF9-11CE-8C82-00AA004BA90B}

    • {79EAC9C4-BAF9-11CE-8C82-00AA004BA90B}

    問題が解決しない場合は、手順13に進みます。

  13. Windows エクスプローラーで、次のパスを見つけます。

    C:\documents and と Settings \UserName\Local settings \

  14. このパスの下にある次のフォルダーに desktop.ini という名前のファイルが含まれているかどうかを確認します。

    • アプリケーションデータフォルダーとその配置サブフォルダー

    • [アプリ] フォルダー

    • Temp フォルダー

  15. Desktop.ini ファイルの名前を別の名前に変更します。

  16. Desktop.ini ファイルが保存されているフォルダーを見つけ、そのフォルダーを右クリックして、[プロパティ] をクリックします。

  17. [セキュリティ] タブで、[詳細設定] をクリックします。

  18. [このオブジェクトの親から継承可能なアクセス許可を含める] チェックボックスをオンにします。

  19. [適用] をクリックし、[OK]をクリックします。注: 問題が解決しない場合は、一覧に表示されているすべてのフォルダーについて、手順14-19 を繰り返します。

詳細情報

プレゼンテーションの .exe プロセスは、制限付きプロセストークンを使って実行されます。 このプロセスでは、管理者セキュリティグループと Power Users セキュリティグループのメンバーシップが提供されます。 インターネットゾーンサンドボックスで実行されるアプリケーションは、これらのセキュリティグループに対する完全なアクセス許可を持っている必要はありません。 さらに、このプロセスにより、多くの Microsoft Windows NT セキュリティアクセス許可が与えられます。この動作は、多層セキュリティ機能です。 この機能の効果は、ユーザーアカウント制御がアクティブになっているときに、Windows Vista での昇格していないプロセスの動作に似ています。アカウントの移行シナリオやオペレーティングシステムのアップグレードシナリオによっては、一部のアクセス制御リスト (Acl) が複雑になることがあります。 この破損により、特定のユーザーアカウントが、特定のフォルダーまたはユーザープロファイルに属しているレジストリキーへのアクセスを明示的に付与されないようになります。 この問題は、親オブジェクトでアクセス許可の継承が無効になっているために発生することがあります。 この問題は、グループメンバーシップが無効になっているアプリケーションにのみ影響します。 たとえば、プレゼンテーションの store.exe アプリケーションではグループメンバーシップが無効になっています。この問題は、次のレジストリキーまたはフォルダーのアクセス許可に影響することがわかっています。

  • Classes のレジストリキー

  • IPersistMoniker インターフェイスのレジストリキー

  • 次のパスの一部のフォルダー:

    C:\documents and と Settings \UserName\Local settingsたとえば、[アプリケーションデータ] フォルダーとその配置サブフォルダー、[アプリ] フォルダー、および [Temp] フォルダーに影響します。

Windows Presentation Foundation XAML ブラウザーアプリケーションの詳細については、次の Microsoft 開発者ネットワーク (MSDN) Web サイトを参照してください。

http://msdn.microsoft.com/en-us/library/aa970060.aspxWindows Presentation Foundation セキュリティの詳細については、次の MSDN Web サイトを参照してください。

http://msdn.microsoft.com/en-us/library/aa970906.aspxソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明

コールスタック情報

System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))   at System.Deployment.Internal.Isolation.IsolationInterop.GetUserStore(UInt32 Flags, IntPtr hToken, Guid& riid)   at System.Deployment.Internal.Isolation.IsolationInterop.GetUserStore()   at System.Deployment.Application.ComponentStore..ctor(ComponentStoreType storeType, SubscriptionStore subStore)   at System.Deployment.Application.SubscriptionStore..ctor(String deployPath, String tempPath, ComponentStoreType storeType)   at System.Deployment.Application.SubscriptionStore.get_CurrentUser()   at System.Deployment.Application.DeploymentManager..ctor(Uri deploymentSource, Boolean isUpdate, Boolean isConfirmed, DownloadOptions downloadOptions, AsyncOperation optionalAsyncOp)   at System.Deployment.Application.InPlaceHostingManager..ctor(Uri deploymentManifest, Boolean launchInHostProcess)   at System.Deployment.Application.InPlaceHostingManager..ctor(Uri deploymentManifest)   at MS.Internal.AppModel.XappLauncherApp.TryUriActivation()   at MS.Internal.AppModel.XappLauncherApp.XappLauncherApp_Startup(Object sender, StartupEventArgs e)   at System.Windows.Application.OnStartup(StartupEventArgs e)   at System.Windows.Application.<.ctor>b__0(Object unused)   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)   at System.Windows.Threading.DispatcherOperation.InvokeImpl()   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)   at System.Threading.ExecutionContext.runTryCode(Object userData)   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)   at System.Windows.Threading.DispatcherOperation.Invoke()   at System.Windows.Threading.Dispatcher.ProcessQueue()   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)   at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)   at System.Windows.Threading.Dispatcher.Run()   at System.Windows.Application.RunDispatcher(Object ignore)   at System.Windows.Application.StartDispatcherInBrowser(Object unused)   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)   at System.Windows.Threading.DispatcherOperation.InvokeImpl()   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)   at System.Threading.ExecutionContext.runTryCode(Object userData)   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)   at System.Windows.Threading.DispatcherOperation.Invoke()   at System.Windows.Threading.Dispatcher.ProcessQueue()   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)   at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) 

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×