首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在安装时自动启用VSIX扩展?

如何在安装时自动启用VSIX扩展?
EN

Stack Overflow用户
提问于 2011-06-22 08:22:24
回答 2查看 2.7K关注 0票数 2

我已经创建了一个VSIX包,我通过WIX生成的MSI来安装它。

但是,当我安装它并在VS2010中查看它时,在Tools > Extension 菜单中,它是禁用的,我需要手动启用它。

我怎么才能避免这种情况?

编辑**

我所做的是:

我尝试在注册表中添加捕获VSInstallDir的方法,如下所示:

代码语言:javascript
复制
    <Property Id="VSINSTALLER">
  <RegistrySearch Id="VSInstallRegistry" Root="HKLM" Key="SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0" Name="InstallDir"  Type="directory" />

我在target-dir下添加了如下目录结构:

代码语言:javascript
复制
    <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元素,如下所示:

代码语言:javascript
复制
            <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>

我将元素添加到清单中。

当我这样做时,扩展是而不是安装的。

知道为什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-25 16:43:50

如果将扩展名文件安装到%VSInstallDir%\Common7\IDE\扩展名下创建的目录,则将自动为所有用户启用扩展名文件。这是MSI安装的扩展的建议。

另外,请确保将<InstalledByMsi>true</InstalledByMsi>添加到v6清单中。

不需要运行VSIXInstaller.exe或写注册表项来启用扩展(实际上,您不应该这样做。)

票数 5
EN

Stack Overflow用户

发布于 2011-06-22 09:12:54

使用Use 2010\Common7\IDE中的"VSIXInstaller.exe“工具。

此外,还可以通过向HKCU\Software\Microsoft\VisualStudio\10.0Exp\ExtensionManager\EnabledExtensions添加注册表值来手动启用扩展。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6436926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档