使用VS2015制作安装包( 含相关的下载链接)
补充:
在看下面的教程过程中,如果在下面的步聚1中没有 “ Visual Studio Installer”, 则需要通过下面的链接进行安装
Visual Studio Installer的安装链接:
Microsoft Visual Studio 2015 Installer Projects - Visual Studio
Marketplace
https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2015InstallerProjects

以下是转载内容:
1.创建安装项目:在“解决方案”上右键,“添加”——“新建项目”
2.选择“其他项目类型”——“Visual Studio Installer”——“Setup Progect”,可以更改名称,全部选择完毕后,点击确定。
3.添加应用程序
里面最左侧的框框有三个文件夹
①"应用程序文件夹"即"Application Folder"表示要安装的应用程序需要添加的文件;
②"用户的'程序'菜单"即"User's Programs Menu"表示:应用程序安装完,用户的"开始菜单"中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;
③"用户桌面"即"User's Desktop"表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。
4.在“Application Folder”上右键“Add”——“文件”,添加主文件
5.添加的文件一般是已经编译生成过的应用程序项目的debug目录下的exe文件(即位于../bin/Debug文件夹下的主程序exe文件)
6.添加后,一般它会自动把exe程序所需的依赖项也加进来,如各种dll文件,在右侧的"Detected Dependencies"里面可以看到它自动导入了哪些依赖项,方便你检查是否有遗漏
接下来,可能还剩一些文件夹或者配置文件XML等没有自动加进来,这个时候就需要自己手动添加
方式也是一样,右键“Application Folder”上右键“Add”——“文件”,添加文件,这里就不再赘述
PS:这里依赖文件如果有文件夹,在这里也是需要添加相同的文件夹的
7.创建快捷方式:右键主程序exe文件,选择"创建快捷方式到……"
8.然后,中侧框框里会出现一个快捷方式项,将它剪切,粘贴到"用户桌面"和“开始菜单”文件夹下(需要制作两次快捷方式),先不要改快捷方式的名字
9.先改快捷方式的图标、名称、描述等其他属性,可以在属性面板中设置,如下:(其中Icon选择Browse可以更改快捷方式的图标,但是图标必须是ico格式。同时也是在这个时候才可以更改快捷方式的名字)
10.添加卸载程序
既然有安装就有卸载,卸载程序其实是一个Windows操作系统自带的程序(C:Windows\System32\Msiexec.exe),只不过是通过给它传特殊的参数命令,来让它执行卸载
添加和设置卸载程序的操作如下:
首先,将卸载程序放在"应用程序文件夹"目录下,右键"应用程序文件夹",添加——文件,在系统盘下找到这个路径文件——C:Windows\System32\Msiexec.exe添加进去
11.由于Msiexec.exe这个名字不够直观,所以一般接下来我们会对它重命名,一般改为"卸载.exe"或"UnInstall.exe",然后给它创建快捷方式并将快捷方式放到"用户程序菜单"目录下(另外当最后安装包制作完毕后,Application Folder下的msiexec.exe会显示报错,但是这个报错无视就可以,因为msiexec.exe是Windows程序,被Windows保护)
12.接下来是很关键的一步,设置卸载参数,告诉卸载程序该卸载哪个
首先,找到安装项目的ProductCode,在安装项目的属性面板中可以看到,如下
13.复制此ProductCode ,粘贴到"卸载.exe"快捷方式的Arguments属性,前面加/x空格,如下(Arguments="/x {81575537-5736-457F-9DBE-857C1F67BE70}"记得/x后面一定要有个空格)
14.选择默认安装目录及其他设置
如果还想对安装程序进行其他设置,比如,友化安装欢迎界面,自定制安装步骤,修改注册表,设置启动条件(比如要求必须先安装指定的.net FrameWork版本才可以启动)等,可以右键安装项目,在View中可以进行选择设置,如下
左键点击一下“Application Folder”,在属性列表中DefaultLocation可以对默认安装路径进行更改。如果不更改,系统默认安装路径是C:\Program Files\Microsoft\安装项目名称。所以[ProgramFilesFolder][Manufacturer]\[ProductName]中,[ProgramFilesFolder]对应Program Files,[Manufacturer]\对应Microsoft,[ProductName]对应安装项目名称。
15.设置安装环境
一般我们开发的程序都有一个目标框架,也就是所依赖的.net Framework版本环境,如.net Framework 2.0/3.5/4.0/4.5等
要想我们的程序能在电脑上正常运行,首先就得保证电脑上装有指定的.net Framework版本框架。有两种方式实现设置安装环境,一种是需要安装包在有网的环境下进行安装(这种方式是从网上的运行商上下载运行环境),另外一种是可以在离线状态下安装安装包(这种方式是提前将运行环境从网上下载好,并和软件一起封装)
有网安装安装包方式下可以在安装包的属性中设置,启动安装前检查操作系统中是否安装了指定版本的框架或其他依赖,设置方法如下:
右键安装包项目,点开"属性"
然后点击"Prerequisites……"
选择你程序需要的.net Framework版本以及其他依赖项
选择"从组件供应商的网站上下载系统必备组件",这样一来,即使电脑上没有安装需要的.net Framework也不要紧,只要设置了这项,安装程序会自动从微软的官网上下载对应的组件并安装,是不是很方便
离线安装安装包:
从官网上下载所需要的运行环境安装包,将安装包放到软件Debug文件夹下,在解决方案上右击-〉添加-〉现有项目-〉运行环境,这样就会把这个运行环境添加到该解决方案中来,。
然后在安装项目setup上右击-〉Add-〉项目输出-〉主输出,在项目下拉框中选择刚添加的项目,选择这样就会把这个要打包的项目的基本文件添加到左侧的应用程序文件夹中,名字为主输出来自**(活动)。
这样最后重新生成安装项目时就可以实现离线安装
16.生成打包安装文件
右键安装项目,选择重新生成
然后打开解决方案文件夹下的Debug或Release文件夹,就可以看到生成的安装文件(如下是添加运行环境的第一种方案,即有网情况下的安装包生成情况)
生成的setup.exe与setup.msi的区别
setup.exe里边包含了对安装程序的一些条件的检测,比如需要.net的版本是否安装等,当条件具备后,setup.exe接着调用setup.msi,而setup.msi则可以直接运行,如果你确定条件都具备的情况下,可以选择.msi。
另外一种是离线环境也就是添加运行环境的第二种方案,这种方案只有msi,因为这个是将运行环境添加到项目中区,只要没有安装运行环境就可以进行安装。
转自:
使用VS2015制作安装包 - qq_39586288的博客 - CSDN博客
https://blog.csdn.net/qq_39586288/article/details/81144722
使用VS2015制作安装包( 含相关的下载链接)的更多相关文章
- vs2015 制作安装包额外需要安装的软件VSI_bundle
vs2015 制作安装包额外需要安装的软件VSI_bundle 下载地址:http://files.cnblogs.com/files/sdner/VSI_bundle.rar
- oracle9i-11.2安装包及补丁包下载链接
ORACLE 9i Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XPhtt ...
- 循序渐进做项目系列(5):制作安装包,谁人都可以!——VS制作安装包简明教程
一开始让我做安装包的时候,其实我是拒绝的.因为我根本就不会做安装包.查了资料之后,我很懵,很晕,很乱,因为不清晰,不简明,不直白.然而经过一番彷徨的挣扎,我终于发现:制作安装包,谁人都可以!故挥狼毫, ...
- 使用Qt installer framework制作安装包
一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...
- 【原创】VB6.0应用程序安装包的生成(Setup Factory 9.0制作安装包的方法)
VB6.0应用程序安装包的生成,利用其自带的打包工具生成的安装程序很简陋,一点不美观:如果想让自己的应用程序安装的时候显得高大上一点,本教程提供使用Setup Factory 9.0制作安装包的方法. ...
- VS 制作安装包小窥
难得忙里偷闲,看到有关VS制作安装包,按下文小试一把,还行,比不上Installshield. 首先在打开 VS2010 > 文件 >新建项目 创建一个安装项目 XXX 在“目 ...
- [转载]如何用Visual Studio制作安装包
原文地址:如何用Visual Studio制作安装包作者:蓝羽幽游 环境:Microsoft Visual Studio 2010 语言:C# 构架:.NET Framework 2.0 解决方案名称 ...
- 使用Qt installer framework制作安装包(不知道是否适合Mac和Linux?)
一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...
- Wix制作安装包
Wix制作安装包,找起资料来很费劲,记录一下: Product.wxs,该文件只能制作出msi形式的安装包,不能做到自动检测framework. <?xml version="1.0& ...
随机推荐
- Nginx网络架构实战学习笔记(三):nginx gzip压缩提升网站速度、expires缓存提升网站负载、反向代理实现nginx+apache动静分离、nginx实现负载均衡
文章目录 nginx gzip压缩提升网站速度 expires缓存提升网站负载 反向代理实现nginx+apache动静分离 nginx实现负载均衡 nginx gzip压缩提升网站速度 网页内容的压 ...
- redis基本介绍搭建篇
1.redis基本介绍 1.1 redis介绍 Redis属于非关系型数据库和Memcached类似,redis也是一个key-value型存储系统. 但redis支持的存储value类型相对更多,包 ...
- XSS漏洞防护
主要是添加黑名单进行拦截 public class XSSFilter implements Filter { private final Log logger = LogFactory.getLog ...
- PHP中global与$GLOBALS的区别
单一个global是一个关键字,通常附加在变量前,用于将变量声明至全局作用域: $GLOBALS是预定义的超全局变量,把变量扔到里边的话一样可以带到全局去. $GLOBALS 是一个关联数组,每一个变 ...
- 破解Xshell6强制升级
一.背景今天打开xshell时,弹出提示,“要继续使用此程序,您必须应用最新的更新或使用新版本”(如下图) 这是让我强制升级啊,点了确定按钮却提示我已经是最新版了 反正点了半天xshell也没打开.后 ...
- jumpserver注意事项以及报错处理
需要注意下面亮点 在使用jumpserver过程中,有一步是系统用户推送,要推送成功,client(后端服务器)要满足以下条件: 后端服务器需要有python.sudo环境才能使用推送用户,批量命令等 ...
- mySQL单表限制大小
MySQL单表大小的限制在目前的技术环境中,由所在主机的OS上面的文件系统来界定而不是由MySQL数据库本身来决定了. 在老版本的MySQL 3.22中,MySQL单表大小为4GB,当时的MySQL的 ...
- Ti 949 配置 948 i2c
如果不想用 远端 slave,只访问948 选 i2c pass through all =1 :i2c pass through =0/1 0x0c 0x17 0x9e 如果想用远端 sla ...
- [转] datetime.now、datetime.utcnow以及Django中的timezone.now之间的区别
https://blog.csdn.net/sinat_41898105/article/details/80984298 在我们使用Django做项目时经常会遇到时间的存储与读取不一致的问题 ...
- Codeforces 1169E DP
题意:给你一个长度为n的序列,有q次询问,每次询问给出两个位置x和y(x < y),问是否可从x到达y?可达的定义是:如果存在一个序列(假设长度为k),其中p1 = x, pk = y,并且这个 ...