[UPDATE 12/02/2016: Today I received a message from David Foxen at Snow who informs me that the issue below has now been fixed. The revised version should be available to you (not sure about licensing etc) but the updated release notes are available here – https://www.snowsoftware.com/int/download. David also kindly directed me towards the Snow Software End User Community group on LinkedIn which could be useful to you. Thanks David!]
Original write up —
I have been working with a customer recently who is trialling Snow Inventory v3.7.02 and wanted me to add the client into Configuration Manager for them to be able to deploy. There were 2 MSI files provided, one for x86 and one for x64 so I added them into an Application (note the MSI has been renamed from default) which as you will know is quite a simple task. Configuration Manager works out the install and uninstall commands and 99 times out of 100 that probably is fine.
FYI I have only tested this in version 3.7.02
The installer works very well as expected however upon trying to uninstall with Configuration Manager the task fails with an MSI return code 1638.
ERROR_PRODUCT_VERSION 1638 Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.
You can see the uninstall commands listed in the HKLM\SOFTWARE\Microsoft\Windows\CurrentVersionUninstall keys and the uninstall matches the one detected in Configuration Manager.
If you run that manually you get the same outcome.
I found you can also do a C:\Program Files\INVENTORYCLIENT\client.exe –uninstall but this simply uninstalls the service and leaves all the files and registry keys in tact.
I contacted Snow about this and to their credit they provided a prompt response overnight as follows:
There is a defect we have logged with Microsoft that corresponds to the install/uninstall of a client. Sometimes on install the install works, but it does not leave a trace in the add/remove program section. Since this is the case sometime the unstall command will not work as it will not trigger this off. We have a script we run on machines found here, http://files.snowsoftware.com/Snow/RemoveClient.zip. This script can be run to remove the client.
So as you can see, I don’t think someone did their testing or their packaging or both correctly. The zip they mention can be downloaded from the link in the email and essentially provides a VB Script which goes through and removes the files, registry keys and service from the machine. I ran this and it does indeed work.
I have only tested this in version 3.7.02 so am not sure about applicability to previous versions however hopefully this one will be fixed in a future version.