Ass*_*one 2 visual-studio-2010 vsix
我创建了一个VSIX软件包,该软件包是通过WIX生成的MSI安装的。
但是,当我安装它并在VS2010中查看它时,在“ 工具”>“扩展管理器”菜单中,它是[已禁用],我需要手动启用它。
如何避免这种情况?
**编辑**
这是我所做的:
我尝试添加从注册表中捕获VSInstallDir的方法,如下所示:
<Property Id="VSINSTALLER">
<RegistrySearch Id="VSInstallRegistry" Root="HKLM" Key="SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0" Name="InstallDir" Type="directory" />
Run Code Online (Sandbox Code Playgroud)
我在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>
Run Code Online (Sandbox Code Playgroud)
然后,我向安装文件夹中的组件添加了一个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>
Run Code Online (Sandbox Code Playgroud)
我将真正的元素添加到清单中。
当我这样做时,未安装扩展。
有什么想法吗?
如果将扩展文件安装到在%VSInstallDir%\ Common7 \ IDE \ Extensions下创建的目录,它将为所有用户自动启用。这是MSI安装扩展的建议。
另外,请确保添加<InstalledByMsi>true</InstalledByMsi>到您的vsixmanifest中。
无需运行VSIXInstaller.exe或编写注册表项来启用扩展(实际上,您实际上不应该这样做)。
| 归档时间: |
|
| 查看次数: |
2349 次 |
| 最近记录: |