هل أنا حقا بحاجة الى تسجيل يستخدم WinHttp على Windows Server 2008 قبل استخدام WinHttpRequest.5.1؟
-
08-07-2019 - |
سؤال
وأساسا أنا أعتقد أن هذا هو خلل في 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 يدويا.