উত্তর:
আমি এই লিঙ্কটি পেয়েছি: একটি ডিএলএল নিবন্ধিত হয়েছে কিনা তা আমি কীভাবে বলতে পারি? :
ডিএলএল নিবন্ধন স্বেচ্ছাসেবী ক্রিয়াকলাপকে ঘিরে রাখতে পারে তা বিবেচনা করে, কোনও স্বেচ্ছাসেবী ডিএলএল-এর জন্য নিবন্ধকরণ হয়েছে কিনা তা নির্ধারণের কোনও সাধারণ-উদ্দেশ্য উপায় নেই।
কোনও ডিএলএল নিবন্ধিত হয়েছে কিনা তা নির্ধারণের জন্য আপনাকে ডোমেন-নির্দিষ্ট জ্ঞান আনতে হবে। যদি আপনি জানেন যে কোনও ডিএলএল একটি নির্দিষ্ট সিএলএসআইডির সাথে কোনও COM অবজেক্ট নিবন্ধভুক্ত করে, আপনি পরীক্ষা করতে পারেন যে সিএলএসআইডি প্রকৃতপক্ষে নিবন্ধিত হয়েছে কিনা।
ঠিক আছে, এটি অসম্ভব, তবে ডিএলএলরা সাধারণত রেজিস্টারে একটি এন্ট্রি তৈরি করে নিবন্ধন করে। একটি কার্যনির্বাহীটি হ'ল:
reg query HKCR\CLSID | find /i "{9F3DBFEE-FD77-4774-868B-65F75E7DB7C3}"
আরও ভাল উত্তর আমাকে রেজিস্টার করার আগে ফাইল থেকে সরাসরি জিইউডি সন্ধান করার অনুমতি দেয়। কমপক্ষে এইভাবে আপনি ইনস্টল করতে একটি স্ক্রিপ্ট তৈরি করতে পারেন এবং এটি সফলভাবে ইনস্টল হয়েছে কিনা তা যাচাই করতে।
REG QUERY
ডিএলএল ফাইলের নাম সন্ধান করতে ব্যবহার করুন।
আমার নির্দিষ্ট নামের একটি ডিএলএল নিবন্ধিত আছে কিনা তা যাচাই করা দরকার এবং আমি আমার বিএটিতে এই আদেশটি ব্যবহার করেছি:
reg query HKLM\SOFTWARE\Classes /s /f whatever.dll
if errorlevel 1 goto DLL_MISSING
যদি ত্রুটি-বিহীন লেবেলে নিয়ন্ত্রণ প্রেরণ করা থাকে তবে যখন reg query
কিছুই পাওয়া যায় নি। আপনি যেখানে অনুসন্ধান করবেন সেখানে রেজিস্ট্রিটির অংশটি পরিবর্তন করতে হবে (আমার ক্ষেত্রে HKLM'...
, আরও সুনির্দিষ্ট পথটি দ্রুততর, অন্যথায় এটি সত্যই বেশি সময় নেয়)।
প্রয়োজনে আউটপুট প্রক্রিয়া করা যায়, প্রবেশের জন্য জিইউডি পাওয়া যায়, তবে এটি রেগ কোয়েরি কমান্ডের বাইরে নয়।
কমান্ড লাইন থেকে ডিএলএল-এর জন্য রেজিস্ট্রি এন্ট্রিগুলি ( এবং optionচ্ছিকভাবে COM অবজেক্টস) সন্ধানের জন্য, @ ভার্জো 47 এবং উত্তরগুলির উত্তরগুলির সংমিশ্রণটি আমার পক্ষে সবচেয়ে ভাল কাজ করেছে।
রেগ কোয়েরি এইচকেএলএম OF সফ্টওয়্যার \ ক্লাস / এস / এফ যাই হোক। ডিএল
/s /f "{GUID}"
চেয়ে দ্রুত হওয়া উচিত | findstr /i "{GUID}"
And | find /i "{GUID}"
এবং এটি টাইপো হিসাবে উপস্থিত হবে (তবে আমি এখনও সার্ভারফল্টে মন্তব্য লিখতে পারি না)))
রেগ কোয়েরি এইচকেসিআর \ সিএলএসআইডি / এস / এফ "{9F3DBFEE-FD77-4774-868B-65F75E7DB7C3}"