PROBLEM: Winamp will display something like the example below in a system's asset history (it might be in a different order):

Software item Winamp 5.63 removed from inventory.    
Found software item Winamp 5.63 in inventory.    
Software item Winamp 5.63 removed from inventory.    
Found software item Winamp 5.63 in inventory.

 

The problem with Winamp Asset History appears to be an issue with the KACE agent detecting the display version in a registry key where there is a trailing space. In this case the display version shows "DisplayVersion"="5.63 ", where it should be "DisplayVersion"="5.63".

There is a way to fix it by removing the trailing space with the script below, but you will have to repeat this for each different version of Winamp as it will require different registry keys. It might be beneficial to update Winamp first and then fix the asset history issue.

Create a software smart label for each version of Winamp if you have multiple versions so that the specific versions are targeted.  It would be something like this for Winamp 5.63:

Display Name (Title) contains winamp
AND Version Number contains 5.63

You will now create a script to make the registry change.

NOTE: This was tested to work with the 32 bit download of Winamp 5.61 and 5.63. There should be no issue applying this fix for earlier versions. It was tested to work on Win7x64 SP1 and XPSP3 32bit with the 5.3.53177 agent.  The steps should be the same for any 5.3 agent.

  1. For this fix, export the key at (choose 32 or 64 bit based on your target operating system):

    • 64bit: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Winamp
    • 32bit: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Winamp

  2. Open the exported .reg key in Notepad and modify the following (adjust DisplayVersion to match the version you have installed if not 5.63):

    "DisplayVersion"="5.63 " to read (removing the space after the 3) "DisplayVersion"="5.63"

  3. Save the .reg file. (winamp.reg in my example)
  4. Navigate to Scripts>Choose Action>Add New Item>
  5. Choose Online KScript. Name and describe as necessary.
  6. Under Deployment, add the smart label for the version of Winamp you are working with if you created one.
  7. Under Supported Operating Systems, select Microsoft Windows or your specific operating system version.
  8. Run As can stay as Local System.
  9. Configure Alerts as needed.

    NOTE: the method here will open a DOS prompt box for a second or two.  See below for a method suggested by tshupp that does not cause it to open.

  10. Add your .reg file as a dependency. (I used the winamp.reg file example below for 5.63. Save in notepad and change the .txt extension to .reg)
  11. Under On Success, select "Run a batch file".
  12. Put in the script name. (I used winamp.reg)
  13. Under Batch file, put in the following, substituting "xxx" for the script number (see below for instructions on how to find it):

    • Win7/Vista: reg import "C:\ProgramData\Dell\KACE\kbots_cache\packages\xxx\winamp.reg"
    • XP: reg import "C:\Documents and Settings\All Users\Dell\KACE\kbots_cache\packages\kbots\xxx\winamp.reg"

  14. To find the script number, save the script, clicking Save Changes and then Save at the bottom of the page. You will have to give the script at least one task in order to save the page.  I copied the batch file command above and saved, changing the xxx to the script number later.
  15. Under the scripts tab, mouse over the script you just created. It will show at the bottom of the page (usually on the left) in the following format (see screenshot below): http://{yourkboxname}/adminui/kbot.php?ID=xxx



  16. Once you have the script number, replace "xxx" with that number in the batch file.  It should look like this:



  17. Check the "Wait for startup" box.
  18. Click Save Changes.
  19. Click Save at the bottom of the page.
  20. Either click back into the script and click Run Now, or check the box next to your script, Choose Action, Run Now.


PLEASE NOTE: This will run at the next check in.  A black DOS box may pop up for a second or two when this script runs on a system.

Also, due to the issue with the trailing spaces in the agent detection, I haven't found a way to have the script use verify to skip systems that have already had the fix, so it will continue to run while the script is active. It should repair all systems with the version used in the script in a few days, so you should just be able to disable the script.

If you do not want the script to continue to run, you could have the batch file import a dummy registry key like "fixed" and use a verify step that looks for that dummy key to verify the fix has occurred. If this is the case and you add the verify step, you would need to switch #11 above to Remediation instead of On Success.

Method as suggested by tshupp: