Не удается запустить приложение с ошибкой side-by-side configuration is incorrect

Если при запуске программы в Windows вы получаете ошибку “ Не удалось запустить приложение, поскольку его параллельная конфигурация неправильна / The application has failed to start because its side-by-side configuration is incorrect ”, значит программа не может запуститься из-за отсутствующих файлов зависимостей. Компоненты, нужные для запуска этой программы, на компьютере не установлены или повреждены. В этой статье мы рассмотрим, как выполнить проверить манифест приложениями разрешить зависимости, определив библиотеку или пакет, которые нужно установить для корректного запуска программы.

Данная проблема чаще всего возникает при запуске portable программ или игр из-за того, что на компьютере не установлена или повреждена одна из версий компонента Microsoft Visual C++ Redistributable (vc_redist.x86.exe, vc_redist.x64.exe), библиотеки которой используются программой. Однако, прежде чем бездумно переустанавливать все версии Visual C++ Redistributable на компьютере, попытаемся с помощью файла манифеста определить какую конкретную библиотеку требует приложение.

Анализ манифеста приложения в Windows

Попробуем запустить утилиту makeappx.exe на компьютере, на котором не установлен Windows SDK.

Утилита makeappx.exe позволяет создавать пакету UWP приложений в форматах *.msix, *.appx, *.msixbundle или *.appxbundle.

Утилита, естественно не запускается с ошибкой:

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_x000D_+ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException_x000D_+ FullyQualifiedErrorId : NativeCommandFailed

Обратите внимание на сообщение ResourceUnavailable , оно явно указывает, что программе чего-то не хватает для запуска.

Список компонентов и библиотек, которые нужны приложению для запуска указывается в манифесте приложения. Манифест приложения может хранится в виде отдельного XML файла или быть встроен непосредственно в exe файл приложения.

Вы можете просмотреть манифест exe файла с помощью бесплатной утилиты Manifest View или с помощью Resource Hacker .

Мы показывали, как использовать Resource Hacker для просмотра и редактирования манифеста приложения в статье про запуск приложений с подавлением запроса UAC .

Как вы видите, в манифесте приложения в секции Dependency есть ссылка на библиотеку Microsoft.Windows.Build.Appx.AppxPackaging.dll . Утилита не может запуститься без этой библиотеки.

Также вы можете выполнить трассировку запуска приложения с помощью утилиты SxSTrace.exe.

Откройте новое окно командной строки и запустите сбор данных, выполнив команду:

sxstrace.exe Trace -logfile:c:tmpmakeapp_sxtracesxs.etl

Tracing started. Trace will be saved to file c:tmpmakeapp_sxtracesxs.etl._x000D_Press Enter to stop tracing...

Теперь запустите проблемное приложение. После появления ошибки “The application has failed to start because its side-by-side configuration is incorrect” остановите трассировку, нажав Enter в окне sxstrace.

Сконвертируйте ETL файл лога в более читаемый txt формат:

sxstrace.exe Parse -logfile:c:tmpmakeapp_sxtracesxs.etl -outfile:c:tmpmakeapp_sxtracesxs.txt

Откройте полученный txt файл в блокноте (или любом другом текстовом редакторе) и найдите в нем строки с ошибками. Также вы можете найти и вывести все строки с ошибками с помощью PowerShell :

Get-Content c:tmpmakeapp_sxtracesxs.txt | Where-Object { $_.Contains("ERROR") }

Как вы видите, ошибка указывает тот же DLL файл, который указан в манифесте программы:

INFO: End assembly probing._x000D_Cannot resolve reference Microsoft.Windows.Build.Appx.AppxPackaging.dll,version="0.0.0.0"._x000D_ERROR: Activation Context generation failed.

Также для анализа зависимостей в ошибках SideBySide можно использовать журнал событий. При появлении такой ошибки в журнал Application записывается событие:

EventID: 33_x000D_Source: SideBySide

В описание ошибки также есть отсылка на файл библиотеки или компонент, которые нужен для запуска приложения.

Activation context generation failed for "C:pstestmakeappx.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 Visual C++ Redistributable

В большинстве случаев на компьютерах пользователей ошибка “неправильной параллельной конфигурации приложения” связана с отсутствующей или поврежденной версией библиотеки Microsoft Visual C++ Redistributable.

В этом случае в журнале sxstrace и в манифесте приложения будет содержаться ошибка вида:

Ошибка: не удается разрешить ссылку Microsoft.VC90.MFC, processorArchitecture="amd64", publicKeyToken="1fc8b3b9a1e18e3b", ,version= "9.0.21022.8".

Из ошибки мы можем получить следующую информацию: приложению нужна x64 битная версия Microsoft.VC90.MFC версия 9.0.21022 . Быстрый поиск в гугл поможет определить, что это Microsoft Visual C++ 2008 Redistributable . Скачайте и установите данную версию MVC с сайта Microsoft.

Аналогично, по значению в поле version можно определить и другие версии Microsoft Visual C++:

Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 и 2019. 14.0.x и выше
Microsoft Visual C++ 2013 Redistributable 12.0.x
Microsoft Visual C++ 2012 Redistributable 11.0.x
Microsoft Visual C++ 2010 Redistributable 10.0.x
Microsoft Visual C++ 2008 Redistributable 9.0.x

Исправление системных файлов

Если вы понимаете, что ошибка запуска приложения связана с одним из системных файлов Windows, выполните проверку и восстановление системных компонентов и файлов с помощью SFC и DISM:

sfc /scannow
DISM.exe /Online /Cleanup-image /Scanhealth
DISM.exe /Online /Cleanup-image /Restorehealth

admin

Share
Published by
admin

Recent Posts

Лучшие дистрибутивы Linux

Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…

7 дней ago

Лучшие браузеры для Ubuntu

Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…

7 дней ago

Установка Remmina Ubuntu 16.04 или 16.10

Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…

7 дней ago

Плюсы Ubuntu

Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…

7 дней ago

Выбираем ноутбук для Linux

Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…

7 дней ago

Установка Linux рядом с Windows 10

Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…

7 дней ago