Khắc phục lỗi khi cập nhật AVG

05:33, 04/10/2009

Nếu máy bạn đang dùng AVG thì việc cập nhật lên phiên bản mới là điều rất cần thiết. Nhưng có khi nào bạn cập nhật mà bị lỗi không? Tác giả đã mắc phải sai lầm này và tìm cách khắc phục còn nguyên nhân theo kinh nghiệm thì thấy rằng có các file cập nhật lúc trước không cho ghi đè lên hoặc là file cập nhật đã bị lỗi từ server của AVG…

Bạn cần phải đổi tên/xóa bỏ các files cập nhật tạm thời CTF từ C:\Documents and Setting\All Users\Application Data\Avg8\Update\download… xóa bỏ tất các các file dạng *.bin trong đó nếu bạn muốn cập nhật từ đầu. Sau đó xóa luôn 2 file dạng *.Ctfavginfoavi.Ctfavginfowin.Ctf cũng trong thư mục này. Nhưng bạn chú ý rằng thư mục này nằm ở chế độ ẩn, nên bạn phải hiển thị các tập tin ẩn để xem dữ liệu trong thư mục này.

Hoặc là mở bảng điều khiển của AVG lên vào Tool/Advanced Settings, vào mục Update/Manager rồi bấm vào Delete temporary update files.

 

Nếu bạn dùng Windows Vista, bạn xóa các tập tin dạng *.Ctf từ thư mục C:\ProgramData\avg8\Update\download

Ngoài ra còn có cách khác để làm việc này là chạy 1 ứng dụng bằng VBScript, nó sẽ tự động hóa nhiệm vụ này. Trước hết bạn copy đoạn code này vào Notepad và lưu lại với tên là DelAvgCft.vbs

'Created on Thurday 24 2009

'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""

If GetOS = "Windows XP" Then

            DelCTFs

End If

 

If GetOS = "Windows Vista/7" Then

            If WScript.Arguments.length =0 Then

                        Set objShell = CreateObject("Shell.Application")

                        objShell.ShellExecute "wscript.exe", """" & _

                          WScript.ScriptFullName & """" & " uac","", "runas", 1

            Else

                        DelCTFs

            End If

End If

Sub DelCTFs

            Const CSIDL_COMMON_APPDATA = &H23

            Set objFSO = CreateObject("Scripting.FileSystemObject")

            Set objShell = CreateObject("Shell.Application")

            Set objFolder = objShell.Namespace(CSIDL_COMMON_APPDATA)

            Set objFolderItem = objFolder.Self

            strPath = objFolderItem.Path

            strFiles = strPath & "\Avg8\update\download\*.ctf"

            On Error Resume Next

            objFSO.DeleteFile(strFiles), True

            If Err.number = 0 then

                        Msgbox "Successfully deleted the .CTF files. Try updating AVG now.", , "Avg 8 Update Fix – doanngocthinh@sinhviendct.net"

            elseif Err.number = 53 then

                        Msgbox "No .CTF files were found. No changes made.", , "Avg 8 Update Fix - doanngocthinh@sinhviendct.net"

            else

                        Msgbox "Error " & Err.number & ": " & Err.Description, , "Avg 8 Update Fix - doanngocthinh@sinhviendct.net"

            end if

End Sub

Function GetOS   

    Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _

            ".\root\cimv2")

    Set colOS = objWMI.ExecQuery("Select * from Win32_OperatingSystem")

    For Each objOS in colOS

        If instr(objOS.Caption, "Vista") Or instr(objOS.Caption, "Windows 7") Then

            GetOS = "Windows Vista/7"

        elseIf instr(objOS.Caption, "Windows XP") Then

                        GetOS = "Windows XP"

        End If

            Next

End Function

Tiếp đến bạn chạy file này, các tập tin AVG *.CTF sẽ được xóa tự động ngay tức khắc.
<!--[if !supportLineBreakNewLine]-->

Sau đó cập nhật lại như bình thường. Nếu như bạn chạy file này 1 lần nữa thì nó sẽ thông báo cho bạn biết máy bạn đã không còn file này nữa

Đoàn Ngọc Thịnh