Как я могу автоматически включить расширение VSIX при установке? - PullRequest
2 голосов
/ 22 июня 2011

Я создал пакет VSIX, который я устанавливаю через MSI, сгенерированный WIX.

Однако, когда я его устанавливаю и смотрю на него в VS2010, в Инструменты> Менеджер расширений меню, это [Отключено] и мне нужно включить его вручную.

Как мне избежать этого?

** РЕДАКТИРОВАТЬ **
Вотчто я сделал:
Я попытался добавить захват VSInstallDir из реестра следующим образом:

    <Property Id="VSINSTALLER">
  <RegistrySearch Id="VSInstallRegistry" Root="HKLM" Key="SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0" Name="InstallDir"  Type="directory" />

Я добавил структуру каталогов в target-dir следующим образом:

    <Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="VSINSTALLER">
    <Directory Id="Extensions" Name="Extensions">
      <Directory Id="Copy_CompanyFolder" Name="my company">
        <Directory Id="INSTALLVSIX" Name="app name">
        </Directory>
      </Directory>
    </Directory>
  </Directory>

И я добавил элемент CopyFile к компоненту в папке установки, например:

            <Component Id="VsPackage" Guid="00000000-0000-some-guid-00000000">
          <File Id="VsPackageInstaller" Source="$(folder.prop)\extensionName.vsix"
                KeyPath="yes" DiskId="1">
            <CopyFile Id="Copy_InstallVsix"
                      DestinationDirectory="INSTALLVSIX" />
          </File>
        </Component>

И я добавил элемент true в манифест.

Когда я делаю это, расширение не установлено.

Есть идеи, почему?

Ответы [ 2 ]

4 голосов
/ 25 июня 2011

Если вы установите файлы расширений в каталог, который вы создаете в папке% VSInstallDir% \ Common7 \ IDE \ Extensions, он будет включен автоматически для всех пользователей. Это рекомендация для расширений, установленных MSI.

Также, пожалуйста, обязательно добавьте <InstalledByMsi>true</InstalledByMsi> в ваш vsixmanifest.

Нет необходимости запускать VSIXInstaller.exe или записывать ключи реестра, чтобы включить ваше расширение (на самом деле, вы действительно не должны этого делать).

2 голосов
/ 22 июня 2011

Используйте инструмент VSIXInstaller.exe из VS2010 \ Common7 \ IDE.

Также вы можете вручную включить расширение, добавив значение реестра в HKCU \ Software \ Microsoft \ VisualStudio \ 10.0Exp \ ExtensionManager \ EnabledExtensions

...