Visual Studio Installer打包安装项目VS2015
使用VS2015的Visual Studio Installer打包安装项目,虽然整体操作很简单,但还是有几个特殊的点需要记一下,故写下此博客方便以后查阅
第一步,创建安装项目
如下:


里面最左侧的框框有三个文件夹
1.“应用程序文件夹”即"Application Folder"表示要安装的应用程序需要添加的文件;
2.“用户的‘程序’菜单”即"User's Programs Menu"表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;
3.“用户桌面”即"User's Desktop"表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。
第二步,右键“应用程序文件夹”,添加——文件

添加的文件一般是已经编译生成过的应用程序项目的debug目录下的exe文件(即位于../bin/Debug文件夹下的主程序exe文件);

添加后,一般它会自动把exe程序所需的依赖项也加进来,如各种dll文件,在右侧的“Detected Dependencies”里面可以看到它自动导入了哪些依赖项,方便你检查是否有遗漏

接下来,可能还剩一些文件夹或者配置文件XML等没有自动加进来,这个时候就需要自己手动添加
方式也是一样,右键“应用程序文件夹”,添加——文件夹,添加——文件,这里就不再赘述
第三步,创建快捷方式
右键主程序exe文件,选择“创建快捷方式到……”

然后,中侧框框里会出现一个快捷方式项,将它剪切,粘贴到“用户桌面”文件夹下

至于快捷方式的名称、图标、描述等其他属性,可以在属性面板中设置,如下

第四步,添加卸载程序
既然有安装就有卸载,卸载程序其实是一个Windows操作系统自带的程序(C:Windows\System32\Msiexec.exe),只不过是通过给它传特殊的参数命令,来让它执行卸载
添加和设置卸载程序的操作如下:
首先,将卸载程序放在“应用程序文件夹”目录下,右键“应用程序文件夹”,添加——文件,在系统盘下找到这个路径文件——C:Windows\System32\Msiexec.exe添加进去

由于Msiexec.exe这个名字不够直观,所以一般接下来我们会对它重命名,一般改为“卸载.exe”或“UnInstall.exe”,然后给它创建快捷方式并将快捷方式放到“用户程序菜单”目录下

接下来是很关键的一步,设置卸载参数,告诉卸载程序该卸载哪个
首先,找到安装项目的ProductCode,在安装项目的属性面板中可以看到,如下

复制此ProductCode ,粘贴到“卸载.exe”快捷方式的Arguments属性,前面加/x空格,如下

Arguments=“/x {81575537-5736-457F-9DBE-857C1F67BE70}”记得/x后面一定要有个空格
第五步,其他设置
如果还想对安装程序进行其他设置,比如,友化安装欢迎界面,自定制安装步骤,修改注册表,设置启动条件(比如要求必须先安装指定的.net FrameWork版本才可以启动)等,可以右键安装项目,在View中可以进行选择设置,如下

有需要可以再去研究,这里就不详细赘述了
第六步,设置系统必备
一般我们开发的程序都有一个目标框架,也就是所依赖的.net Framework版本环境,如.net Framework 2.0/3.5/4.0/4.5等
要想我们的程序能在电脑上正常运行,首先就得保证电脑上装有指定的.net Framework版本框架,可以在安装包的属性中设置,启动安装前检查操作系统中是否安装了指定版本的框架或其他依赖,设置方法如下:
右键安装包项目,点开“属性”

然后点击“Prerequisites……”

选择你程序需要的.net Framework版本以及其他依赖项

选择“从组件供应商的网站上下载系统必备组件”,这样一来,即使电脑上没有安装需要的.net Framework也不要紧,只要设置了这项,安装程序会自动从微软的官网上下载对应的组件并安装,是不是很方便
第七步,生成打包安装文件
右键安装项目,选择重新生成

然后打开解决方案文件夹下的Debug或Release文件夹,就可以看到生成的安装文件

生成的setup.exe与setup.msi的区别
setup.exe里边包含了对安装程序的一些条件的检测,比如需要.net的版本是否安装等,当条件具备后,setup.exe接着调用setup.msi,而setup.msi则可以直接运行,如果你确定条件都具备的情况下。
Visual Studio Installer打包安装项目VS2015的更多相关文章
- Visual Studio 2017打包安装项目
在我们用VS编好上位机后,就可以在自己电脑运行上位机,但是想其他人电脑运行上位机可能就行不通了,因为其他人电脑不一定有所需要的运行环境.这时我们就需要打包安装,把运行软件所需要的环境都打包在安装包里. ...
- Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案
原文:Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案 如果你是用Visual Studio自带的打包项目打包了一个I ...
- visual studio installer 打包123
下载安装visual studio installer
- C# winform Visual Studio Installer打包教程
C# winform Visual Studio Installer打包教程 软件在功能开发实现后,其实并没有真正的完成.对于一个专业的开发者来说,Release软件应该是以安装版本的形式进行发布的 ...
- C# winform Visual Studio Installer打包教程,安装包
//具体打包过程,参考下面网址 https://www.cnblogs.com/dongh/p/6868638.html VS 扩展和更新-联机 搜索 Microsoft Visual Studio ...
- Visual Stdio 2015打包安装项目的方法(使用Visual Studio Installer)
首先在官网下载VS2015的Visual Studio Installer 1.创建安装项目 里面最左侧的框框有三个文件夹 1.“应用程序文件夹”即"Application Folder&q ...
- win7(64位旗舰版)visual studio 2017无法安装及vs2015闪退问题解决方式
折腾了两天,几乎试了网上说的所有方法(就差重装系统了,看到有人说重装系统之后还是同样的问题,果断放弃重装),visual studio 2017的安装问题终于解决了,为了帮助同样还在折腾的初级开发者们 ...
- VS2017、VS2019没有Setup安装项目(Visual Studio Installer)_解决方案
前言: VS2010中有一个自带的安装部署项目,叫:Visual Studio Installer ,我们通常称为:setup项目,是一个用于自定义安装部署的项目方案.但是在VS2017,VS2019 ...
- 使用Visual Studio Installer 2015打包WPF程序
前言 做过WPF项目,就少不了要将程序打包部署到客户现场,因为一般长时间不会更新打包程序,每次变动较大需要重新配置打包程序时,就会有些生疏,不那么得心应手.为了方便记忆,记录到博客中. 准备 因为做过 ...
随机推荐
- css3打包后自动追加前缀插件:autoprefixer
用vue-cli构建的项目脚手架已经帮你把autoprefixer的配置做好了,自己不需要做什么改动就会自动加前缀: 下面一起看看涉及到autoprefixer这个插件的一些配置: 1,postcss ...
- NOIP2017:逛公园
Sol 发现\(NOIP2017\)还没\(AK\)??? 赶紧改 考场上明明打出了\(DP\),没时间了,没判环,重点是没初始化数组,爆\(0\) \(TAT\) 先最短路,然后\(f[i][j]\ ...
- mac下打开hosts文件
1打开控制台 输入vi(空格)/etc/hosts 进入hosts文件,输入i更改为编辑状态,更改完esc然后shift+:在输入wq保存退出 2打开Finder然后选择上面前往,到前往文件夹,输入/ ...
- Linux基础之命令练习Day7-nginx,nfs
一. Nginx Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗 ...
- 03_Adaptive注解
[Adaptive注解] package com.alibaba.dubbo.common.extension; import com.alibaba.dubbo.common.URL; import ...
- RxJava 中的map与flatMap
1.map和flatMap都是接受一个函数作为参数(Func1) 2.map函数只有一个参数,参数一般是Func1,Func1的<I,O>I,O模版分别为输入和输出值的类型,实现Func1 ...
- HTML5+CSS3开发移动端页面
前提知识: 1.能够独立根据设计稿进行整套项目的需求.剖析及其开发: 2.对项目开发流程需要有一个基本的了解: 3.可以灵活运用切图.重构.前端的知识对项目进行灵活控制. 开发步骤之需求分析: 1.确 ...
- centos7和centos6区别
CentOS 7 vs CentOS 6的不同 (1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell) (2)文件系统[CentOS6 ...
- @vue-cli3配合element和scss打包的配置
@vue-cli3配合element和scss打包的配置 标签(空格分隔): Vue 使用@vue-cli3初始化项目,且使用ElementUI,然后按照官方文档自定义主题. 自己的scss全局变量文 ...
- Win7系统托盘解决出现CH图标的方法
中文环境下,使用的英文键盘应该是“中文(简体)-美式键盘",这个输入法虽然是用来打英文的,但是归到中文类的,对应就是CH 如果因为某些不知明原因,增加了"美式键盘"等其他 ...