यदि आप देखते हैं "The application has failed to start because its side-by-side configuration is incorrect
विंडोज़ में ऐप शुरू करने का प्रयास करते समय त्रुटि, इसका मतलब है कि प्रोग्राम लापता निर्भरताओं के कारण शुरू नहीं हो सकता है। ऐप को चलाने के लिए आवश्यक घटक क्षतिग्रस्त हैं या कंप्यूटर पर इंस्टॉल नहीं हैं। इस लेख में, हम दिखाएंगे कि एप्लिकेशन की मेनिफेस्ट फ़ाइल की जांच कैसे करें और ऐप को सही तरीके से शुरू करने के लिए लाइब्रेरी या पैकेज को ढूंढकर निर्भरता को हल करें।
पोर्टेबल ऐप्स या गेम चलाते समय अक्सर समस्या होती है क्योंकि वे Microsoft Visual C++ Redistributable (vc_redist.x86.exe, vc_redist.x64.exe) के पुस्तकालयों का उपयोग करते हैं जो कंप्यूटर पर स्थापित नहीं हैं या दूषित हैं। हालांकि, बिना सोचे-समझे आपके कंप्यूटर पर सभी विजुअल C++ Redistributable संस्करणों को स्थापित करने से पहले, हम यह पता लगाने की कोशिश करेंगे कि ऐप को इसकी मेनिफेस्ट फ़ाइल द्वारा किस लाइब्रेरी की आवश्यकता है।
विंडोज़ में ऐप मेनिफेस्ट का विश्लेषण कैसे करें?
आइए makeappx.exe
को प्रारंभ करने का प्रयास करें ऐसे कंप्यूटर पर एप्लिकेशन जिसमें कोई Windows SDK इंस्टॉल नहीं है।
जाहिर है, उपकरण शुरू नहीं होता है और एक त्रुटि देता है:
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
नोट करें संसाधन अनुपलब्ध संदेश, यह सीधे इस तथ्य की ओर इशारा करता है कि ऐप में चलाने के लिए कुछ छूट रहा है।
ऐप को चलाने के लिए आवश्यक घटकों और पुस्तकालयों की सूची ऐप मेनिफेस्ट में निर्दिष्ट है। ऐप मेनिफेस्ट को एक अलग एक्सएमएल फ़ाइल के रूप में संग्रहीत किया जा सकता है या सीधे एप्लिकेशन की निष्पादन योग्य (.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.
साथ ही, आप इवेंट लॉग के साथ साइडबायसाइड निर्भरता त्रुटियों का विश्लेषण कर सकते हैं। यदि त्रुटि होती है, तो निम्न घटना अनुप्रयोग लॉग में लिखी जाती है:
EventID: 33 Source: SideBySide
त्रुटि विवरण में लाइब्रेरी फ़ाइल या ऐप चलाने के लिए आवश्यक घटक का उल्लेख है।
"C:\ps\test\makeappx.exe" के लिए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 टूलकिट . का एक भाग है विंडोज एसडीके (Redist.x86) से। ऐप को सही तरीके से शुरू करने के लिए आपको मिले घटकों को डाउनलोड और इंस्टॉल करें।
Microsoft Visual C++ पुनर्वितरण योग्य समस्या निवारण
ज्यादातर मामलों में, "गलत साइड-बाय-साइड कॉन्फ़िगरेशन" त्रुटि Microsoft Visual C++ Redistributable लाइब्रेरी के अनुपलब्ध या दूषित संस्करण से संबंधित है।
इस मामले में, निम्न त्रुटि 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.MFC 9.0.21022 की आवश्यकता है। Google में एक त्वरित खोज से पता चलता है कि यह Microsoft Visual C++ 2008 पुनर्वितरण योग्य है . इस एमवीसी संस्करण को माइक्रोसॉफ्ट वेबसाइट से डाउनलोड और इंस्टॉल करें।
इसी तरह, आप अन्य Microsoft Visual C++ संस्करण संस्करण में उनके मानों के अनुसार प्राप्त कर सकते हैं फ़ील्ड:
माइक्रोसॉफ्ट विजुअल सी++ विजुअल स्टूडियो 2015, 2017, और 2019 के लिए पुनर्वितरण योग्य। एक्सWindows में सिस्टम फ़ाइलें सुधारें
यदि आप समझते हैं कि ऐप स्टार्टअप त्रुटि विंडोज सिस्टम फाइलों में से एक से संबंधित है, तो एसएफसी और डीआईएसएम का उपयोग करके विंडोज सिस्टम इमेज फाइलों और घटकों की जांच और मरम्मत करें:
sfc /scannow
DISM.exe /Online /Cleanup-image /Scanhealth
DISM.exe /Online /Cleanup-image /Restorehealth