Xử lý lỗi không thể cài đặt các nâng cấp và cài đặt chương trình

Khi thử tải về một điều khiển ActiveX, cài đặt một nâng cấp hoặc cài đặt gói dịch vụ cho Windows hoặc cho thành phần nào đó của Windows, hoặc cài đặt một chương trình phần mềm nhóm thứ ba bạn có thể gặp một số vấn đề và việc cài đặt không thực hiện được. Bài này sẽ đưa ra các thông báo lỗi và một số cách chỉnh sửa lỗi để bạn có thể tiếp tục công việc cài đặt hay cập nhật của mình.

Các triệu chứng có thể gặp phải như sau:

  • Bạn có thể nhận được thông báo lỗi khi cài đặt một chương trình hoặc một nâng cấp:
Digital Signature Not Found
The Microsoft digital signature affirms that software has been tested
with Windows and that the software has not been altered since it was tested.
The software you are about to install does not contain a Microsoft digital signature.
Therefore, there is no guarantee that this software works correctly with Windows.
Name of software package
If you want to search for Microsoft digitally signed software,
visit the Windows Update Web site at
http://windowsupdate.microsoft.com
to see if one is available.

Do you want to continue the installation?

Nếu kích vào More Info, bạn sẽ nhận được thông báo dưới đây:

Microsoft Windows
The signature on the software package you want to install is invalid.
The software package is not signed properly.

Sau khi kích OK trong hộp thoại thông báo lỗi đầu tiên, bạn có thể nhận được một thông báo cho biết rằng cài đặt đã thành công hoặc có thể là một thông báo lỗi dưới đây:

Name of Update Package
The cryptographic operation failed due to a local security option setting.

Khi cài đặt một nâng cấp hoặc cài đặt một gói dịch vụ, bạn có thể nhận được một thông báo lỗi như dưới đây:

  • Name of Update Package: Setup could not verify the integrity of the file Update.inf. Make sure the Cryptographic service is running on this computer.
  • Failed to install catalog files: The software you are installing has not passed Windows Logo testing to verify its compatibility with Windows XP. (Tell me why this testing is important.)
  • This software will not be installed. Contact your system administrator.
  • The software you are installing has not passed Windows Logo testing to verify its compatibility with this version of Windows. (Tell me why this testing is important.)

Khi cài đặt một gói dịch vụ của Windows XP, bạn có thể nhận được một thông báo lỗi như thông báo dưới đây:

  • Service Pack 1 Setup could not verify the integrity of the file. Make sure the Cryptographic service is running on this computer

Khi thực hiện cài đặt các thành phần truy cập dữ liệu của Microsoft (MDAC) 2.8 bạn có thể nhận được một thông báo lỗi như thông báo dưới đây.

  • INF Install failure. Reason: The timestamp signature and/or certificate could not be verified or is malformed.

Dung lượng file %WINDIR%\System32\CatRoot2\Edb.log có thể lên đến 20MB dù file điển hình chỉ nhỏ hơn 1MB.

Khi cài đặt gói phần mềm từ website của Windows Update bạn có thể nhận được một thông báo tương tự như thông báo dưới đây:

  • The software has not passed Windows logo testing and will not be installed.

Khi kiểm tra file %systemroot%\Windowsupdate.log, bạn sẽ có thể thấy một mục có một trong những lỗi sau:

  • 0x80096001
  • 0x800B0003
  • 0x80096005
  • 0x800B0004
  • 0x80096010
  • 0x800B0109
  • 0x800B0001
  • 0x8007f0da

Khi bạn sử dụng nâng cấp Windows của Microsoft trên máy tính Windows XP, quá trình nâng cấp có thể thất bại và bạn có thể nhận được một thông báo lỗi "0x8007f007". Thông báo lỗi này xuất hiện không vào loại nâng cấp bạn chọn là gì.

File Svcpack.log có thể gồm các mục như dưới đây:

 937.406: GetCatVersion: Failed to retrieve version information from C:\WINDOWS\system32 \CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Tmp.0.scw.cat with error 0x57
937.437: GetCatVersion: Failed to retrieve version information from C:\WINDOWS\Tmp.0.scw.cat with error 0x80092004 940.344: InstallSingleCatalogFile: MyInstallCatalog failed for Tmp.0.scw.cat; error=0xfffffbfe.
940.344: DoInstallation:MyInstallCatalogFiles failed:STR_CATALOG_INSTALL_FAILED
955.125: UnRegisterSpuninstForRecovery, failed to delete SpRecoverCmdLine value, error 0x2
955.125: DoInstallation: Failed to unregistering spuninst.exe for recovery.
962.656: DeRegistering the Uninstall Program -> Windows Server 2003 Service Pack, 0
962.656: Failed to install catalog files.
1448.406: Message displayed to the user: Failed to install catalog files.
1448.406: User Input: OK
1448.406: Update.exe extended error code = 0xf01e
1448.406: Update.exe return code was masked to 0x643 for MSI custom action compliance.

Nguyên nhân

Vấn đề này có thể xuất hiện nếu một hoặc một số điều kiện dưới đây đúng:

  • Lỗi file bản ghi hoặc dữ liệu trong thư mục %Systemroot%\System32\Catroot2
  • Cryptographic Services thiết lập ở chế độ vô hiệu hóa (disabled).
  • Các file Windows khác bị sai hay bị mất.
  • Chữ ký timestamp hoặc chứng chỉ có thể không được thẩm định hoặc bị thay đổi.
  • Thuộc tính ẩn được thiết lập cho thư mục %Windir% hoặc một trong những thư mục con của nó.
  • Thiết lập Group Policy Unsigned non-driver installation behavior (chỉ cho Windows 2000) được thiết lập là Do not allow installation hoặc Warn but allow installation, hoặc giá trị nhị phân của Policy không được thiết lập bằng 0 trong khóa đăng kí dưới đây:
HKEY_LOCAL_MACHINE\Software\Microsoft\Non-Driver Signing 
  • Thiết lập Enable trusted publisher lockdown của Group Policy được bật, và bạn không có chứng chỉ thích hợp trong phần lưu trữ chứng chỉ Trusted Publishers. Thiết lập Group Policy này được đặt dưới User Configuration, Windows Settings, Internet Explorer Maintenance, Security, Authenticode Settings trong Group Policy MMC snap-in.
  • Bạn đang cài đặt Internet Explorer 6 SP1, và gói bảo mật 823559 (MS03-023) đã được cài đặt.
  • Thư mục phân phối phần mềm bị sai lạc.

Giải pháp

Để giải quyết vấn đề này, bạn sử dụng các phương pháp dưới đây. Sau khi thực hiện các bước trong mỗi phương pháp, bạn hãy kiểm tra xem vấn đề có được giải quyết hay không trước khi tiếp tục chuyển sang bước tiếp theo. Nếu vấn đề được giải quyết bằng bất cứ cách nào thì bạn không cần phải sử dụng các cách còn lại.

Phương pháp 1: Đặt lại tên cho file Edb.log

Đặt lại tên file Edb.log sau đó cài đặt chương trình lại một lần nữa. Để đặt lại tên cho file Edb.log, bạn thực hiện các bước dưới đây:

  • Kích Start, kích Run, đánh cmd trong hộp Open, sau đó kích OK.
  • Tại cửa sổ lệnh, đánh lệnh dưới đây, sau đó nhấn ENTER:
ren %systemroot%\system32\catroot2\Edb.log *.tst  

Phương pháp 2: Thiết lập các dịch vụ mã hóa tự động

Thiết lập các dịch vụ mã hóa Cryptographic Services thành tự động Automatic, sau đó cài chương trình lại một lần nữa. Để thiết lập các dịch vụ mã hóa thành tự động bạn thực hiện các bước dưới đây:

  • Vào tiện ích Administrative Tools trong Control Panel.
  • Kích đúp vào Services.
  • Kích chuột phải vào Cryptographic Services, sau đó kích Properties.
  • Kích Automatic cho phần Startup type, sau đó kích Start.

Lưu ý: Windows 2000 không liệt kê Cryptographic Services trong tiện ích quản trị SERVICES Administrative Utility.

Phương pháp 3: Đặt lại tên cho thư mục Catroot2

Đặt lại tên cho thư mục Catroot2 (chỉ cho Windows XP và Windows Server 2003), sau đó cài đặt chương trình một lần nữa.

Lưu ý: Bỏ qua phương pháp này nếu hệ điều hành là Windows 2000.

Để đặt lại tên cho thư mục Catroot2, bạn thực hiện theo các bước sau:

  • Kích Start, chọn Run, đánh cmd, sau đó kích OK.
  • Tại cửa sổ lệnh, bạn đánh các lệnh dưới đây, sau đó nhấn ENTER
net stop cryptsvc 
ren %systemroot%\System32\Catroot2
oldcatroot2
net start cryptsvc
exit
  • Gỡ bỏ toàn bộ các file tmp*.cat từ thư mục sau:
%systemroot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} 

Nếu không có file bắt đầu với tmp tồn tại trong thư mục này, bạn không được bỏ bất kỳ file nào khác. Các file .cat trong thư mục này cần thiết để cài đặt hotfix và các gói dịch vụ.

Quan trọng: Không được đổi tên thư mục Catroot. Thư mục Catroot2 được tạo lại một cách tự động bởi Windows, nhưng thư mục Catroot sẽ không được tạo lại nếu thư mục Catroot bị đổi tên.

Phương pháp 4: Đăng kí lại các file DLL liên kết với dịch vụ mã hóa Cryptographic Services

Để đăng kí các file .dll liên kết với Cryptographic Services, bạn thực hiện các bưới sau:

  • Kích Start, chọn Run, đánh cmd trong hộp Open, sau đó nhấn OK.
  • Tại dấu nhắc lệnh, bạn đánh các lệnh dưới đây, sau đó nhấn ENTER sau mỗi lệnh:
regsvr32 /u softpub.dll
regsvr32 /u wintrust.dll
regsvr32 /u initpki.dll
regsvr32 /u dssenh.dll
regsvr32 /u rsaenh.dll
regsvr32 /u gpkcsp.dll
regsvr32 /u sccbase.dll
regsvr32 /u slbcsp.dll
regsvr32 /u mssip32.dll
regsvr32 /u cryptdlg.dll
exit

Lưu ý: Kích OK nếu bạn được yêu cầu.

Lưu ý: Microsoft Windows 2000 không có file Sccbase.dll. Nếu bạn đang sử dụng phiên bản Windows 2000 thì hãy bỏ qua file Sccbase.dll

  • Khởi động lại máy tính.
  • Kích Start, chọn Run, đánh cmd trong hộp, sau đó nhấn OK.
  • Tại cửa sổ lệnh, bạn đánh các lệnh sau, nhấn ENTER sau mỗi lệnh:
regsvr32 softpub.dll
regsvr32 wintrust.dll
regsvr32 initpki.dll
regsvr32 dssenh.dll
regsvr32 rsaenh.dll
regsvr32 gpkcsp.dll
regsvr32 sccbase.dll
regsvr32 slbcsp.dll
regsvr32 mssip32.dll
regsvr32 cryptdlg.dll
exit

Lưu ý: Kích OK nếu bạn được yêu cầu.

Lưu ý: Microsoft Windows 2000 không có file Sccbase.dll. Nếu bạn đang sử dụng phiên bản Windows 2000 thì hãy bỏ qua file Sccbase.dll

  • Khởi động lại máy tính.

Phương pháp 5: Gỡ bỏ thuộc tính ẩn từ %Windir% và các thư mục con của nó.

  • Kích Start, chọn Run, đánh cmd trong hộp Open, sau đó nhấn OK.
  • Tại cửa sổ lệnh, bạn đánh các lệnh sau, nhấn ENTER sau mỗi dòng:
attrib -s -h %windir%
attrib -s -h %windir%\system32
attrib -s -h %windir%\system32\catroot2
exit

Phương pháp 6: Thiết lập chính sách non-driver signing thành silently succeed

Nếu bạn đang sử dụng phiên bản Windows 2000, thiết lập Unsigned non-driver installation behavior của Group Policy thành Silently succeed. Thiết lập Group Policy này được đặt trong phần Computer Configuration, Windows Settings, Security Settings, Local Policies, Security Options trong Group Policy MMC snap-in.

  • Kích Start, chọn Run, đánh regedit, sau đó kích OK.
  • Định vị và chọn khóa dưới đây trong registry:
HKEY_LOCAL_MACHINE\Software\Microsoft\Non-Driver Signing 
  • Kích chuột phải vào giá trị nhị phân Policy, sau đó chọn Modify.
  • Dữ liệu Value sẽ xuất hiện dưới định dạng sau:
0000  02
  • Nhấn DELETE để xóa giá trị hiện hành (trong ví dụ này là 02), sau đó đánh 0 (giá trị hiện hành sẽ xuất hiện bằng 00)
  • Kích OK, sau đó thoát khỏi Registry Editor.

Phương pháp 7: Tắt tạm thời Trusted Publishers Lockdown và cài đặt các chứng chỉ thích hợp cho phần lưu trữ chứng chỉ trusted publishers của bạn

Bạn có thể tiếp tục sử dụng thiết lập Enable trusted publisher lockdown của Group Policy, nhưng trước tiên phải bổ sung thêm các chứng chỉ thích hợp vào phần lưu trữ chứng chỉ Trusted Publishers. Để thực hiện điều này, bạn phải tắt thiết lập Enable trusted publisher lockdown của Group Policy, cài đặt các chứng chỉ thích hợp trong lưu trữ Trusted Publishers, sau đó bật trở lại thiết lập Enable trusted publisher lockdown Group Policy. Để cài đặt chứng chỉ thích hợp cho các nâng cấp sản phẩm Microsoft Windows và Microsoft Internet Explorer, bạn thực hiện các bước dưới đây:

  • Tải bản nâng cấp sản phẩm của Microsoft mà bạn muốn cài đặt từ Microsoft Download Center, từ Windows Update Catalog, hoặc từ Microsoft Update Catalog.
  • Giải nén gói nâng cấp sản phẩm vào một thư mục tạm thời. Lệnh mà sử dụng để thực hiện sẽ phụ thuộc vào nâng cấp mà bạn cài đặt. Xem kiến thức cơ bản có liên quan đến nâng cấp để xác định lệnh thích hợp để sử dụng. Ví dụ, để giải nén nâng cấp bảo mật 824146 cho Windows XP vào thư mục C:\824146, bạn chạy Windowsxp-kb824146-x86-enu -x:c:\824146. Để giải nén nâng cấp bảo mật 828750 cho Windows XP vào thư mục C:\828750 bạn chạy q828750.exe /c /t:c:\828750.
  • Kích chuột phải vào file KBNumber.cat từ gói nâng cấp sản phẩm trong thư mục tạm thời mà bạn đã tạo trong bước 2 và kích Properties.

Lưu ý: file KBNumber.cat có thể nằm trong một thư mục con. Ví dụ, file có thể nằm trong thư mục C:\824146\sp1\update hoặc trong thư mục C:\824146\sp2\update.

  • Trên tab Digital Signatures, kích chữ ký số sau đó kích Details.
  • Kích View Certificate, sau đó kích Install Certificate.
  • Kích Next để bắt đầu Certificate Import Wizard.
  • Kích Place all certificates in the following store, sau đó kích Browse.
  • Kích Trusted Publishers, sau đó kích OK.
  • Kích Next, Finish, sau đó kích OK.

Phương pháp 8: Thẩm định trạng thái của các chứng chỉ và import các chứng chỉ hỏng hoặc mất từ máy tính khác.

Để thẩm định các chứng chỉ trong đường dẫn chứng chỉ hoặc nâng cấp sản phẩm Internet Explorer, bạn thực hiện theo các bước dưới đây:

Bước 1: Thẩm định các chứng chỉ Microsoft

  • Trong Internet Explorer, click Tools, sau đó chọn Internet Options.
  • Trên tab Content, kích Certificates.
  • Trên tab Trusted Root Certification Authorities, kích đúp Microsoft Root Authority. Nếu chứng chỉ này bị mất thì bạn chuyển sang bước 2.
  • Trên tab General, bảo đảm rằng ngày của Valid from 1/10/1997 to 12/31/2020.
  • Trên tab Certification Path, thẩm định rằng This certificate is OK xuất hiện dưới Certificate Status.
  • Kích OK, sau đó kích đúp vào chứng chỉ NO LIABILITY ACCEPTED
  • Trên tab General bảo đảm giá trị ngày Valid from5/11/1997 to 1/7/2004.
  • Trên tab Certification Path, thẩm định rằng This certificate has expired or is not yet valid hoặc This certificate is OK xuất hiện dưới Certificate Status.

Lưu ý: Mặc dù chứng chỉ này hết hạn, nhưng nó sẽ vẫn tiếp tục làm việc. Hệ điều hành có thể không làm việc nếu chứng chỉ bị mất hoặc bị hủy bỏ.

  • Kích OK, sau đó kích đúp chứng chỉ GTE CyberTrust Root. Bạn có thể có nhiều chứng chỉ với cùng một tên. Kiểm tra chứng chỉ mà có ngày hết hạn là 2/23/2006.
  • Trên tab General, bảo đảm rằng giá trị ngày trong Valid from là "2/23/1996 to 2/23/2006".
  • Trên tab Certification Path, thẩm định rằng This certificate is OK xuất hiện dưới Certificate Status.

Lưu ý: Mặc dù chứng chỉ này hết hạn, nhưng nó sẽ vẫn tiếp tục làm việc. Hệ điều hành có thể không làm việc nếu chứng chỉ bị mất hoặc bị hủy bỏ.

  • Kích OK, sau đó kích đúp Thawte Timestamping CA.
  • Trên tab General, bảo đảm rằng giá trị ngày Valid from là "12/31/1996 to 12/31/2020".
  • Trên tab Certification Path, thẩm định rằng This certificate is OK xuất hiện dưới Certificate Status.

Bước 2: Import các chứng chỉ hỏng hoặc bị mất

Nếu một hoặc nhiều chứng chỉ này bị sai hoặc mất thì bạn nên export các chứng chỉ mất hoặc bị sai này sang một máy tính khác, sau đó cài đặt các chứng chỉ trên máy tính của bạn. Để thực export các chứng chỉ trên máy tính khác, bạn thực hiện theo các bước sau:

  • Trong Internet Explorer, click Tools, sau đó click Internet Options.
  • Trên tab Content tab, click Certificates.
  • Trên tab Trusted Root Certification Authorities, kích chứng chỉ mà bạn muốn export.
  • Kích Export, sau đó theo các chỉ dẫn để export chứng chỉ như một file DER encoded Binary x.509(.CER)
  • Sau khi file chứng chỉ được export, copy nó vào máy tính mà bạn muốn import nó.
  • Trên máy tính mà bạn muốn import chứng chỉ, kích đúp chứng chỉ đó
  • Kích Install certificate, sau đó kích Next.
  • Kích Finish, sau đó kích OK.

Phương pháp 9: Xóa file tạm thời và khởi động lại cài đặt hotfix hoặc cài đặt gói dịch vụ.

Lưu ý: Bỏ qua phương pháp này nếu hệ điều hành là Windows 2000.

Để xóa file tạm thời và khởi động lại cài đặt hotfix và cài đặt gói dịch vụ, bạn thực hiện các bước sau:

  • Xóa tất cả các file tmp*.cat trong các thư mục dưới đây:
%systemroot%\system32\CatRoot\{127D0A1D-4EF2-11D1-8608-00C04FC295EE} 
%systemroot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
  • Xóa tất cả các file kb*.cat trong các thư mục dưới đây:
%systemroot%\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
%systemroot%\System32\CatRoot\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}
  • Xóa tất cả các file oem*.* trong các thư mục %systemroot%\inf
  • Tại cửa sổ lệnh, đánh lệnh sau. Nhấn ENTER sau mỗi lệnh.
net stop cryptsvc 
ren %systemroot%\System32\Catroot2
oldcatroot2
net start cryptsvc
exit
  • Khởi động lại cài đặt hotfix bị lỗi hoặc cài đặt gói dịch vụ.

Phương pháp 10: Làm trống thư mục phân phối phần mềm

  • Kích Start, chọn Run, đánh services.msc, sau đó kích OK.
  • Trong phần Services (Local), kích chuột phải vào Automatic Updates, sao đó kích Stop.
  • Tối thiểu hóa cửa sổ Services (local)
  • Chọn tất cả các nội dung của thư mục phân phối Windows, sau đó xóa chúng.

Lưu ý: Mặc định, các thư mục này được đặt trong thư mục drive:\Windows\SoftwareDistribution. Ở đây, drive là ổ đĩa nơi Windows được cài đặt.

  • Bảo đảm rằng thư mục phân phối Windows là trống, sau đó tối đa hóa cửa sổ Services (local)
  • Trong phần Services (Local), kích chuột phải vào Automatic Updates, sau đó kích Start.
  • Khởi động lại máy tính, sau đó chạy Windows Update một lần nữa.
Thứ Sáu, 06/07/2007 13:45
31 👨 36.592
0 Bình luận
Sắp xếp theo
    ❖ Sửa lỗi máy tính