我的程序包僅在實驗實例中加載。 我有以下的包類屬性:已安裝MSI僅在實驗實例中加載VSPackage
[PackageRegistration(UseManagedResourcesOnly = true)]
[InstalledProductRegistration("#110", "#112", "3.6.1365", IconResourceID = 400)]
[ProvideMenuResource("Menus.ctmenu", 1)]
[Guid(GuidList.guidVSPackage2012PkgString)]
public sealed class VSixPackage : Package
pkgdef文件內容:
[$RootKey$\InstalledProducts\VSixPackage]
@="#110"
"Package"="{011cc127-af13-4974-903a-9e6518b2b641}"
"PID"="3.6.1365"
"ProductDetails"="#112"
"LogoID"="#400"
[$RootKey$\Packages\{011cc127-af13-4974-903a-9e6518b2b641}]
@="VSixPackage"
"InprocServer32"="$WinDir$\SYSTEM32\MSCOREE.DLL"
"Class"="Vsix3_6_1365.VSixPackage"
"CodeBase"="$PackageFolder$\Vsix3_6_1365.dll"
[$RootKey$\Menus]
"{011cc127-af13-4974-903a-9e6518b2b641}"=", Menus.ctmenu, 1"
extension.vsixmanifest:
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
<Metadata>
<Identity Id="011cc127-af13-4974-903a-9e6518b2b641" Version="3.6.1365" Language="en-US" Publisher="Ltd." />
<DisplayName>Package 3.6.1365</DisplayName>
<Description>etc...</Description>
<Icon>Resources\Package.ico</Icon>
</Metadata>
<Installation InstalledByMsi="true" AllUsers="true">
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[11.0,12.0)" />
<InstallationTarget Version="[11.0,12.0)" Id="Microsoft.VisualStudio.Premium" />
<InstallationTarget Version="[11.0,12.0)" Id="Microsoft.VisualStudio.Ultimate" />
</Installation>
<Dependencies>
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" Version="4.5" />
<Dependency Id="Microsoft.VisualStudio.MPF.11.0" DisplayName="Visual Studio MPF 11.0" Version="11.0" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.VsPackage" Path="Vsix3_6_1365.pkgdef" />
</Assets>
</PackageManifest>
這些文件(包括Vsix3_6_1365.dll)安裝到
"%VSInstallDir%\Common7\Ide\Extensions\Your Company\Your Product\Version"
文件夾。 創建.vsix文件時,它會成功註冊Package,但我需要使用msi自動執行此操作。 如何註冊原始Visual Studio(不是實驗性實例)?
UPDATE1:
我有幾個包(不同版本)與
[$RootKey$\InstalledProducts\VSixPackage]
在.pkgdef文件。這是問題的原因嗎?
UPDATE2:
我嘗試了不同的名稱,而不是 「VSixPackage」(補充版一樣VSixPackage3_6_1382),但是這並沒有幫助。 這些VSPackages奇怪的事情 - 他們工作了一段時間 - 我用VSExtension:VsixPackage來安裝我的軟件包 - 它在卸載過程中不再刪除它。它無法註冊VS2013的軟件包。現在這個問題。