How to Troubleshoot a failed Windows LiveUpdate installation
search cancel

How to Troubleshoot a failed Windows LiveUpdate installation

book

Article ID: 151584

calendar_today

Updated On:

Products

Mail Security for Microsoft Exchange Endpoint Protection

Issue/Introduction

You need to troubleshoot a failed Windows LiveUpdate installation

Symptoms
LiveUpdate failed to install


 

Resolution

Troubleshooting the Windows LiveUpdate Client Installation

The LUResult.txt file
 

    LUCheck.exe installs Windows LiveUpdate client via the LiveUpdate installer, LSetup.exe (Typical Product Integration) or LUSetup.exe (Legacy Product Integration). LUCheck.exe is designed to return a success value. In order to do this, LUCheck.exe will verify that the Windows LiveUpdate install was successful by parsing the Windows LiveUpdate install results file, LUResult.txt, and by trying to create a LiveUpdate ProductRegCOM object.

    It is possible to manually determine whether Windows LiveUpdate installed successfully or not through a machine readable text file, LuResult.txt. The text file will be created in the LiveUpdate's Program Files directory (<Drive>:\Program Files\Symantec\LiveUpdate\LuResult.txt). If the directory structure or that file does not exist after an install, your product will assume that LU install failed. (In some cases, LUResult.txt will be written to user's temp directory, when directory mentioned above could not be accessed\created.) If it does exist, this results file will have the following lines of information:

      1. The results of the installation: If LiveUpdate was installed successfully, this line will say "Installed". If the install failed, this line will say "Install Failed".
      2. The result\error code: The second line will have one of the result\error codes listed in the section above.
      3. The install results as a text string: The third line of the results file will contain a UI displayable string stating the results of the install. This string will contain the same text that LiveUpdate displays in its own error dialog.
      4. The remapped return code: This line exists primarily for point product installer, which installs LiveUpdate, because it might not understand all of LU Installer's return codes. Here, the return code of 0 indicates successful run of LU Installer and may be different from LU Installer error code on the second line.
      5. The report generator: The log will indicate who generated it, either LuInsDll.dll or LSetup.exe.
      6. The installer version: The version of LiveUpdate installer is also logged.

    LUCheck logging: If installation was started by LUCheck.exe, there will be additional logging appended to the end of LUResult.txt file.

    Note: LiveUpdate versions prior to 3.0 will only log first 3 lines. LiveUpdate versions 3.0 and 3.1 will only log first 4 lines.

    The first two lines will always contain ASCII English characters terminated by a new line character. The third line is a localized string pulled from the LiveUpdate Install string table and is always terminated by a new line characters. See example below:

      ---------- Start of Installer Results File

      Installed
      -1
      The LiveUpdate install was successfully started, but you have to reboot your machine to finish the install.

      The final return code after remapping is 0
      Install result reported from LuInsDll.dll
      Install version 3.2.0.29

      ---------- End of Installer Results File


LU(Un)Install.LiveUpdate

 

    The Windows LiveUpdate Installer will generate an install or uninstall log by default, unless logging has been disabled.

      • Install Log

          LUInstall.log prior to LU version 3.2
          LUInstall.LiveUpdate for LU versions 3.2 and above

          Before the installation has completed the location of the installation log is in COMMON_APPLICATION_DATA directory. This COMMON_APPLICATION_DATA directory is a standard shell folder. This location is used because the final destination folder is not guaranteed to exist until the installation has completed.

          NOTE:  The installation log only appears in the COMMON_APPLICATION_DATA directory while the installer is running.  To find the file in that directory do not click the OK button at the end of the LiveUpdate installation.

          Once the install is completed, the log gets moved to the COMMON_APPLICATION_DATA\Symantec\LiveUpdate\ location, where LiveUpdate's runtime log and setting files are stored.

          (For LU versions prior to 3.0, installation log was created in the Windows directory.)

      • Uninstall Log

          LUInstall.log prior to LU version 3.2
          LUUnInstall.LiveUpdate for LU versions 3.2 and above

          The Uninstallation log is located in the COMMON_APPLICATION_DATA directory and will be removed upon successful installation.





Windows LiveUpdate Installation Dependencies

 

    For Typical Product integration

    The installation process must be invoked by a user with Administrative privileges.

    The following MFC 71 files must be installed to the %WinDir%System32 folder as they will not be installed by Windows LiveUpdate client: Msvcr71.dll (7.10.6030.0), Msvcp71.dll (7.10.6030.0), Mfc71.dll (7.10.6041.0). These libraries should be installed by the point product installing LiveUpdate.

    LiveUpdate leverages ATL to register several of its components. Under the hood, the registration requires read & write & create access to the following registry keys:

      HKEY_CLASSES_ROOT ......................hive root
      HKEY_CLASSES_ROOT\AppId
      HKEY_CLASSES_ROOT\CLSID
      HKEY_CLASSES_ROOT\Interface
      HKEY_CLASSES_ROOT\TypeLib

    and their equivalent under HKEY_LOCAL_MACHINE, namely:

      HKEY_LOCAL_MACHINE \\Software
      HKEY_LOCAL_MACHINE \\Software\\Classes,
      HKEY_LOCAL_MACHINE \\Software\\Classes\\AppId
      HKEY_LOCAL_MACHINE \\Software\\Classes\\CLSID"),
      HKEY_LOCAL_MACHINE \\Software\\Classes\\Interface
      HKEY_LOCAL_MACHINE \\Software\\Classes\\TypeLib
      HKEY_LOCAL_MACHINE \\SYSTEM\\CurrentControlSet\\Services
      HKEY_LOCAL_MACHINE \\SYSTEM\\CurrentControlSet\\Services\\Eventlog\\Application

    If the installation does not have listed rights to those keys, the install will result in failure with error 10. In addition, the installation process must ensure that the Everyone group has minimal DACL (read/execute/list) to the %WinDir%Registration folder.






For Legacy Product integration

 

    The installation process must be invoked by a user with Administrative privileges.

    LiveUpdate leverages ATL to register several of its components. Under the hood, the registration requires read & write & create access to the following registry keys:

      HKEY_CLASSES_ROOT ......................hive root
      HKEY_CLASSES_ROOT\AppId
      HKEY_CLASSES_ROOT\CLSID
      HKEY_CLASSES_ROOT\Interface
      HKEY_CLASSES_ROOT\TypeLib

    and their equivalent under HKEY_LOCAL_MACHINE, namely:

      HKEY_LOCAL_MACHINE \\Software
      HKEY_LOCAL_MACHINE \\Software\\Classes,
      HKEY_LOCAL_MACHINE \\Software\\Classes\\AppId
      HKEY_LOCAL_MACHINE \\Software\\Classes\\CLSID"),
      HKEY_LOCAL_MACHINE \\Software\\Classes\\Interface
      HKEY_LOCAL_MACHINE \\Software\\Classes\\TypeLib
      HKEY_LOCAL_MACHINE \\SYSTEM\\CurrentControlSet\\Services
      HKEY_LOCAL_MACHINE \\SYSTEM\\CurrentControlSet\\Services\\Eventlog\\Application

    If the installation does not have listed rights to those keys, the install will result in failure with error 10. In addition, the installation process must ensure that the Everyone group has minimal DACL (read/execute/list) to the %WinDir%Registration folder.




 

Error Number
Error Description
-1
Reboot Required. You need to reboot your machine before the LiveUpdate install completes.
ERROR_NEED_REBOOT
0
Install/Uninstall is Successful.
If returned by LUCheck, there is now a functioning LiveUpdate client on the user's machine with a version number at least as great as the one contained in the provided LSetup.exe.
ERROR_NO_ERROR or RETURN_CODE_SUCCESS
1
User Pressed Cancel. The LiveUpdate install or uninstall was aborted when the user pressed the Cancel button.
ERROR_USER_CANCEL
2
LiveUpdate Is Already Running. If LiveUpdate is running when the installer start running, the installer will attempt to shutdown LiveUpdate. If the running version of LiveUpdate does not stop within the installer's timeout period, the installer will fail with this error.
ERROR_CANT_CLOSE_LU
3
Not Enough Disk Space. If there is not enough disk space on the user's machine to hold all of the files in the LiveUpdate install, LiveUpdate will generate this error. The check in the installer does not take into account the space consumed by a currently installed LiveUpdate.
ERROR_NO_DISKSPACE
4
Failure in the Prepare to Copy phase. This error code is not used from LiveUpdate 1.6 and beyond.
ERROR_PREPARE_COPY
5
User is not the Administrator. On Windows NT derived platforms, you must have administrative rights to install LiveUpdate.
ERROR_NOT_ADMIN
6
Unable to Parse Command line. The LiveUpdate install will generate this error message if it receives a command line but it does not understand any of the parameters.
ERROR_PARSE_CMDLINE
7
No WinInet.dll on User's Machine. If the installer can not find the WinInet.dll on the user's machine, it will abort the install with this error message.
ERROR_NO_WININET
8
Install Path Missing. The variable in the LiveUpdate installer that tracks the location of the install directory is missing. This is an internal LiveUpdate installer error since the installer generates this value automatically.
ERROR_NO_INSTALL_PATH
9
The Installer was Unable to Register LiveUpdate. This error will occur if LiveUpdate failed to register one of its components correctly for some reason. When the installer attempted to call the ProductRegCOM interface to register LiveUpdate, one of the calls to ProductRegCOM failed. LiveUpdate no longer registers itself during the install, so this error isn't generated any more.
ERROR_LU_REGISTRATION
10
COM Registration Error. The LiveUpdate installer will generate this error if it could not register one of its components correctly. It is possible, however, for the installer to fail to register some component but not generate this error.
ERROR_COM_REGISTRATION
11
Unspecified Error. This is the error bucket that all errors go into if they don't fit into one of the other error categories. Right now, this error is one generated if the installer can not get the version number of the LiveUpdate it is about to install.
ERROR_MISC_ERROR
12
New Version of LiveUpdate Already Installed. The LiveUpdate installer will generate this message if there is a newer version of LiveUpdate already installed on the user's machine. This is not an error condition.
ERROR_ALREADY_NEWER_VERSION
13
Same Version of LiveUpdate is Already Installed. The LiveUpdate installer will generate this message if the version of LiveUpdate installed on the user's machine is the same version as the version the installer is trying to install. This is not an error condition.
ERROR_ALREADY_SAME_VERSION
14
Long Pathnames are Disabled. LiveUpdate requires Long Path Names to be enabled on the user's machine before LiveUpdate will install. If the user has disabled Long Path Names, the LiveUpdate installer will fail with this error.
ERROR_LONG_PATHS_DISABLED
15
Windows 95. The user attempted to install LiveUpdate on a Windows 95 machine, which is no longer supported.
ERROR_WINDOWS_PRE2K_MACHINE
16
Products Still Registered. LiveUpdate will check for Symantec products still registered with it before attempting to uninstall. Uninstall only error code.
ERROR_LU_STILL_USED
17
Install Prevent Setting. The LiveUpdate install failed to execute because the install prevent settings is set.
ERROR_INSTALL_PREVENT
18
Uninstall Prevent Setting. The LiveUpdate uninstall failed to execute because the uninstall prevent settings is set. Uninstall only error code.
ERROR_UNINSTALL_PREVENT
19
Installer Already Running. The LiveUpdate install failed because another instance of the LiveUpdate install is already running.
ERROR_INSTALLER_ALREADY_RUNNING
20
Unable to Convert Legacy Product Inventory. This error indicates that the LiveUpdate install was unable to convert the legacy LiveUpdate 2.0 Product Catalog into the newer Product Inventory. If this error is returned, it is possible that the user's registered product information has been corrupted or destroyed.
ERROR_OBFUSCATION_FAILED
21
Can Not Upgrade Pre 1.6 Client. The latest LiveUpdate client cannot upgrade a LiveUpdate client earlier than version 1.6. If an older LiveUpdate client is already installed on the user's machine, the LiveUpdate install will exit with this error.
ERROR_UNSUPPORTED_OLD_LU
22
Missing Libraries. The LiveUpdate install failed because it is missing some of the DLLs it or the LiveUpdate client needs to execute.
ERROR_MISSING_REQUIRED_DLLS
23
No Longer Used. This exit code was used temporarily with LiveUpdate 3.0, but has since been dropped.
ERROR_SHUTDOWN_SYMANTEC_APPS
24
Unable to Shutdown Automatic LiveUpdate Scheduler Service. Installation can't continue.
ERROR_SHUTDOWN_ALU
25
Unable to reset the Registry Key DACL (commonly known as access rights). If LiveUpdate fails to create any of LU keys during upgrade for admin group and local system account, the installer sets this return code. Installation can't continue.
ERROR_RESET_REGKEYDACL
26
LuCOMServer still running. Installation can't continue.
ERROR_LU_COM_STILL_RUNNING
27
The installer couldn't get write access to one of our folders, even by changing the access control list in the key such that we are explicitly given access.
ERROR_LACK_FILE_ACCESS
28
The installer couldn't obtain OS Version information.
ERROR_UNABLE_TO_GET_OSVERINFO
29
The installer couldn't find the LSetup.exe Resource Dll.
ERROR_UNABLE_TO_FIND_LSETUP_RESDLL
30
The installer is unable to launch LSetup.exe.
ERROR_UNABLE_TO_LAUNCH_LSETUP
31
The installer is unable to load LuInsDll.dll.
ERROR_UNABLE_TO_LOAD_LUINSDLL
32
The installer is unable to find LuInsDll.dll.
ERROR_UNABLE_TO_FIND_LUINSDLL
33
The installer is unable to use LuInsDll.dll.
ERROR_UNABLE_TO_USE_LUINSDLL
34
Unexpected failure in LSetup.exe has occurred.
ERROR_UNEXPECTED_FAILURE_IN_LSETUP
35
The installer couldn't initialize COM.
ERROR_UNABLE_TO_INITIALIZE_COM
36
Unexpected failure in LuInDll has occurred.
ERROR_UNEXPECTED_FAILURE_IN_LUINSDLL
37
The installer is unable to create a temporary install location.
ERROR_UNABLE_TO_CREATE_TEMP_INSTALL_LOCATION
38
The installer is unable to copy expanded filename.
ERROR_UNABLE_TO_COPY_EXPANDED_FILENAME
39
The installer is unable to copy LTF files to temporary location.
ERROR_UNABLE_TO_COPY_LFN_FILES_TO_TEMP_LOCATION
40
The installer is unable to open LuNames.txt.
ERROR_UNABLE_TO_OPEN_LUNAMES
41
The installer is unable to get System directory.
ERROR_UNABLE_TO_GET_SYSTEM_DIRECTORY
42
The installer is unable to get CommonApplicationData path.
ERROR_UNABLE_TO_GET_COMMON_APPDATA_PATH
43
Insufficient registry key access. This was formerly classified as a COM registration error (10).
ERROR_INSUFFICIENT_REGKEY_ACCESS
44
Unable to load install file list. LUINFO.INF is missing during an uninstall.
ERROR_UNABLE_TO_LOAD_INSTALL_FILE_LIST
45
Install file missing. A file listed in LUINFO.INF could not be found.
ERROR_INSTALL_FILE_MISSING
46
Failed waiting for LSetup.exe to complete. This occurs only in uncompressed layout installs, when LSetup2.exe is launched for long filenames.
ERROR_FAILED_WAITING_FOR_LSETUP_TO_COMPLETE
100
LUCheck could not launch the LiveUpdate installer. This is most likely happened because LUCheck was not given the correct path to the installer.
RETURN_CODE_LAUNCH_ERROR
201
LuCheck will return this exit code if it cannot find the LuResult.txt file in the LiveUpdate install folder.
RETURN_CODE_LU_RESULTS_FILE_MISSING
202
LuCheck will return this exit code if it cannot open the LuResult.txt file.
RETURN_CODE_LU_RESULTS_FILE_MISSING_NUL
203
LuCheck will return this exit code if the LuResult.txt file indicates the LiveUpdate install failed.
RETURN_CODE_LU_RESULTS_FILE_FAILURE
204
LuCheck will return this exit code if the LuResult.txt file indicates the LiveUpdate install was successful but LuCheck could not create a ProductRegCOM pointer.
RETURN_CODE_FAILED_TO_CREATE_PRC_OBJ
205
LuCheck will return this exit code if the LuResult.txt file indicates the LiveUpdate install was successful but encountered a COM error while attempting to create a ProductRegCOM pointer. The COM error code will be logged in the LU Integration Log.
RETURN_CODE_FAILED_TO_CREATE_PRC_OBJ_COM
206
LuCheck will return this exit code if the LuResult.txt file indicates the LiveUpdate install was successful but encountered an unhandled exception while attempting to create a ProductRegCOM pointer.
RETURN_CODE_FAILED_TO_CREATE_PRC_OBJ_EXC
207
LuCheck will return this exit code if the LuResult.txt file indicates the LiveUpdate install was successful but provides an unexpected installation return code. Installation return codes in the range of -5 to 99 are expected. The unexpected exit code will be logged in the LU Integration Log (even if a failure was indicated by the results file).
RETURN_CODE_UNEXPECTED_CODE_FROM_INSTALL
208
Unexpected failure in LuCheck (unknown exception type).
RETURN_CODE_UNEXPECTED_LUCHECK_FAILURE
209
Exception in LuCheck (numerical exception type).
RETURN_CODE_LUCHECK_INT_EXCEPTION
210
Failed to create connection to LiveUpdate (numerical exception type).
RETURN_CODE_FAILED_TO_CREATE_PRC_OBJ_INT_EXC