เกิดข้อผิดพลาดเมื่อโปรแกรมประยุกต์เรียก API RegisterTypeLib การลงทะเบียนไลบรารีของชนิดใน Windows Vista: "การเข้าถึงถูกปฏิเสธ"

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 935200 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

พิจารณาสถานการณ์ต่อไปนี้: ในโปรแกรมประยุกต์ที่กำลังเรียกใช้บนคอมพิวเตอร์ที่ใช้ Windows Vista คุณพยายามที่จะแมป
HKEY_CLASSES_ROOT
ทรีย่อยของรีจิสทรีเพื่อทรีย่อยของรีจิสทรีอื่น ตัวอย่างเช่น คุณพยายามที่จะแมป
HKEY_CLASSES_ROOT
ลำดับชั้นย่อยของรีจิสทรีไปยัง
HKEY_CURRENT_USER
ทรีย่อยของรีจิสทรี เมื่อโปรแกรมประยุกต์ที่เรียกนั้นRegisterTypeLibAPI การลงทะเบียนไลบรารีชนิด คุณอาจได้รับข้อความแสดงข้อความแสดงข้อผิดพลาดต่อไปนี้:
การเข้าถึงถูกปฏิเสธ
นอกจากนี้RegisterTypeLibAPI ส่งกลับค่า TYPE_E_REGISTRYACCESS (0x8002801c)

ปัญหานี้เกิดขึ้นหากมีการเปิดใช้การควบคุมบัญชีผู้ใช้ (UAC) และโปรแกรมประยุกต์ที่กำลังทำงานภายใต้บัญชีผู้ใช้ที่จำกัด

การแก้ไข

ข้อมูล Service Pack

เมื่อต้องการแก้ไขปัญหานี้ ให้ขอรับ Service Pack ล่าสุดสำหรับ Windows Vista สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
935791วิธีการขอรับ Service Pack ของ Windows Vista รุ่นล่าสุด

ข้อมูลโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนที่ได้รับการสนับสนุนจาก Microsoft พร้อมใช้งานแล้ว อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มีเป้าหมายเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นำโปรแกรมแก้ไขด่วนนี้ไปใช้กับระบบที่พบปัญหานี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น หากคุณไม่ได้รับความเสียหายรุนแรงจากปัญหานี้ เราขอแนะนำให้คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่มีโปรแกรมแก้ไขด่วนนี้

หากมีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "โปรแกรมแก้ไขด่วนพร้อมดาวน์โหลด" อยู่ที่ด้านบนของบทความฐานความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น โปรดติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน

หมายเหตุ:หากเกิดปัญหาอื่น ๆ หรือ ถ้ามีการแก้ไขปัญหาเป็นสิ่งจำเป็น คุณอาจต้องสร้างการร้องขอบริการแยกต่างหาก ค่าใช้จ่ายในการสนับสนุนปกติจะเกิดขึ้นเมื่อมีคำถามและประเด็นการสนับสนุนอื่นๆ ซึ่งไม่จัดอยู่ในโปรแกรมแก้ไขด่วนเฉพาะที่กล่าวถึงนี้ สำหรับรายการของหมายเลขโทรศัพท์ของฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft ทั้งหมด หรือถ้าต้องการสร้างคำขอรับการสนับสนุนแยกต่างหาก โปรดเข้าสู่เว็บไซต์ของ Microsoft ต่อไปนี้::
http://support.microsoft.com/contactus/?ws=support
หมายเหตุ:แบบฟอร์ม "โปรแกรมแก้ไขด่วนพร้อมดาวน์โหลด" แสดงภาษาในโปรแกรมแก้ไขด่วนมีอยู่ หากคุณไม่เห็นภาษาของคุณ เป็นเพราะไม่มีโปรแกรมแก้ไขด่วนสำหรับภาษานั้นหลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ คุณต้องเปิดใช้โปรแกรมแก้ไขด่วน ดูส่วน "โปรแกรมแก้ไขด่วนเปิดใช้งาน" สำหรับข้อมูลเพิ่มเติม

ข้อกำหนดเบื้องต้น

คุณต้องมี Windows Vista ติดตั้งให้ใช้โปรแกรมแก้ไขด่วนนี้

ข้อกำหนดในการเริ่มต้นระบบคอมพิวเตอร์ใหม่

คุณต้องเริ่มระบบของคอมพิวเตอร์ใหม่หลังจากใช้โปรแกรมแก้ไขด่วนนี้

ข้อมูลการทดแทนโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนนี้ไม่ได้แทนฮอตฟิกซ์อื่น ๆ

ข้อมูลแฟ้ม

โปรแกรมแก้ไขด่วนรุ่นภาษาอังกฤษนี้มีแอตทริบิวต์แฟ้ม (หรือแอตทริบิวต์แฟ้มหลังจากนี้) ซึ่งแสดงในตารางต่อไปนี้ วันที่และเวลาของแฟ้มเหล่านี้จะปรากฏในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ข้อมูลจะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้โซนเวลาแท็บในนั้นวันที่และเวลารายการใน'แผงควบคุม'
Windows Vista รุ่นที่ใช้ x86
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดแฟ้มวันที่เวลาแพลทฟอร์ม
X86_4bbe5d294834975fb80c47470752adb1_31bf3856ad364e35_6.0.6000.20604_none_dea9a3d5aecfc0a3.manifestไม่สามารถใช้งานได้70223 2007 พฤษภาคม19:26ไม่สามารถใช้งานได้
X86_microsoft-หน้าต่าง-ole-automation_31bf3856ad364e35_6.0.6000.20604_none_bba787f5176daa36.manifestไม่สามารถใช้งานได้88,60923 2007 พฤษภาคม19:28ไม่สามารถใช้งานได้
Oleaut32.dll6.0.6000.20604558,59223 2007 พฤษภาคม04:43x86
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดแฟ้มวันที่เวลาแพลทฟอร์ม
X86_4bbe5d294834975fb80c47470752adb1_31bf3856ad364e35_6.0.6000.20604_none_dea9a3d5aecfc0a3.manifestไม่สามารถใช้งานได้70223 2007 พฤษภาคม19:26ไม่สามารถใช้งานได้
X86_microsoft-หน้าต่าง-ole-automation_31bf3856ad364e35_6.0.6000.20604_none_bba787f5176daa36.manifestไม่สามารถใช้งานได้88,60923 2007 พฤษภาคม19:28ไม่สามารถใช้งานได้
Oleaut32.dll6.0.6000.20604558,59223 2007 พฤษภาคม04:43x86
Update.mumไม่สามารถใช้งานได้2,00123 2007 พฤษภาคม19:26ไม่สามารถใช้งานได้
windows Vista รุ่น 64 บิต
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดแฟ้มวันที่เวลาแพลทฟอร์ม
Amd64_4a6574fa45a2d59d7249caa900399476_31bf3856ad364e35_6.0.6000.20604_none_cd312e3fb1af0597.manifestไม่สามารถใช้งานได้70623 2007 พฤษภาคม19:26ไม่สามารถใช้งานได้
Amd64_65563c6fd47be510b29634938ca65f92_31bf3856ad364e35_6.0.6000.20604_none_21b539ccf0659813.manifestไม่สามารถใช้งานได้70623 2007 พฤษภาคม19:26ไม่สามารถใช้งานได้
Amd64_microsoft-หน้าต่าง-ole-automation_31bf3856ad364e35_6.0.6000.20604_none_17c62378cfcb1b6c.manifestไม่สามารถใช้งานได้86,22723 2007 พฤษภาคม19:33ไม่สามารถใช้งานได้
Package_1_for_kb935200 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.1.0.mumไม่สามารถใช้งานได้1,79523 2007 พฤษภาคม19:26ไม่สามารถใช้งานได้
Package_2_for_kb935200 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.1.0.mumไม่สามารถใช้งานได้2,01223 2007 พฤษภาคม19:26ไม่สามารถใช้งานได้
Update.mumไม่สามารถใช้งานได้1,90923 2007 พฤษภาคม19:26ไม่สามารถใช้งานได้
Wow64_microsoft-หน้าต่าง-ole-automation_31bf3856ad364e35_6.0.6000.20604_none_221acdcb042bdd67.manifestไม่สามารถใช้งานได้86,47523 2007 พฤษภาคม19:33ไม่สามารถใช้งานได้
Oleaut32.dll6.0.6000.20604867,84023 2007 พฤษภาคม05:54x64
Oleaut32.dll6.0.6000.20604558,59223 2007 พฤษภาคม04:43x86

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "การใช้งาน" ปัญหานี้ถูกแก้ไขใน Windows Vista Service Pack 1 ครั้งแรก

ข้อมูลเพิ่มเติม

เปิดการใช้งานโปรแกรมแก้ไขด่วน

หลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ คุณต้องใช้วิธีการต่อไปนี้อย่างใดอย่างหนึ่งเพื่อเปิดใช้งานโปรแกรมแก้ไขด่วน

วิธีที่ 1:

โปรแกรมแก้ไขด่วนนี้เพิ่ม API ที่ใหม่ ก่อนที่จะเรียกโปรแกรมประยุกต์นี้RegisterTypeLibAPI แอพลิเคชันสามารถเรียกการโมฆะOaEnablePerUserTLibRegistrationฟังก์ชันการเปิดใช้งานนั้นRegisterTypeLIbAPI เพื่อที่ใช้แมปการแทนที่เหมาะสม กระบวนการOaEnablePerUserTLibRegistrationฟังก์ชันส่งออกจากแฟ้ม Oleaut32.dll คุณต้องอ้างอิงแฟ้มนี้ได้ โดยใช้การเชื่อมโยงแบบไดนามิกของเวลารัน และ โดยใช้การGetProcAddressฟังก์ชัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการGetProcAddressฟังก์ชัน และเกี่ยวกับการเรียกใช้ขณะแบบไดนามิกลิงค์ ไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://msdn2.microsoft.com/en-us/library/ms686944.aspx

วิธีที่ 2

หลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วนRegisterTypeLibAPI จะตรวจสอบoaperusertlibregตัวแปรสภาพแวดล้อม ถ้าค่าของการoaperusertlibregตัวแปรเป็น 1,RegisterTypeLIbAPI จะใช้แมปการแทนที่เหมาะสม เนื่องจากมีอ่านตัวแปรสภาพแวดล้อมนี้ในระหว่างการเตรียมใช้งานของการDLLMainฟังก์ชัน คุณต้องตั้งค่าตัวแปรของสภาพแวดล้อมนี้ก่อนที่คุณเรียกใช้โปรแกรมประยุกต์ เมื่อต้องการทำเช่นนี้ รันคำสั่งต่อไปนี้อย่างใดอย่างหนึ่งที่พร้อมท์คำสั่ง:
  • การตั้งค่า OAPERUSERTLIBREG =% 1
  • เริ่มการทำงาน cmd.exe /c "เซ็ต OAPERUSERTLIBREG = 1 &&MyApp.exe"

    หมายเหตุ:กระบวนการMyApp.exeตัวยึดที่ชี้ไปยังโปรแกรมประยุกต์ที่คุณต้องการเรียกใช้
หมายเหตุ:คำสั่งแรกเท่านั้นตั้งค่าตัวแปรสภาพแวดล้อม คำสั่งที่สองตัวแปรสภาพแวดล้อมการตั้งค่า และโปรแกรมประยุกต์ที่ทำงานแล้ว ถ้าคุณใช้คำสั่งแรก คุณต้องรันโปรแกรมประยุกต์ที่พรอมต์คำสั่งนี้เช่นกัน
สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการ
HKEY_CLASSES_ROOT
รีจิสทรี subtree การเยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
http://msdn2.microsoft.com/en-us/library/ms724475.aspx
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการRegisterTypeLibAPI เยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
.aspx http://msdn2.microsoft.com/en-us/library/ms221570 (vs.71)
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

คุณสมบัติ

หมายเลขบทความ (Article ID): 935200 - รีวิวครั้งสุดท้าย: 20 ตุลาคม 2553 - Revision: 2.0
ใช้กับ
  • Microsoft COM+ 1.5 เมื่อใช้กับ:
    • Windows Vista Enterprise
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Ultimate
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business
    • Windows Vista Business 64-bit edition
    • Windows Vista Home Premium
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Home Basic
    • Windows Vista Home Basic 64-bit edition
Keywords: 
kbautohotfix kbvistasp1fix kbexpertiseadvanced kbfix kbqfe kbhotfixserver kbmt KB935200 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:935200

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com