Search code examples
registryuninstallationinstallanywhere

InstallAnywhere: Uninstall application fails to execute with error No Product for ID


When attempting to execute the Uninstall application of an InstallAnywhere Application, it fails with

java.lang.IllegalArgumentException: No product for ID=<productId>
    at Flexeraanw.<init>(Unknown Source)
    at Flexeraan4.ai(Unknown Source)
    at Flexeraan4.ab(Unknown Source)
    at Flexeraan5.<init>(Unknown Source)
    at com.zerog.ia.installer.Installer.bs(Unknown Source)
    at com.zerog.ia.installer.Installer.setMetadata(Unknown Source)
    at com.zerog.ia.installer.InstallerMetaData.setInstaller(Unknown Source)
    at com.zerog.ia.installer.LifeCycleManager.a6(Unknown Source)
at com.zerog.ia.installer.LifeCycleManager.a3(Unknown Source)
at com.zerog.ia.installer.LifeCycleManager.executeApplication(Unknown Source)
    at com.zerog.ia.installer.Main.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.zerog.lax.LAX.launch(Unknown Source)
    at com.zerog.lax.LAX.main(Unknown Source)

where there is a registry entry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ProductName with the ProductID being productId in the error trace.

Routes that were tried to solve this problem:

  • Deleting similar registry entry from the past.
  • Using the latest jre to be bundled with the installer in the InstallAnywhere project.
  • cleaning Zero G Registry file at C:\ProgramFiles(x86)\Zero G Registry (see this)
  • tried this as well Any hint on this is much appreciated.

Solution

  • Delete directories

    Zero G Registry at C:\Program Files and
    Zero G Registry at C:\Program Files (x86)
    

    Reinstall your application. And then try again. The real issue here is to understand where IA is looking for registry. Directory mentioned above is the database of IA where it looks for registry. And above message is simply saying that it did not find the product id there.