使用MSI安装程序部署VSIX插件

9

请问有人能帮我学习“如何使用MSI安装程序安装VSIX扩展”吗?

我正在使用Visual Studio Installer设置项目进行MSI安装程序。

当我使用扩展管理器与VSIX一起使用时,它可以正常工作。

我想将其作为一个安装程序(使用MSI)而不是使用扩展管理器。

或者有没有更好的方法来安装和卸载VSIX文件。


正如Matt所说,这不是推荐的安装和卸载Vsix文件的方式,那么最好的方式是什么? - Umesh CHILAKA
2个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
9
这不是一个建议的方案。 根据MSDN所述,“您不能使用Windows Installer包(MSI)来部署VSIX包。但是,您可以提取VSIX包的内容以进行MSI部署。本文档展示了如何准备一个默认输出为VSIX包的项目以包含在安装程序项目中。” 以下是一些提供更多信息的页面: MSDN页面 VS博客 MSDN论坛

关于如何完成此操作的更多信息:

您不能直接使用vsix文件,但是您可以将其解压缩(将vsix重命名为zip)并手动将所有文件添加到您的MSI中。正如VS Blog上所说,您需要确保包含vsixmanifest文件(它应该在vsix中),并确保将“InstalledByMsi”属性设置为true。如果您有pkgdef文件,请确保也包含在内。

同样,正如VS Blog上所述,所有这些文件都应安装到

"%VSInstallDir%\Common7\Ide\Extensions\Your Company\Your Product\Version"

(您需要根据实际位置替换%VSInstallDir%。)

您问:

如何使用Visual Studio安装程序将某些文件放在非特殊文件夹中。

标准vsix安装程序安装的Vsix包将始终将所有文件放在“%VSInstallDir%\ Common7 \ Ide \ Extensions ...”下的同一个文件夹中,但是因为您正在使用MSI,如果需要,您应该能够将其他文件放在其他地方。

我自己没有尝试过这个,但我已经与vsix合作了相当多的时间。

希望这可以帮助您!


在VS博客的第四点中提到将它们放入Visual Studio目录中。如何使用Visual Studio安装程序将一些文件放入非特殊文件夹中。 - Umesh CHILAKA
Visual Studio 安装程序是什么意思?你是指 MSI 吗? - Matt

0

在我的情况下,我需要以管理员模式运行devenv /setup才能正常工作,然后它就完美无缺了!

C:\Windows\system32>"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" /setup


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,