.net – How to completely uninstall a ClickOnce application from the computer

clickonceinstallationnet

While experimenting with trying to publish both a Foo and Foo Beta version of my application via ClickOnce I managed to clobber the existing and previously-working-fine Foo 1.0.0 install (replacing it with Foo Beta 1.0.5, which does not work) due to using the same GUID, assembly name, product name or something.

OK, honest mistake. In an attempt to revert this I then uninstalled Foo Beta using the Windows 7 add/remove programs.

My computer is now in a state where no instance of Foo shows up in Windows 7 Add/Remove programs. However, Foo Beta is still shown as installed. In addition, I am unable to re-install Foo 1.0.0, because it thinks that a newer version of the program (Foo Beta 1.0.5) already exists on my computer – instead I get the `Unable to install because a newer version of this product is already installed' message.

How can I get my computer to a state where neither Foo nor Foo Beta have ever been installed on it, so that I can then go and re-install Foo?

So far I have read Stack Overflow questions Uninstall ClickOnce clients and How can I remove all traces of a ClickOnce application from a customer's computer? and tried:

  1. Deleting all the relevant foo.exe directories under %USERPROFILE%/
  2. Running mage.exe -cc
  3. Editing the HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall and removing the entry for my Foo program.

When I run the installer, I still get the error. Where is it finding traces of my program from? And for future reference, where is this documented?

Best Answer

You can try using this command to clear the ClickOnce cache:

rundll32 dfshim CleanOnlineAppCache