我创建了一个 VSIX 包,我通过 WIX 生成的 MSI 安装它。
但是,当我安装它并在 VS2010 中查看它时,在Tools > Extension Manager菜单中,它是[Disabled],我需要手动启用它。
我怎样才能避免这种情况?
** 编辑 **
这就是我所做的:
我尝试添加从注册表中捕获 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>
我在清单中添加了真正的元素。
当我这样做时,没有安装扩展。
任何想法为什么?