কম্পিউটার টিউটোরিয়াল

অ্যাপ্লিকেশন শুরু করতে ব্যর্থ হয়েছে কারণ এর সাইড-বাই-সাইড কনফিগারেশন ভুল

যদি উইন্ডোজে একটি অ্যাপ চালানোর চেষ্টা করার সময় “The application has failed to start because its side-by-side configuration is incorrect” ত্রুটি দেখেন, তবে এর মানে হল প্রোগ্রামটি অনুপস্থিত ডিপেন্ডেন্সি কারণে শুরু হতে পারছে না। অ্যাপ চালানোর জন্য প্রয়োজনীয় কম্পোনেন্টগুলো ক্ষতিগ্রস্ত বা কম্পিউটারে ইনস্টল নেই। এই আর্টিকেলে, আমরা দেখাব কীভাবে একটি অ্যাপ্লিকেশনের ম্যানিফেস্ট ফাইল চেক করতে হয় এবং লাইব্রেরি বা প্যাকেজ খুঁজে বের করে ডিপেন্ডেন্সি সমাধান করতে হয় যাতে অ্যাপটি সঠিকভাবে শুরু होয়।

সবচেয়ে বেশি এই সমস্যা পোর্টেবল অ্যাপ বা গেম চালানোর সময় হয় কারণ সেগুলো মাইক্রোসফট ভিজ্যুয়াল C++ রিডিস্ট্রিবিউটেবল (vc_redist.x86.exe, vc_redist.x64.exe) লাইব্রেরি ব্যবহার করে যা কম্পিউটারে ইনস্টল নেই বা করাপ্ট। যাইহোক, চিন্তা না করে আপনার কম্পিউটারে সব ভিজ্যুয়াল C++ রিডিস্ট্রিবিউটেবল সংস্করণ ইনস্টল করার আগে, আমরা অ্যাপের ম্যানিফেস্ট ফাইল দ্বারা নিশ্চিতভাবে কোন লাইব্রেরি প্রয়োজন তা খুঁজে বের করার চেষ্টা করব।

অ্যাপ্লিকেশন শুরু করতে ব্যর্থ হয়েছে কারণ এর সাইড-বাই-সাইড কনফিগারেশন ভুল

উইন্ডোজে একটি অ্যাপ ম্যানিফেস্ট কীভাবে বিশ্লেষণ করবেন?

আসুন একটি কম্পিউটারে makeappx.exe অ্যাপ্লিকেশন চালানোর চেষ্টা করি যাতে উইন্ডোজ SDK ইনস্টল নেই।

Makeappx.exe *.msix, *.appx, *.msixbundle, বা *.appxbundle ফরম্যাটে UWP অ্যাপ প্যাকেজ তৈরি করতে দেয়।

স্পষ্টভাবে, টুলটি শুরু হয় না এবং একটি ত্রুটি রিটার্ন করে:

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 ফাইল ম্যানিফেস্ট ফ্রি Manifest View বা Resource Hacker টুল ব্যবহার করে দেখতে পারেন।

Resource Hacker ব্যবহার করে অ্যাপ ম্যানিফেস্ট দেখতে এবং এডিট করার পদ্ধতি আমরা আর্টিকেল "How to suppress UAC elevation prompt?"-এ দেখিয়েছি।

যে 보인다, অ্যাপ ম্যানিফেস্টের Dependency সেকশনে 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 ফাইলটি নোটপ্যাডে (অথবা যেকোনো অন্যান্য টেক্সট এডিটরে) খুলুন এবং ত্রুটির লাইনগুলো খুঁজুন। আপনি পাওয়ারশেল ব্যবহার করে টেক্সট ফাইলে ত্রুটি 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.

অ্যাপ্লিকেশন শুরু করতে ব্যর্থ হয়েছে কারণ এর সাইড-বাই-সাইড কনফিগারেশন ভুল

তারপর গুগলে এই dll-র সম্পর্কে তথ্য খুঁজুন। আমার উদাহরণে, লাইব্রেরি ফাইলটি উইন্ডোজ SDK (Redist.x86) থেকে MSIX Toolkit-এর অংশ। আপনি যে কম্পোনেন্টগুলো খুঁজে পেয়েছেন সেগুলো ডাউনলোড এবং ইনস্টল করুন যাতে অ্যাপটি সঠিকভাবে শুরু হয়।

মাইক্রোসফট ভিজ্যুয়াল C++ রিডিস্ট্রিবিউটেবল ট্রাবলশুটিং

বেশিরভাগ ক্ষেত্রে, “incorrect side-by-side configuration” ত্রুটি অনুপস্থিত বা করাপ্ট মাইক্রোসফট ভিজ্যুয়াল C++ রিডিস্ট্রিবিউটেবল লাইব্রেরি সংস্করণের সাথে সম্পর্কিত।

এই ক্ষেত্রে, 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.8 প্রয়োজন। গুগলে দ্রুত খুঁজে বের করা যায় যে এটি Microsoft Visual C++ 2008 Redistributable। মাইক্রোসফট ওয়েবসাইট থেকে এই MVC সংস্করণটি ডাউনলোড এবং ইনস্টল করুন।

একইভাবে, আপনি Version ফিল্ডের মান দ্বারা অন্যান্য মাইক্রোসফট ভিজ্যুয়াল C++ সংস্করণগুলো পেতে পারেন:

  • Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017, and 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

উইন্ডোজে সিস্টেম ফাইল রিপেयर করুন

যদি আপনি বুঝতে পারেন যে অ্যাপ স্টার্টআপ ত্রুটি উইন্ডোজ সিস্টেম ফাইলগুলির সাথে সম্পর্কিত, তবে SFC এবং DISM ব্যবহার করে উইন্ডোজ সিস্টেম ইমেজ ফাইল এবং কম্পোনেন্ট চেক ও রিপেयर করুন:

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

  1. macOS-এ লক করা ফাইল ডিলিট করার উপায়: Trash এরর দ্রুত সমাধান

  2. উইন্ডোজ কোড ১৯ সমাধান: হার্ডওয়্যার ডিভাইস শুরু হয় না অসম্পূর্ণ বা করাপ্ট কনফিগারেশনের কারণে

  3. Windows-এ 'Application Failed to Initialize Properly' এরর সমাধান

  4. উইন্ডোজ ১০-এ 'Side-by-Side Configuration Incorrect' এরর সমাধান