Мой пакет загружен только в Experimental Instance. я следующий класс пакет атрибутов: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, он успешно регистрирует пакет, но мне нужно сделать это автоматически с помощью msi. Как его можно зарегистрировать для оригинальной Visual Studio (а не экспериментальной копии)?
Update1:
У меня есть несколько пакетов (различные версии) с
[$RootKey$\InstalledProducts\VSixPackage]
в .pkgdef файле. Может ли это быть причиной проблемы?
Update2:
Я пробовал разные имена вместо "VSixPackage" (добавлена версия как VSixPackage3_6_1382), но это не помогло. Странно, что эти VSPackages - они работали некоторое время - я использовал VSExtension: VsixPackage для установки моего пакета - он прекратил удалять его во время удаления. И он не смог зарегистрировать пакет для VS2013. Теперь эта проблема.