【转】如何使用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,不同版本可能有一些差异,不过大体上是相同的,这些信息仅供新手参考,大 ...
随机推荐
- 【LeetCode-面试算法经典-Java实现】【059-Spiral Matrix II(螺旋矩阵II)】
[059-Spiral Matrix II(螺旋矩阵II)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given an integer n, generate a ...
- 第2章 Python基础-字符编码&数据类型 字典 练习题
1.写代码,有如下字典,按照要求实现每一个功能,dic = {'k1':'v1','k2':'v2','k3':[11,22,33]} 请循环输出所有的 key dic = {'k1':'v1','k ...
- xml中的<![CDATA[]]> 简介
被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”. 此标记用于xml文档中,我们先来看看使用转义符的 ...
- 转: 使用Hystrix实现自动降级与依赖隔离
使用Hystrix实现自动降级与依赖隔离 原创 2017年06月25日 17:28:01 标签: 异步 / 降级 869 这篇文章是记录了自己的一次集成Hystrix的经验,原本写在公司内部wiki里 ...
- kafak manager + zookeeper + kafka 消费队列快速清除
做性能测试时,kafka消息队列比较长,让程序自己消费完毕需要等待很长时间.就需要快速清理kafka队列 清理方式把 这kafak manager + zookeeper + kafka 这些应用情况 ...
- Windows系统创建符号链接文件
源文件夹:E:\深海 创建新硬链接文件夹:D:\微云同步盘\719179409\4-工作资料\深海 使用快捷键Win + X 打开以下菜单,选择命令提示符(管理员) 敲入以下命令: 创建成功后 ...
- js判断是否IE浏览器
//ie? if (!!window.ActiveXObject || "ActiveXObject" in window){ //是 alert(1); }else{ //不是 ...
- ssh转发
ssh有3种转发:本地转发,远程转发,动态转发. 1.本地转发:当client和ssh-client的方向一致的时候,就是本地转发. 限制:1)client直接访问server被防火墙阻挡.2)ssh ...
- FlexPaper:使用flash在线展示pdf
WFTools工具包中的PDF2SWF工具可用来将PDF格式文件转换成SWF格式.使用下面的命令可以将pdf文件转换为单页swf文件. pdf2swf pdfPath –o swfPath –T ...
- hdu 2680 Choose the best route (dijkstra算法)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2680 /************************************************* ...