1

在VS 2012中安裝擴展之後,它將被放置在%userprofile%AppData\Local\Microsoft\VisualStudio\11.0\Extensions\(或如果爲所有用戶安裝了C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions),並且在隨機名稱如「hilatg23.234」或「kcsuvnvi.qtq」的文件夾中。有沒有一種方法來指定此文件夾的名稱,並將此擴展名安裝到文件夾如%userprofile%AppData\Local\Microsoft\VisualStudio\11.0\Extensions\MY_EXTENSION_NAME指定VS擴展安裝目錄名稱

回答

2

嗯,不這麼認爲。 VSIX安裝程序將始終自動選擇安裝目錄。如果您想讓用戶決定安裝文件夾,則需要創建一個MSI安裝包。

前一段我回答了關於包裹註冊的另一個問題;也許一些提供的信息可能有助於創建這樣的設置。看帖子在:MSI installed VSPackage is loaded in Experimental Instance only

如果你只是想獲得在運行時,包安裝文件夾,你可以從package's組件的代碼庫得到它,如:

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; 
}