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
VS2010自带安装项目截图:

VS2017,VS2019新扩展安装图:


完美的找到了它,只是它是英文版的,不过可以对照着2010的中文版操作,功能没有什么变化。
下面是自定义安装程序的操作方法:
安装项目主要有:左侧3个菜单(项目主要文件,用户桌面,用户开始菜单),一个需要配置的项目属性(系统必备安装环境)
1-添加项目主要文件:在项目文件右键->ADD->项目输出->选择winform项目-主输出,然后安装程序会自动把依赖的文件全部加进来,非常好使。最后别忘了关键的异步,把服务的config文件单独再拉进来:



2-添加用户桌面文件:一般我们会在用户桌面生成一个程序的入口文件的快捷方式,就是启动项目的文件。在项目文件中,选中winformEXE文件,右键创建快捷方式,然后拖到用户桌面左边的:用户桌面菜单中。
3-添加用户程序菜单也一样,放入一个入口文件的快捷方式文件,一般还有再加一个卸载该程序的文件入口:
首先,我们需要在项目文件中,Add一个微软提供可供卸载程序的一个程序集: C:\Windows\System32\msiexec.exe, 然后同样创建一个快捷方式,拖入到用户程序菜单中,右键快捷方式属性,在参数中输入:\x {projectcode}

其中projectCode,是需要在setup项目的属性中(不是右键属性哦,选中安装项目,属性窗口中的属性),可以找到,然后粘贴进去,就完成了卸载程序快捷方式的创建:

4-设置安装程序的运行环境及必备系统组件:选中setup安装项目,这次是右键点击属性添加系统必备组件,如下图:

最后编译setup项目,就可以了,找到Debug下的文件,就可以进行傻瓜式一键安装了,自定义安装文件一共就产生了2个文件,类似于安装包的作用,把我们的发布后的文件又进行了一次压缩,漂亮啊:

注意:默认自定义安装项目,是不编译的,除非你单独编译安装项目。 你如果你是编译的解决方案,那么你其实并没有编译安装项目,解决方案中可以设置安装项目编译:

5-添加快捷方式图标,图标需要在项目文件中添加几张ICO类型的图标文件,添加好之后,可以在快捷方式的属性栏的ICON中选择添加的图标文件。这一步可忽略,主要是为了美观!
效果图:
用户菜单快捷菜单入口:

桌面快捷方式入口:

总结:由于没有太多的时间整理,先这样写吧,基本上把我自己使用这个winform+window服务这种组合项目,在发布过程中以及,怎么创建自定义安装包来快速,部署到测试中,遇到的问题说全了,希望可以帮助到遇到类似问题的道友。。。
以后再整理文章的结构。。。
VS2017、VS2019没有Setup安装项目(Visual Studio Installer)_解决方案的更多相关文章
- 解决记录:win10 无法安装VS2017,visual studio installer下载进度始终为0
问题描述:win10 下无法安装VS2017,visual studio installer下载进度始终为0,点击取消按钮后,也没有反应,visual studio installer也关闭不掉: 具 ...
- Visual Studio Installer打包安装项目VS2015
使用VS2015的Visual Studio Installer打包安装项目,虽然整体操作很简单,但还是有几个特殊的点需要记一下,故写下此博客方便以后查阅 第一步,创建安装项目 如下: 里面最左侧的框 ...
- Visual Stdio 2015打包安装项目的方法(使用Visual Studio Installer)
首先在官网下载VS2015的Visual Studio Installer 1.创建安装项目 里面最左侧的框框有三个文件夹 1.“应用程序文件夹”即"Application Folder&q ...
- 解决 win10 无法安装VS2019,visual studio installer下载进度始终为0
解决 win10 无法安装VS2019,visual studio installer下载进度始终为0 目录 解决 win10 无法安装VS2019,visual studio installer下载 ...
- Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案
原文:Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案 如果你是用Visual Studio自带的打包项目打包了一个I ...
- Visual Studio 开发(一):安装配置Visual Studio Code
一.为何使用Visual Studio Code 在学习音视频开发的时候,使用到了C和C++,在回顾复习C和C++的知识的时候,需要编写一些代码来加强理解. 虽然,有在线的语言编辑工具https:// ...
- Windows10系统如何安装Microsoft Visual Studio 2015及最小子数组和求解
一.Windows10系统如何安装Microsoft Visual Studio 2015. 1.首先到Visual Studio官方网站(https://www.visualstudio.com/v ...
- .NET Framework 2.0/3.0/3.5 以 v90 平台工具集为目标。请确保在计算机上安装了 Visual Studio 2008
今天在Visual Studio2010下面开发C++应用的时候发现“.NET Framework 2.0/3.0/3.5 以 v90 平台工具集为目标.请确保在计算机上安装了 Visual Stud ...
- 在linux系统中安装VSCode(Visual Studio Code)
在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网 ...
随机推荐
- Windows下Oracle的下载与安装
一.Oracle下载 官网地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 百 ...
- Netty 笔记
1.Netty 是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端. 2.早期Java API 使用的阻塞函数 // 创建一个新的ServerSocket, ...
- iframe跨域动态设置主窗口宽高
Q:在A项目的a页面嵌入一个iframe,src是B项目的b页面,怎样让a页面的高度跟b页面的高度一样? A:解决跨域方案:增加一个A项目的c页面. 操作步骤: 一,a页面的iframe设置: 获取到 ...
- 利用Swagger2自动生成对外接口的文档
一直以来做对外的接口文档都比较原始,基本上都是手写的文档传来传去,最近发现了一个新玩具,可以在接口上省去不少麻烦. swagger是一款方便展示的API文档框架.它可以将接口的类型最全面的展示给对方开 ...
- SSM-SpringMVC-26:SpringMVC异常骇级之自定义异常注解版
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 注解的方法实现异常解析,话不多说,直接搞起,和以前一样的习惯,和上篇博客一样的代码放后面,不一样的在前面 案 ...
- aliyun TableStore相关操作汇总
总结:这个东西本身可能技术还不成熟,使用的人少,有问题很验证解决 遇到的问题:(1)没有一个GUI工具,使用门槛高(2)查询的GetRange不方便,把查询出来的数据使用System.out.prin ...
- Cookie防篡改机制
一.为什么Cookie需要防篡改 为什么要做Cookie防篡改,一个重要原因是 Cookie中存储有判断当前登陆用户会话信息(Session)的会话票据-SessionID和一些用户信息. 当发起一个 ...
- Windows 下python 环境安装
1.先在官网上下载安装包,官网地址: https://www.python.org 2. 选择自己需要的版本进行安装,最好选择新版本下载, 3. 下载完成后,双击运行安装,一直next,直至 ...
- 在MFC中对Excel的一些操作
首先要在程序中加载CExcel.h和CExcel.cpp文件,这里面包装了很多函数和对Excel文件的操作,下面所有程序中的m_excel都是类CExcel的对象,如: private: _Appli ...
- luoguP4231_三步必杀_差分
luoguP4231_三步必杀_差分 题意:N 个柱子排成一排,一开始每个柱子损伤度为0.接下来勇仪会进行M 次攻击,每次攻击可以用4个参数l,r ,s ,e 来描述: 表示这次攻击作用范围为第l个到 ...