هل أنا حقا بحاجة الى تسجيل يستخدم WinHttp على Windows Server 2008 قبل استخدام WinHttpRequest.5.1؟

StackOverflow https://stackoverflow.com/questions/1639658

سؤال

وأساسا أنا أعتقد أن هذا هو خلل في Windows Server 2008، ولكن أنا لست النينجا COM لذلك يبدو من المرجح أيضا أن أنا فقط تفعل شيئا غبيا. والسؤال هو: خلل أو خطأ مبرمج

ونحن نستخدم WinHttpRequest (مكون ActiveX من WinHTTP) لقراءة HTTP: // و https: //. ومعرف البرنامج ونحن نستخدم للبحث عن العنصر هو WinHttp.WinHttpRequest.5.1.

وطلبنا عملت بشكل جيد على XP و Windows Server 2003. تحت ويندوز سيرفر 2008 سوف نحصل على خطأ (0x800029C4A "Error loading type library/DLL") تحميل مكتبة نوع. إعادة التسجيل يستخدم WinHttp إصلاح المشكلة. والسؤال هو، لماذا؟

وبعد العديد من deadends، وجدت التالي في التسجيل.

ويندوز 2008 SP2 خادم مثبت:

Name=HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{662901FC-6951-4854-9EB2-D9A2570F2B2E}\5.1\0\win32=%SystemRoot%\system32\winhttp.dll
Type=REG_SZ
Data=%SystemRoot%\system32\winhttp.dll

وبعد استدعاء regsvr32 %SystemRoot%\System32\WinHttp.dll، هذه التغييرات الرئيسية القيمة:

Name=HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{662901FC-6951-4854-9EB2-D9A2570F2B2E}\5.1\0\win32
Type=REG_SZ
Data=C:\Windows\system32\winhttp.dll

وما أفهمه هو أن مفاتيح من نوع REG_EXPAND_SZ توسيع مسارات النظام مثل %SystemRoot% لكن REG_SZ لا. فإما أن يكون REG_EXPAND_SZ نوع، أو يجب استخدام مسار الموسعة. إعادة تسجيل يستخدم WinHttp يحدد المسار وبالتالي يحدد WinHttpRequest. (بقدر ما استطيع ان اقول، وتستخدم XP C:\Windows\System32\winhttp.dll ويستخدم خادم 2003 اس باي اس تثبيت يعمل بالنسبة لي> 0

ولذا فإنني أعتقد أن هذا هو الخطأ، وأنا قدمت الخلل مع مايكروسوفت (أو على الأقل بقدر ما يمكن القيام به من المستنقع الذي هو connect.microsoft.com). ولكن هنا هو الجزء أنا لا أحصل على: منذ ويندوز سيرفر 2008 وفيستا متشابهة جدا، يبدو من المرجح أن هذه المسألة موجودة في ويندوز فيستا أيضا. وقد حصلت WinHttpRequest أن يكون الكائن الأكثر استخداما. الجماهير يجب أن يصرخ، ولكن بعد الكثير من غوغلينغ وجدت <لأ href = "http://blogs.msdn.com/vikas/archive/2008/10/01/bug-unable-to-load-winhttp-dll- حيز التوقعات-2007-VBA-references.aspx "يختلط =" نوفولو noreferrer "> فقط موضوع واحد حيث واجه الناس هذه المشكلة .

وإعادة تسجيل يستخدم WinHttp إصلاح المشكلة، وهذا ما نقوم به. أنا نشر هذا لأن) أنا فقط لا يمكن أن نعتقد أنه من أفضل الممارسات لإعادة تسجيل هذا العنصر شائعة الاستخدام وب) إذا كان الخلل، ربما هذا سوف يساعد شخص آخر.

و-Rob

هل كانت مفيدة؟

المحلول

نعم، هذا اتضح أن يكون خطأ في الظاهر من W2K8، ولكن ليس بالضرورة الظاهر لفيستا. يبدو أن مايكروسوفت ليكون على بينة من هذه المسألة، ومايكروسوفت يجب أن يكون قادرا على إصلاح هذا في الإصدار التالي. العمل الحالي حول ليستخدم WinHttp وكذلك ServerXMLHttp لهو تسجيل المكون COM يدويا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top