【转】如何使用visual studio将你的程序打包成安装包
原文地址:https://www.cnblogs.com/SolarWings/p/6132310.html
很久很久以前,我一直有一个梦想,那就是做出一个自己的游戏,这个游戏很像模像样,除了拥有一个可以打开的exe文件,还要有一个很精致的安装界面,当你按照提示一步步执行完安装程序,一个XXX单机版就会出现在你的电脑上。也许是梦幻西游单机版,也许是DNF单机版,或者是跑跑卡丁车单机版呢?这个想法在我的脑海里维持过一段时间,最后由于学业的压力,以及当时什么都不懂,最终没有实现(全都是借口)。我最后只是做出了一个flash版本的小游戏,不需要安装,也没有复杂的操作,就是几个按钮点来点去的切换界面,当时居然会很有成就感,哈哈哈哈。
闲话扯了半天,开始回归正题,由于网上的教程要么是VS2010要么就是描述太复杂,我决定搞一个VS2013打包安装包的傻瓜式流程记录,方便大家直接上手,最基本的打包是可以分分钟搞定的:
1.新建一个安装包工程
FILE->New->Project

2.新建之后会弹出一个网页,因为VS2010之后的版本是没有自带打包功能的,要使用InstallShield Limited Edition需要下载对应的支持文件

3.在下载页面填写基本的信息

其中这两项,直接用电信网络竟然没有下拉框。在公司的FQ环境下才可以

然后就会转到一个下载和序列号界面,这个序列号要记下来,待会会用到。可以看到2010-2015都是可以用的

4.然后按照提示信息安装完成,重启VS后再新建一个工程

5.直接进入向导

设置基本信息

添加需要打包的文件

设置开始菜单显示的exe和是否创建桌面图标等

左边的框里面只留下启动的exe就行了,不然开始菜单里会有一坨
注册表那里暂时不需要,我就不设置了
6.打包方式的设置

设置为全部资源都打包到exe文件
7.打包的模式换成singleimage

8.接下来只要生成解决方案就可以了,在工程目录下会生成setup.exe
9.进阶版:怎么在安装结束后执行自己的处理程序
我这里为了方便,直接用了一个控制台程序去调用cmd的命令

我们新建一个控制台程序

选择空项目->完成。
然后源文件->添加->新项目 新建一个cpp文件
把需要的代码撸进去,一般就是执行几个命令

#include <windows.h>
#include <direct.h>
#include <stdio.h>
#include <string>
using namespace std; int main(int argc, char *argv[])
{
system("echo hehe");
return 0;
}


然后把我们的这个控制台程序设置到刚才的文件输出目录里面去

设置调用时机,在对应的时机下面右键,新建exe

位置设置为本工程,然后在FileName项中找到我们刚才设置好的主输出

这样整个流程就完成了,当安装包安装完成时,就会调用你的命令行程序了
【转】如何使用visual studio将你的程序打包成安装包的更多相关文章
- Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)
Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer Advanced Installer :Free for 30 da ...
- Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer
Advanced Installer :Free for 30 days. All features. 下载地址:https://www.advancedinstaller.com/download. ...
- Visual Studio 2017 - Windows应用程序打包成exe文件(1)- 工具简单总结
最近有对一个Windows应用程序少许维护和修改.修改之后要发布新的exe安装文件,打包exe文件时,遇到了很头疼的问题,还好最后解决了,记录一下. Visual Studio版本:Visual St ...
- Visual Studio 2015 WinForm应用程序打包教程
最近开发了一个小软件.由于需要打包.网上找了一些资料.然后整合了起来.希望对大家有所帮助.不全面请见谅. 本人开发工具用的是Visual Studio 2015 打包控件 InstallShield ...
- 【转载】Visual Studio中WinForm窗体程序如何切换.NET Framework版本
在C#语言的WinForm窗体程序中,有时候我们需要切换WinForm窗体程序项目的.NET Framework版本号,例如从.NET Framework 4.5版本切换到.NET Framework ...
- 运行OpenGL红宝书第9版源码时Visual Studio提示“无法启动程序...ALL_BUILD。拒绝访问“的问题的解决办法
问题描述: OpenGL红宝书第9版源码采用CMake编译后,用相应的Visual Studio(如VS2012)打开“vermilion9.sln”解决方案,并运行时Visual Studio提示“ ...
- Rust初步(二):使用Visual Studio Code编写Rust程序(猜猜看游戏)
我是照着下面这篇帮助文档,完成了第一个完整的Rust程序: 猜猜看 游戏 http://kaisery.gitbooks.io/rust-book-chinese/content/content/3. ...
- 使用Visual Studio 2015开发Android 程序
环境配置: 操作系统:win 7 64位 IDE:Visual Studio 2015 SDK:installer_r24.3.3-windows 安装前提: 编辑hosts文件(在附件可下载)因为安 ...
- 1.2 如何在visual studio 中建立C#程序
这一节简单介绍一下怎么在visual studio 2015中建立第一个C#程序,我使用的是2015版的visual studio,不同版本可能有一些差异,不过大体上是相同的,这些信息仅供新手参考,大 ...
随机推荐
- 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目
作者简介:akshay pai,数据科学工程师,热爱研究机器学习问题.Source Dexter网站创办人. TensorFlow是Google的开源深度学习库,你可以使用这个框架以及Python编程 ...
- java 高性能读模式(译)
原文地址:http://tutorials.jenkov.com/java-performance/read-patterns.html 好久没翻译了,逛知乎,无意间发现的一个链接,写的太好了,而且内 ...
- js中文乱码问题,编码设为utf-8,但还是乱码问题。
dw中编辑js的时候使用另存为菜单,在存储的时候勾选上一个叫[包括Unicode签名(BOM)(S)]的选项,然后存储.再次在浏览器源码中查看的时候js的中文就正常显示了,查看属性,编码也是UTF-8 ...
- javascript的崛起及其生态元素
随着web的流行,人们花在浏览器上的时间吸引了巨头们对浏览器的重视,继而几年前富客户端概念,一批富客户端技术的涌现,如silverlight, flex等,曾经风起云涌,最终都败给了html5 和 j ...
- Groovy 学习手册(3)
五. Groovy 的设计模式 设计模式是一种非常好的方式,可以使你的代码变得实用,可读又具有扩展性.跟 Java 相比,在 Groovy 里使用设计模式使代码更加简洁和容易. 1. 策略模式 设想一 ...
- Java Nashorn--Part 4
Nashorn 和 javax.script 包 Nashorn 并不是第一个在 Java 平台上运行的脚本语言.在Java 6 就提供了 javax.script java 包,它为脚本语言引擎提供 ...
- java对象内存占用
一.前言想知道java对象在内存中的占用情况吗?感谢这位大神的无私分享. http://yueyemaitian.iteye.com/blog/2033046 二.原文的扩充1. 增加了代理jar包的 ...
- T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他
简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能.但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索 ...
- 三角函数 与 JavaScript
三角函数 canvas 和 JavaScript 中所有与角相关的API如Math.sin().Math.cos().Math.tan(),都需要以弧度为单位值.但大部分人还是习惯以角度单位.所以 ...
- 《KAFKA官方文档》入门指南(转)
1.入门指南 1.1简介 Apache的Kafka™是一个分布式流平台(a distributed streaming platform).这到底意味着什么? 我们认为,一个流处理平台应该具有三个关键 ...