Q270912: SMS: "#$#$#$#$#$ ERROR" Appears in Clisvc.log File

Article: Q270912
Product(s): Microsoft Systems Management Server
Version(s): 2.0,2.0 SP1,2.0 SP2
Operating System(s): 
Keyword(s): kbsms200
Last Modified: 11-JUN-2002

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Systems Management Server versions 2.0, 2.0 SP1, 2.0 SP2 
-------------------------------------------------------------------------------

IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

  Q256986 Description of the Microsoft Windows Registry

SUMMARY
=======

This article covers some of the most common reasons why the error "#$#$#$#$#$
Error" appears in the Clisvc.log file on a Systems Management Server (SMS)
client.

This error is an indication of a file Cyclic Redundancy Check (CRC) mismatch
between the client and the site server. The mismatch could appear in the
registry or the file structure between the two. This article will help you
identify where the problem originates.

MORE INFORMATION
================

In the Clisvc.log file on a client, the following error is reported:

  Verifying application [C:\WINNT\MS\SMS\clicomp\SWDist32\bin\ODPUSR32.exe]~
  $$<C:\WINNT\MS\SMS\CORE\BIN\CLISVCL.EXE><Thu Jul 27 20:40:04.509
  <BR/>
  2000><thread=208 (0xD0)><BR/> <BR/>

  #$#$#$#$#$ ERROR: The Client Service is not authorised to run this
  application! (5)~ $$<C:\WINNT\MS\SMS\CORE\BIN\CLISVCL.EXE><Thu Jul
  27
  20:40:04.529 2000><thread=208 (0xD0)>

  *** WNet User Groups Offer Data Provider - Error launching (#0x5)
  $$<C:\WINNT\MS\SMS\CORE\BIN\CLISVCL.EXE><Thu Jul 27 20:40:04.529
  2000><thread=208 (0xD0)>

  !!!WARNING: Problem starting App (5). Doing App Verify.
  $$<C:\WINNT\MS\SMS\CORE\BIN\CLISVCL.EXE><Thu Jul 27 20:40:04.529
  2000><thread=208 (0xD0)>

Creating, Storing, and Using CRC Information
--------------------------------------------

When the SMS_Executive service is started, the Client Install Data Manager (CIDM)
calculates the CRCs for particular files in the SMS\bin\<platform> folder.
These files include but are not limited to the following:

- Ccim32.dll
- Chksnmp.exe
- Cqmgr32.dll
- Hinv32.exe
- Odpsys32.exe
- Odpusr32.exe
- Rcclicfg.exe
- Sinv32.exe
- Smsapm32.exe

The raw CRC values for each of these files are stored in memory and are not
recorded anywhere on the hard disk drive for security reasons.

CIDM then encrypts these values and writes them to the Clibase.cfg and
Cli_inst.cfg files on the site server under the SMS\Inboxes\clidata.src folder.
These files are also replicated out to the Client Access Points (CAPs) and Logon
Points within the site.

During the client installation process, these CRC values are written to the
registry of the client under the following registry keys:

  HKEY_LOCAL_MACHINE\Software\Microsoft\SMS\Client\Configuration\Verification
  Data\<EXE or DLL Name>

  HKEY_LOCAL_MACHINE\Software\Microsoft\SMS\Client\Sites\Shared\<site
  code>\configuration\client properties\reserved1\<EXE or DLL Name>

When the CLISVC begins to launch the individual components after a client
installation or upgrade, it decrypts the stored values from the registry and
then compares them against the CRC of the file that it is attempting to launch.

CLISVC checks for a match under the Verification Data key and if this fails, it
then attempts to find a match under the Reserved1 registry key mentioned above.
If these values do not match, then the error above is reported in the Clisvc.log
file for the corresponding component. If a match is found in the Reserved1 key,
the correct value is then written to the Verification Data key.

Troubleshooting
---------------

WARNING: If you use Registry Editor incorrectly, you may cause serious problems
that may require you to reinstall your operating system. Microsoft cannot
guarantee that you can solve problems that result from using Registry Editor
incorrectly. Use Registry Editor at your own risk.

In the following example of troubleshooting, a client is generating the Client
Service not authorized error for Odpusr32.exe. To troubleshoot this issue,
follow these steps:

1. Perform a file comparison of the files installed versus the source files. If
  there are differences in the file's date and time stamp or byte count, this
  could be the problem.

2. Check the client and verify the value under the following key:

  HKEY_LOCAL_MACHINE\Software\Microsoft\SMS\Client\Configuration\Verification
  Data

  If it exists, check the client and verify whether this value and the following
  key contain information about the component that is generating the errors in
  the Clisvc.log file:

  HKEY_LOCAL_MACHINE\Software\Microsoft\SMS\Client\Sites\Shared\<site
  code>\configuration\client properties\reserved1

  If these keys match, then there is likely a CRC generation problem in which
  the following steps will help to correct. If the keys do not match, run the
  Systems Management Server 2.0 Client Cleaner utility (20CLICLN.BAT) on the
  client and allow it to reinstall. This may correct the issue.

3. Review the following article and follow its steps:

  Q246331 CRC Checking and Installation of Client-Side Hotfixes

  If the procedure in this article does not correct the problem, proceed to the
  next step.

4. Determine the bundled executable file that contains the client's copy of the
  file.

  In our example, Swdist32.exe contains the version of Odpusr32.exe that the
  clients will be installing. This is accomplished by extracting the files from
  the bundle and performing a file comparison between the extracted
  Odpusr32.exe and the Odpusr32.exe located in the Bin\I386 directory.

  To extract the files from the bundled executable file, follow these steps:
  a. Run the following command:

  SWDIST32.EXE /X

  b. Select the file or files to extract and click OK.

  c. When prompted, specify the directory to which each will be saved.

  To perform the file comparison from a command prompt, type the following:

  FC /b <EXE path #1> <Exe path #2>

  and then press ENTER.

5. Check the CAPs in the site to confirm that the bundles match what is on the
  site server.

  Because we are testing with Swdist32.exe, we find this file under the
  CAP_<site code>\clicomp.box\SWDist\<platform> folder.

6. Perform a binary file comparison as mentioned in step 4, referencing the
  paths to the Swdist32.exe on the site server under
  SMS\inboxes\clicomp.src\SWDist\<platform> folder against the
  Swdist32.exe located under CAP_<site
  code>\clicomp.box\SWDist\<platform> folder.

7. Because we know at this point the Odpusr32.exe file on the site server
  matches the Odpusr32.exe contained in the Swdist32.exe bundle, now compare
  the Odpusr32.exe file found on the client to that of the site server under
  the Bin\<platform> folder.

  The files should be located under %systemdir%\MS\SMS\Clicomp\<client
  component>\<platform> on each client.

  NOTE: If after all of the checking from the previous steps, the problem
  persists yet everything checks out, it is likely that CRC values being
  referenced in this problem are incorrect and need to be regenerated. Continue
  through steps 8 and 9 for information on correcting this.

8. Check the site properties on the Cli_inst.cfg file on the site server under
  SMS\Inboxes\clidata.src for the create and modified dates.

  The create date should be the day the site was originally installed and the
  modified date should be on or after the date the most recent service pack or
  hot fix was applied to the site.

  If, after checking, these dates do not match up or they appear to be
  incorrect, please note the date and time stamps.

9. To regenerate the files and allow the CIDM service to rewrite the CRC values
  for these files, begin by stopping all Systems Management Server Services on
  the site server, including the SMS_Executive, SMS_Site_Component_Manager, and
  SMS_SQL_Monitor services.

10. Rename the Cli_inst.cfg and Clibase.cfg files on the site server under the
  SMS\Inboxes\clidata.src folder.

11. Restart all of the services on the Systems Management Server site server.

12. Because these files will not be re-created on their own, a change to a
  referenced system component will need to be made. A small check like adding
  a new Client Connection Account will cause these files to be regenerated.

13. Monitor the site's CAPs and SMSLOGON shares to see when the Cli_inst.cfg and
  Clibase.cfg files get updated.

14. Once these files are updated, restart and monitor a client to verify that it
  is able to start the failing component.

NOTE: If at any point during the preceding steps, you do not get a successful
test, this is likely where the problem originates.

REFERENCES
==========

For additional information, click the article number below to view the article
in the Microsoft Knowledge Base:

  Q246331 SMS: CRC Checking and Installation of Client-Side Hotfixes

Additional query words: prodsms authorized

======================================================================
Keywords          : kbsms200 
Technology        : kbSMSSearch kbSMS200 kbSMS200SP1 kbSMS200SP2
Version           : :2.0,2.0 SP1,2.0 SP2
Issue type        : kbinfo

=============================================================================