VS2017、VS2019没有Setup安装项目(Visual Studio Installer)_
前言: VS2010中有一个自带的安装部署项目,叫:Visual Studio Installer ,我们通常称为:setup项目,是一个用于自定义安装部署的项目方案。但是在VS2017,VS2019中均不见了,安装程序组件中也没有,通过强大的谷歌和百度,发现有一个扩展方案,在VS市场里有一个可用的VS扩展,一般还很难找: ? 先把下载地址粘贴给各位: VS2017,VS2019? ?下载Setup(Visual Studio Installer)项目扩展地址:?https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2017InstallerProjects ? 我的另一篇博文也提及过这个问题:https://www.cnblogs.com/lxhbky/p/10616524.html ? 最近发现微软是有意废除安装项目的,合作了一个第三方的安装项目单独使用,没时间研究先放这,具体查看:VS 之 InstallShield Limited Edition for Visual Studio 2015 图文教程 ? VS2010自带安装项目截图:
VS2017,VS2019新扩展安装图:
? 完美的找到了它,只是它是英文版的,不过可以对照着2010的中文版操作,功能没有什么变化。
下面是自定义安装程序的操作方法: 安装项目主要有:左侧3个菜单(项目主要文件,用户桌面,用户开始菜单),一个需要配置的项目属性(系统必备安装环境) 1-添加项目主要文件:在项目文件右键->ADD->项目输出->选择winform项目-主输出,然后安装程序会自动把依赖的文件全部加进来,非常好使。最后别忘了关键的异步,把服务的config文件单独再拉进来: ? ? ? ? ? ? ? ? ? ? ? ? ? 2-添加用户桌面文件:一般我们会在用户桌面生成一个程序的入口文件的快捷方式,就是启动项目的文件。在项目文件中,选中winformEXE文件,右键创建快捷方式,然后拖到用户桌面左边的:用户桌面菜单中。 3-添加用户程序菜单也一样,放入一个入口文件的快捷方式文件,一般还有再加一个卸载该程序的文件入口: 首先,我们需要在项目文件中,Add一个微软提供可供卸载程序的一个程序集:?C:WindowsSystem32msiexec.exe,? 然后同样创建一个快捷方式,拖入到用户程序菜单中,右键快捷方式属性,在参数中输入:/x {projectcode} ? ? ? ??
其中projectCode,是需要在setup项目的属性中(不是右键属性哦,选中安装项目,属性窗口中的属性),可以找到,然后粘贴进去,就完成了卸载程序快捷方式的创建: ? ? ? ? 4-设置安装程序的运行环境及必备系统组件:选中setup安装项目,这次是右键点击属性添加系统必备组件,如下图: ? ? ? ?? ? ? 最后编译setup项目,就可以了,找到Debug下的文件,就可以进行傻瓜式一键安装了,自定义安装文件一共就产生了2个文件,类似于安装包的作用,把我们的发布后的文件又进行了一次压缩,漂亮啊: ? ? ? ? ?? ? 注意:默认自定义安装项目,是不编译的,除非你单独编译安装项目。? 你如果你是编译的解决方案,那么你其实并没有编译安装项目,解决方案中可以设置安装项目编译: ? ? ? ? ? ? 5-添加快捷方式图标,图标需要在项目文件中添加几张ICO类型的图标文件,添加好之后,可以在快捷方式的属性栏的ICON中选择添加的图标文件。这一步可忽略,主要是为了美观! 效果图: 用户菜单快捷菜单入口:
桌面快捷方式入口: ?
? 总结:由于没有太多的时间整理,先这样写吧,基本上把我自己使用这个winform+window服务这种组合项目,在发布过程中以及,怎么创建自定义安装包来快速,部署到测试中,遇到的问题说全了,希望可以帮助到遇到类似问题的道友。。。 以后再整理文章的结构。。。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – Sitecore 6.6,MVC 3和System.Web.Optimizat
- asp.net-mvc – NuGet项目>添加库包参考未出现
- 在本地部署asp.net mvc4到IIS 7.5
- asp.net-mvc-3 – .NET MVC 3提交按钮做了不同的事情
- asp.net-mvc – 如何在asp.net mvc中的url中添加页面标题?
- asp.net-core-mvc – 使用RenderBody()的UTF-8中的特殊字符
- asp.net-mvc-4 – 使用StructureMap为NServiceBus和MVC管理
- 容器HEALTHCHECK指令对接ASP.NET Core健康检查能力
- Azure发布版本未显示捆绑包
- asp.net-mvc – 自定义异常过滤器在asp.net MVC中没有被击中
- asp.net-mvc – 从MVC5框架OAuth/OWin身份提供程
- asp.net – 通过调用.ashx页面下载文件
- asp.net mvc调试器抛出SEHException
- asp.net-mvc – 如何组合两个dataTextFields的Se
- asp.net – 如何使我的硒测试不那么脆弱?
- 如何在ASP.NET MVC中扩展ValidationSummary HTML
- ASP.Net页面生命周期
- RegisterStartupScript无法在更新面板中工作,无法
- asp.net-mvc – ASP.NET MVC,Nhibernate和小型/中
- asp.net-mvc-3 – asp.net mvc 3抛出异常