Visual Studio Installer单个MSI创建及相关技术问题咨询
Visual Studio Installer制作VSTO插件安装包问题解答
问题1:如何创建单个.msi文件(不含setup.exe引导程序)?
- 右键你的Visual Studio Installer项目,选择属性
- 在属性窗口的「输出」区域,取消勾选「创建引导程序(setup.exe)」选项
- 重新生成项目,输出目录里就只会生成独立的.msi文件,没有setup.exe
问题2:是否真的需要检查前置条件是否已存在?
必须检查。你的插件依赖.NET 4.8和VSTO 2010 Runtime,这两个是插件运行的核心基础:
- 如果用户机器没装.NET 4.8,插件连加载的基础环境都没有
- 缺少VSTO 2010 Runtime,Office根本识别不了你的VSTO插件
不做检查的话,安装后插件直接加载失败,用户只会看到报错,排查起来也麻烦,必须保留前置条件检查逻辑。
问题3:启动条件和「安装程序>属性>前置条件」的共存关系?
这俩是Visual Studio Installer里两个不同层面的检查逻辑:
- 「安装程序>属性>前置条件」:是给setup.exe引导程序用的配置。当用户运行setup.exe时,引导程序会先检查这些依赖,缺失的话会自动下载安装,完成后再启动.msi的安装流程。
- 启动条件:是.msi安装包本身内置的检查逻辑。不管有没有setup.exe,只要用户直接运行.msi,就会触发这些条件检查,不满足就弹出错误提示并终止安装。
你现在同时配置了两者:如果保留setup.exe,会先过引导程序的前置条件检查,再触发.msi的启动条件;如果去掉setup.exe只用.msi,那前置条件的配置就失效了,只有启动条件会生效。
内容的提问来源于stack exchange,提问作者Leon
相关产品推荐
相关产品推荐

