指定VS扩展安装目录名称

时间:2013-10-31 11:16:08

标签: visual-studio visual-studio-2012 visual-studio-extensions

在VS 2012中安装扩展程序后,它会被放置在%userprofile%AppData\Local\Microsoft\VisualStudio\11.0\Extensions\(或C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions中,如果它是为所有用户安装的)和随机名称的文件夹,如" hilatg23.234&#34 ;或" kcsuvnvi.qtq"。有没有办法指定此文件夹的名称,并使此扩展名安装到%userprofile%AppData\Local\Microsoft\VisualStudio\11.0\Extensions\MY_EXTENSION_NAME

等文件夹

2 个答案:

答案 0 :(得分:2)

嗯,不要这么认为。 VSIX安装程序将始终自动选择安装目录。如果您想让用户决定安装文件夹,您需要创建一个MSI安装包。

前段时间我回答了另一个关于包裹登记的问题;也许一些提供的信息可能有助于创建这样的设置。见帖子:MSI installed VSPackage is loaded in Experimental Instance only

如果您只想在运行时获取软件包安装文件夹,可以从软件包的程序集代码库中获取它,例如:

private static string ObtainInstallationFolder()
{
    Type packageType = typeof(MyPackage);
    Uri uri = new Uri(packageType.Assembly.CodeBase);
    var assemblyFileInfo = new FileInfo(uri.LocalPath);
    return assemblyFileInfo.Directory.FullName;
}    

答案 1 :(得分:0)

我的解决方案:

我使用此api获取vsix安装物理路径:

string path = System.Reflection.Assembly.GetExecutingAssembly().Location;

path = \AppData\Local\Microsoft\VisualStudio\...\Extensions\[install path]\xx.dll