How to uninstall a Visual Studio 2013 extension manually?

Jan Tacci picture Jan Tacci · Aug 11, 2014 · Viewed 23.5k times · Source

I just installed an extension to my Visual Studio 2013 app. I decided I don't want that extension so I went to Tools->Extensions and Updates and scrolled down to the extension I want to install.

The problem is, the uninstall button doesn't do anything when I click it (and the Disable button is not even active).

VS Extensions and Updates Dialog

I then tried running Visual Studio as Administrator but that didn't work either.

I searched the web for suggestions and I found one page that said to use the VSIXInstaller.exe utility found in Visual Studio's install directory. To uninstall and extension you have to run it with the following command line:

VSIXInstaller /q /a /u:{VSIXIdentifier}

My question is, how do I get the identifier? Is it the same as the extension version?

Also, let's say hypothetically that using VSIXInstaller does not work. Is there a way to manually uninstall an extension?

P.S. As I am posting this Stack Overflow is telling me there might be a duplicate question. I read the other question and it's not quite the same. The solution given on that answer is to run VS as Administrator which I have already tried.

Answer

chue x picture chue x · Aug 11, 2014

My question is, how do I get the identifier? Is it the same as the extension version?

Extensions are normally packaged in a VSIX file, which are just zip archives. Inside the zip archive is a manifest file that gives the extension identifier.

Here is a view of a SQLite VSIX file, with the manifest file (extension.vsixmanifest) highlighted:

vsix archive view

If you open the manifest file, you will see something like:

<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
  <Metadata>
    <Identity Id="SQLite.WinRT" Version="3.8.5" Language="en-US" Publisher="SQLite Development Team" />
    <DisplayName>SQLite for Windows Runtime</DisplayName>
    ...

To answer your question, the identifier is the Id field in the third line above. In this case SQLite.WinRT.

On my machine, I ran the following and was able to uninstall the SQLite extension:

vsixinstaller /q /a /u:SQLite.WinRT

Also, let's say hypothetically that using VSIXInstaller does not work. Is there a way to manually uninstall an extension?

I think this is a rather broad question. I am no expert on VSIX extensions, but it seems each one can have it's own quirks. Simply deleting a directory, as suggested in this answer, may work 90% of the time; however, there may be extensions that cannot be uninstalled this way. The PHP extension falls into the latter case.

I think the question you are trying to ask is this one:

How do I uninstall the PHP Tools for Visual Studio 2013 extension?

The answer appears to be in your screen shot. If you look in the lower right corner of your screen shot, you will see this text:

You need to use the Programs and Features pane in the Windows Control Panel to remove this extension.

Sure enough if I take a look at the Programs and Features, I see this:

programs-and-features shows PHP Tools for VS 2013