サイドバイサイド構成が正しくないため、アプリケーションを起動できませんでした
「The application has failed to start because its side-by-side configuration is incorrect
」と表示された場合 Windowsでアプリを起動しようとするとエラーが発生します。これは、依存関係がないためにプログラムを起動できないことを意味します。アプリの実行に必要なコンポーネントが破損しているか、コンピューターにインストールされていません。この記事では、アプリを正しく起動するためにインストールするライブラリまたはパッケージを見つけて、アプリケーションのマニフェストファイルを確認し、依存関係を解決する方法を示します。
ほとんどの場合、ポータブルアプリまたはゲームを実行しているときに問題が発生します。これは、コンピューターにインストールされていないか破損しているMicrosoft Visual C ++再頒布可能パッケージ(vc_redist.x86.exe、vc_redist.x64.exe)のライブラリを使用しているためです。ただし、考えずにすべてのVisual C ++再頒布可能バージョンをコンピューターにインストールする前に、マニフェストファイルによってアプリが必要とするライブラリを正確に見つけようとします。
makeappx.exe
を起動してみましょう WindowsSDKがインストールされていないコンピューター上のアプリケーション。
明らかに、ツールは起動せず、エラーを返します:
Program 'makeappx.exe' failed to run: The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail + CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException + FullyQualifiedErrorId : NativeCommandFailed
ResourceUnavailableに注意してください メッセージは、アプリに実行するものがないという事実を直接示しています。
アプリが実行する必要のあるコンポーネントとライブラリのリストは、アプリマニフェストで指定されます。アプリマニフェストは、個別のXMLファイルとして保存することも、アプリケーションの実行可能(.exe)ファイルに直接埋め込むこともできます。
無料のマニフェストビューを使用してEXEファイルマニフェストを表示できます またはリソースハッカー ツール。
リソースハッカーを使用してアプリマニフェストを表示および編集する方法については、「UAC昇格プロンプトを抑制する方法」の記事で説明しました。ご覧のとおり、依存関係 アプリマニフェストのセクションには、 Microsoft.Windows.Build.Appx.AppxPackaging.dllへの参照が含まれています 。このライブラリファイルがないと、アプリケーションは動作しません。
SxSTrace.exeを使用してアプリケーションの起動を追跡することもできます。
新しいコマンドプロンプトを開き、次のコマンドを使用してデータ収集を開始します:
sxstrace.exe Trace -logfile:c:\tmp\makeapp_sxtracesxs.etl
Tracing started. Trace will be saved to file c:\tmp\makeapp_sxtracesxs.etl. Press Enter to stop tracing...
次に、問題のあるアプリを実行します。 「The application has failed to start because its side-by-side configuration is incorrect
」エラーが表示されたら、sxstraceウィンドウでEnterキーを押してトレースを停止します。
ETLログファイルをより便利なTXT形式に変換します:
sxstrace.exe Parse -logfile:c:\tmp\makeapp_sxtracesxs.etl -outfile:c:\tmp\makeapp_sxtracesxs.txt
結果のTXTファイルをメモ帳(またはその他のテキストエディタ)で開き、エラーのある行を見つけます。 PowerShellを使用してテキストファイルのエラーをgrepすることもできます
Get-Content c:\tmp\makeapp_sxtracesxs.txt | Where-Object { $_.Contains("ERROR") }
ご覧のとおり、エラーはアプリマニフェストに表示されているのと同じDLLファイルを指しています:
INFO: End assembly probing. ERROR: Cannot resolve reference Microsoft.Windows.Build.Appx.AppxPackaging.dll,version="0.0.0.0". ERROR: Activation Context generation failed.
さらに、イベントログを使用してSideBySide依存関係エラーを分析できます。エラーが発生した場合、次のイベントがアプリケーションログに書き込まれます。
EventID: 33 Source: SideBySide
エラーの説明には、アプリの実行に必要なライブラリファイルまたはコンポーネントが記載されています。
Activation context generation failed for "C:\ps\test\makeappx.exe". Dependent Assembly Microsoft.Windows.Build.Appx.AppxPackaging.dll,version="0.0.0.0" could not be found. Please use sxstrace.exe for detailed diagnosis.
次に、Googleを開き、このdllに関する情報を検索します。私の例では、ライブラリファイルは MSIX Toolkitの一部です。 Windows SDK(Redist.x86)から。見つけたコンポーネントをダウンロードしてインストールし、アプリを正しく起動できるようにします。
Microsoft VisualC++再頒布可能トラブルシューティング
ほとんどの場合、「誤ったサイドバイサイド構成」エラーは、Microsoft VisualC++再頒布可能ライブラリのバージョンが見つからないか破損していることに関連しています。
この場合、sxstraceログとアプリマニフェストの両方に次のエラーが表示されます。
Error: Cannot resolve reference ERROR: Cannot resolve reference Microsoft.VC90.MFC, processorArchitecture="amd64", publicKeyToken="1fc8b3b9a1e18e3b", type="win32",version="9.0.21022.8".
このメッセージから次の情報が得られます。アプリにはx64ビットのMicrosoft.VC90.MFC9.0.21022が必要です。 Googleですばやく検索すると、 Microsoft Visual C++2008再頒布可能パッケージであることがわかります。 。このMVCバージョンをMicrosoftのWebサイトからダウンロードしてインストールします。
同様に、バージョンの値によって、他のMicrosoft VisualC++バージョンを取得できます。 フィールド:
Microsoft Visual C ++ Redistributable for Visual Studio 2015、2017、および2019.14.0.x以降Microsoft Visual C ++ 2013 Redistributable12.0.xMicrosoft Visual C ++ 2012 Redistributable11.0.xMicrosoft Visual C ++ 2010 Redistributable10.0.xMicrosoft Visual C ++2008Redistributable9.0。バツアプリの起動エラーがWindowsシステムファイルの1つに関連していることを理解している場合は、SFCとDISMを使用してWindowsシステムイメージファイルとコンポーネントを確認および修復します。
sfc /scannow
DISM.exe /Online /Cleanup-image /Scanhealth
DISM.exe /Online /Cleanup-image /Restorehealth
-
アプリケーションを正しく初期化できなかった問題を修正
修正 アプリケーションが正しく初期化されませんでした: このエラーの主な原因は、古いまたは破損した .NET フレームワークですが、レジストリの破損、ドライバーの競合、または Windows ファイルの破損など、このエラーが発生する他の理由があるため、これに限定されません。古いバージョンの Windows を使用している場合、または Windows のコピーを長期間更新していない場合は、古い .NET フレームワークが原因である可能性があり、エラーを修正するには更新する必要があります。 これらのエラーは、以下の方法で修正されます: The application failed to initi
-
修正サイドバイサイド構成が正しくないため、アプリケーションを開始できませんでした
サイド バイ サイド構成が正しくないため、アプリケーションを起動できませんでした: Windows 10 プログラムまたはユーティリティを実行しようとすると、次のエラー メッセージが表示される場合があります。詳細。この問題は、C++ ランタイム ライブラリとアプリケーションとの競合が原因で発生し、アプリケーションはその実行に必要な C++ ファイルをロードできません。これらのライブラリは Visual Studio 2008 リリースの一部であり、バージョン番号は 9.0 から始まります。 サイド バイ サイド構成に関するエラー メッセージが表示される前に、別のエラーが発生する可能性があ