I am trying to deploy a visual studio extension ( VSIX ) that we wrote for Visual Studio 2013 using a custom installer. The installer is run from a windows service that runs as the Local System account, so because of this I am unable to use the VSInstaller.exe application. (I can't use the /a option to install it in the common area because it seems to required elevated privileges for that.) So I am going the xcopy route. I am extracting my extension to this location...

VsInstallRootFolder\Common7\IDE\Extensions

which is what I've seen recommended on all the blogs. But, for some reason when I do this Visual Studio will not attempt to load the extension.

I've checked the startup log and there is no indication it tried to load my extension. I've compared the contents of my install vs the install done using VSInstall (which works) and they are identical.

One thing of interest is that if I do an install AFTER placing my extension manually, it will install the extension for VS 2012, and then it will load my extension into 2013 using the correct path.

I am thinking that the installer is doing something else other than just an xcopy. I checked the registry and found no record of my Guid.

Can anybody please help me? Is VSInstaller doing something more than just an xcopy?

Thanks!

有帮助吗?

解决方案

Visual Studio caches installed packages, so xcopy is not enough. You need to run "devenv.exe /setup" for Visual Studio to rescan packages and detect yours. Or you can look for some hacks to reset the cache like Registering an unpacked VSIX extension via MSI without using devenv /setup

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top