Skip to content

Norton Antivirus 2005

Norton AntiVirusIf you’ve been trying to update using LiveUpdate, you may have received the dreaded LU1812 errors when attempting to download Norton Antivirus and Symantec Common Client upgrades. I say dreaded as Symantec’s bogus solution to this problem is to uninstall and reinstall the software. This takes too long for my tastes (although I tried it three times unsucessfully.) And since the automatons in Symantec support were consitutionally incapable of offering any real assistance, I decided to fix it myself.

My first attempts were to decompose the update packages that LiveUpdate downloads. They are in RAR format. Each one contains a batch file with the extension .DIS. If you look inside one, you see that most of the update packages do something like the following:

  1. Check the version of the software running on the machine using Chckver.exe using a file called Chckver.ini or some variation of it.
  2. Run spa.exe against the patch file, usually patch.spa, which presumably patches the software
  3. Run chngever.exe against a file called chngever.inito update the software versions in the registry and some super-secret Symantec registry.
  4. Run LUProdRg.exe against a file called sr.ini that I suspect updates the LiveUpdate product registry.

Since this looked simple enough, I tried extracting the update package to a temporary directory and running each command line manually. It seemed to work, as checking the Common Client dlls and exes showed that the version numbers had changed. Unfortunately, LiveUpdate didn’t seem to recognize that the update had already run and continues to unsucessfully run the the same update.

So, the manual solution doesn’t seem to to work too well for my purposes. Then I remembered reading something about uninstalling the software, turning on dos-style 8.3 names, and reinstalling. The problem with this is that it doesn’t really work, as if any path needed by LiveUpdate is pre-existing, it won’t be assigned an 8.3 name in the process of reinstalling. For example, if “Documents and Settings” doesn’t already have an 8.3 name, the turning on 8.3 names in the registry isn’t going to set an 8.3 name for you – the setting only applies to new files and directories, all the existing stuff is unchanged

However XP has a way to set an 8.3 name to a file or directory after the fact. To do it, you use a program called ‘fsutil.exe’ It should already be installed on your system. Running it opens a variety of disk and file operations. The utility is very easy to use as it always explains itself. Running fsutil alone gets you the following:
behavior          Control file system behavior
dirty             Manage volume dirty bit
file              File specific commands
fsinfo            File system information
hardlink          Hardlink management
objectid          Object ID management
quota             Quota management
reparsepoint      Reparse point management
sparse            Sparse file control
usn               USN management
volume            Volume management
 

Running ‘fsutil file:’

findbysid             Find a file by security identifier
queryallocranges      Query the allocated ranges for a file
setshortname          Set the short name for a file
setvaliddata          Set the valid data length for a file
setzerodata           Set the zero data for a file
createnew             Creates a new file of a specified size

Notice the option in italics, ‘setshortname.’ This option allows you to set an 8.3 short name to an existing file or directory. The complete command is ‘fsutil file setshortname [LongFileName] [ShortFileName]

The issue with LiveUpdate is that it doesn’t deal with long file names. So, if you set every directory it might need with an 8.3 file name, it will be able to construct a working path to the update package and will update sucessfully. This means that every directory in the path “c:\Document and Settings\All Users\Application Data\Symantec\Live Update” will need an 8.3 name. So, the fix is to run the fsutil command described above on each directory in the path. You will also need to do this for all the Norton stuff in you ‘Program Files’ directories. For each directory, do a listing using ‘dir /x’ to show you whether 8.3 names are already set, if they aren’t, use the fsutil utility to set a name.
Once you do this, LiveUpdate will run sucessfully.

Post a Comment

Your email is never published nor shared.