iQSonar Upgrade Failure

Certain things can cause an iQSonar upgrade process to fail. 

The following troubleshooting processes might help

Upgrade fails with no error message

When the installer fails with no helpful error message, we can use a built in MS Windows tool called "msiexec" to turn on additional logging.

MSI Exec Syntax
msiexec /i MSI-FILE /l LOG-FILE


where MSI-FILE is the path to the iQSonar installer MSI and LOG-FILE is the path where we want to save the log file.
For example to install Hilary R1 from the local folder and save a log file in c:\temp we would use the command

Command to install Hilary R1
msiexec /i .\iQSonar-4.8.1.432.msi /l c:\temp\install.log

The log file will contain more details about why the install failed.

Failure to decrypt existing configuration file

This may occur in a multiple scan engine environment if a config file for one server has been accidentally copied to another server. The database connection string is encrypted using a key derived from the local Windows system and cannot be moved between systems. In this case the install.log will contain an error like the following: (note that additional line breaks have been added for readability) A user will normally not encounter this on a scan engine in active use, as the scan engine will be unable to communicate with the SQL Server Database in this configuration. It may however happen on a UI Only server, or following a backup/restore  or server clone scenario.

Looking for existing properties in C:\Program Files\iQuate\iQSonar ScanEngine 4.0\bin\iQuate.iQSonar.ScanEngine.exe.config
Exception thrown by custom action:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
    ---> System.Configuration.ConfigurationErrorsException: 
    Failed to decrypt using provider 'DataProtectionConfigurationProvider'. 
    Error message from the provider: Key not valid for use in specified state. (Exception from HRESULT: 0x8009000B) 
    (C:\Program Files\iQuate\iQSonar ScanEngine 4.0\bin\iQuate.iQSonar.ScanEngine.exe.config line 27) 
    ---> System.Runtime.InteropServices.COMException: Key not valid for use in specified state. (Exception from HRESULT: 0x8009000B)

Should you encounter this error, you need to remove the iQSonar configuration file and re-install (not upgrade). THEN before starting the scan-engine service, determine the correct uuid for the server you are attempting to update, and edit the newly created configuration file to contain this information.

The Insallation ID needs to go just before the line "</appSettings>" in the configuration file like so:

Once this is done, you can start the scan engine service using Services.msc or in an admin PowerShell use the command net start "iqsonar scanengine"