Kui näete "The application has failed to start because its side-by-side configuration is incorrect
” tõrge, kui proovite Windowsis rakendust käivitada, tähendab see, et programm ei saa käivituda puuduvate sõltuvuste tõttu. Rakenduse käitamiseks vajalikud komponendid on kahjustatud või pole arvutisse installitud. Selles artiklis näitame, kuidas kontrollida rakenduse manifesti faili ja lahendada sõltuvusi, leides rakenduse õigesti käivitumiseks installitava teegi või paketi.
Enamasti ilmneb probleem kaasaskantavate rakenduste või mängude käitamisel, kuna need kasutavad Microsofti teeke Visual C++ levitatavad (vc_redist.x86.exe, vc_redist.x64.exe), mis pole arvutisse installitud või rikutud. Enne kõigi Visual C++ Redistributable versioonide mõtlemata arvutisse installimist proovime aga manifestifaili järgi täpselt välja selgitada, millist teeki rakendus vajab.
![Viga:](/f/d316bd92d38edbb5a14b6f56857ab8b5.webp)
Sisu:
- Kuidas analüüsida rakenduse manifesti Windowsis?
- Microsoft Visual C++ edasilevitatav tõrkeotsing
- Süsteemifailide parandamine Windowsis
Kuidas analüüsida rakenduse manifesti Windowsis?
Proovime alustada makeappx.exe
rakendus arvutis, kuhu pole installitud Windowsi SDK.
Makeappx.exe võimaldab luua UWP-rakenduste pakette *.msix-, *.appx-, *.msixbundle- või *.appxbundle-vormingus.
Ilmselt tööriist ei käivitu ja tagastab veateate:
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
![Rakenduse käivitamine nurjus, kuna selle kõrvuti konfiguratsioon on vale – ResourceUnavailable](/f/a99238171c8ed9d45043176463132067.webp)
Pange tähele Ressurss pole saadaval sõnum viitab see otseselt asjaolule, et rakendusel on käivitamiseks midagi puudu.
Rakenduse käitamiseks vajalike komponentide ja teekide loend on määratud rakenduse manifestis. Rakenduse manifesti võib salvestada eraldi XML-failina või manustada otse rakenduse täitmisfaili (.exe).
EXE-faili manifesti saate vaadata tasuta Manifestivaade või Ressursihäkker tööriist.
Nagu näete, Sõltuvus Rakenduse manifesti jaotis sisaldab viidet Microsoft. Windows. Ehitada. Appx. AppxPackaging.dll. Rakendus ei saa ilma selle teegifailita töötada.
![rakenduse manifesti fail – dependentAssembly](/f/e8d5d4dd75ae7b6967cca7ba8afb40a2.webp)
Rakenduse käivitamist saate jälgida ka faili SxSTRace.exe abil.
Avage uus käsuviip ja alustage andmete kogumist käsuga:
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...
Seejärel käivitage probleemne rakendus. Kui "The application has failed to start because its side-by-side configuration is incorrect
” ilmub tõrge, peatage jälgimine, vajutades sxstrace'i aknas ENTER.
![genereerida jälgi sxstrace'iga](/f/2dce97f0e1767f00987762cffb259a92.webp)
Teisendage ETL-i logifail mugavamasse TXT-vormingusse:
sxstrace.exe Parse -logfile: c:\tmp\makeapp_sxtracesxs.etl -outfile: c:\tmp\makeapp_sxtracesxs.txt
Avage saadud TXT-fail Notepadis (või mõnes muus tekstiredaktoris) ja leidke vigadega read. Sa saad ka grep, et leida PowerShelli tekstifailis olevaid vigu
Get-Content c:\tmp\makeapp_sxtracesxs.txt | Where-Object { $_.Contains("ERROR") }
Nagu näete, viitab tõrge samale DLL-failile, mis on näidatud rakenduse manifestis:
INFO: End assembly probing. ERROR: Cannot resolve reference Microsoft.Windows.Build.Appx.AppxPackaging.dll,version="0.0.0.0". ERROR: Activation Context generation failed.
![VIGA: viidet ei saa lahendada](/f/7856611d517f1c6f12f32e9d7e8a978d.webp)
Lisaks saate sündmuste logide abil analüüsida SideBySide'i sõltuvusvigu. Tõrke ilmnemisel kirjutatakse rakenduste logisse järgmine sündmus:
EventID: 33. Source: SideBySide
Veakirjelduses mainitakse teegifaili või rakenduse käitamiseks vajalikku komponenti.
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.
![eventid 33 SideBySide – aktiveerimiskonteksti genereerimine ebaõnnestus](/f/f350f09c88439f9e45464f452dd76a2a.webp)
Seejärel avage Google ja otsige selle dll-i kohta teavet. Minu näites on teegifail osa failist MSIX tööriistakomplekt Windowsi SDK-st (Redist.x86). Laadige alla ja installige leitud komponendid, et rakendus saaks õigesti käivituda.
Microsoft Visual C++ edasilevitatav tõrkeotsing
Enamikul juhtudel on viga "vale kõrvuti konfiguratsiooni" seotud Microsoft Visual C++ Redistributable teegi puuduva või rikutud versiooniga.
Sel juhul kuvatakse nii sxstrace logis kui ka rakenduse manifestis järgmine tõrge:
Error: Cannot resolve reference ERROR: Cannot resolve reference Microsoft.VC90.MFC, processorArchitecture="amd64", publicKeyToken="1fc8b3b9a1e18e3b", type="win32",version="9.0.21022.8".
Sellest sõnumist saame järgmise teabe: rakendus vajab x64-bitist Microsofti. VC90.MFC 9.0.21022. Kiire otsing Google'is näitab, et see on nii Microsoft Visual C++ 2008 edasilevitatav. Laadige see MVC versioon alla ja installige Microsofti veebisaidilt.
Samamoodi saate ka teisi Microsoft Visual C++ versioone nende väärtuste järgi Versioon väli:
Microsoft Visual C++ levitatav Visual Studio 2015, 2017 ja 2019 jaoks. | 14.0.x või uuem |
Microsoft Visual C++ 2013 edasilevitatav | 12.0.x |
Microsoft Visual C++ 2012 edasilevitatav | 11.0.x |
Microsoft Visual C++ 2010 edasilevitatav | 10.0.x |
Microsoft Visual C++ 2008 edasilevitatav | 9.0.x |
Süsteemifailide parandamine Windowsis
Kui saate aru, et rakenduse käivitamise tõrge on seotud ühe Windowsi süsteemifailiga, kontrollige ja parandage Windowsi süsteemi pildifaile ja komponente SFC ja DISM kasutamine:
sfc /scannow
DISM.exe /Online /Cleanup-image /Scanhealth
DISM.exe /Online /Cleanup-image /Restorehealth