Thursday 10 April 2014

There was a problem starting C:\Program

 

I've had this a few times recently when trying to uninstall something from Control Pannels -> Uninstall or change a program.

The uninstall is trying to run something in program files and is choking on the space in the path. So the problem is coming from a path somewhere which doesn't have quotes around it. Bunch of rookies.

How to find what the uninstall is actually running? It's in the registry. Depending on whether it is x86 or x64 it'll be in one of these locations:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

In each of those locations there will be a heap of folder. Go through them till you find the one for your application - you can check the DisplayName value for this.

When you find the application you are trying to uninstall locate the 'UninstallString' value

This will look something like:

RunDll32 C:\Program Files (x86)\Common Files\InstallShield\Professional\RunTime\11\50\Intel32\Ctor.dll,LaunchSetup "C:\Program Files (x86)\InstallShield Installation Information\{0363D88C-A222-4715-AE00-76AC8DB8C377}\setup.exe" -l0x9  -removeonly

It needs to have quotes around path directly after RunDll32.  Like this:

RunDll32 "C:\Program Files (x86)\Common Files\InstallShield\Professional\RunTime\11\50\Intel32\Ctor.dll",LaunchSetup "C:\Program Files (x86)\InstallShield Installation Information\{0363D88C-A222-4715-AE00-76AC8DB8C377}\setup.exe" -l0x9  -removeonly

You can either update the registry setting and run the uninstaller from the control panel window again or just take the updated string and run it from a cmd window.