原文地址: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将你的程序打包成安装包的更多相关文章

  1. 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 ...

  2. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer

    Advanced Installer :Free for 30 days. All features. 下载地址:https://www.advancedinstaller.com/download. ...

  3. Visual Studio 2017 - Windows应用程序打包成exe文件(1)- 工具简单总结

    最近有对一个Windows应用程序少许维护和修改.修改之后要发布新的exe安装文件,打包exe文件时,遇到了很头疼的问题,还好最后解决了,记录一下. Visual Studio版本:Visual St ...

  4. Visual Studio 2015 WinForm应用程序打包教程

    最近开发了一个小软件.由于需要打包.网上找了一些资料.然后整合了起来.希望对大家有所帮助.不全面请见谅. 本人开发工具用的是Visual Studio 2015  打包控件 InstallShield ...

  5. 【转载】Visual Studio中WinForm窗体程序如何切换.NET Framework版本

    在C#语言的WinForm窗体程序中,有时候我们需要切换WinForm窗体程序项目的.NET Framework版本号,例如从.NET Framework 4.5版本切换到.NET Framework ...

  6. 运行OpenGL红宝书第9版源码时Visual Studio提示“无法启动程序...ALL_BUILD。拒绝访问“的问题的解决办法

    问题描述: OpenGL红宝书第9版源码采用CMake编译后,用相应的Visual Studio(如VS2012)打开“vermilion9.sln”解决方案,并运行时Visual Studio提示“ ...

  7. Rust初步(二):使用Visual Studio Code编写Rust程序(猜猜看游戏)

    我是照着下面这篇帮助文档,完成了第一个完整的Rust程序: 猜猜看 游戏 http://kaisery.gitbooks.io/rust-book-chinese/content/content/3. ...

  8. 使用Visual Studio 2015开发Android 程序

    环境配置: 操作系统:win 7 64位 IDE:Visual Studio 2015 SDK:installer_r24.3.3-windows 安装前提: 编辑hosts文件(在附件可下载)因为安 ...

  9. 1.2 如何在visual studio 中建立C#程序

    这一节简单介绍一下怎么在visual studio 2015中建立第一个C#程序,我使用的是2015版的visual studio,不同版本可能有一些差异,不过大体上是相同的,这些信息仅供新手参考,大 ...

随机推荐

  1. golang学习笔记 --- goroutine

    package main import ( "fmt" "io" "io/ioutil" "net/http" &quo ...

  2. vfork 挂掉的一个问题

    在知乎上,有个人问了这样的一个问题——为什么vfork的子进程里用return,整个程序会挂掉,而且exit()不会?并给出了如下的代码,下面的代码一运行就挂掉了,但如果把子进程的return改成ex ...

  3. 真正理解 git fetch, git pull 以及 FETCH_HEAD

    真正理解 git fetch, git pull 要讲清楚git fetch,git pull,必须要附加讲清楚git remote,git merge .远程repo, branch . commi ...

  4. Bitter Sweet Symphony

    当我写下这段话时,另一个我觉醒了. 时间仿佛一下子从2013年的末尾跳到了2014年了,是那么的猝不及防.1990——2014,24岁了,一瞬间,不知不觉已经走过了24个岁月了.过去,我时常会反省着, ...

  5. Android 开发之修改 app 的字体大小(老人模式)

    新的需求(可参见 微信和QQ改变字体): app 字体不随着系统字体大小变化 app 设置中有设置字体大小的开关,变大以后,整个 app 字体变大. 解决方案:(字体需要采用 dp 为单位,不能使用 ...

  6. activiti工作流之Eclipse的Eclipse BPMN 2.0 Designer无法安装或者(安装后无法重复打开*.bpmn)

    1.首先.既然学习activiti工作流,连官网和相应文件都没有下载就说不过去了 这是官网下载:http://www.activiti.org/download.html 2.对于下载后的activi ...

  7. 【Unity】8.4 扩展UnityGUI

    分类:Unity.C#.VS2015 创建日期:2016-04-27 一.简介 有很多种方法可以补充和扩展 UnityGUI 以满足您的需求.你可以混合和创建控件,并且可以有多种方法来规定用户 GUI ...

  8. 【Unity】6.8 Quaternion类(四元数)

    分类:Unity.C#.VS2015 创建日期:2016-04-20 一.四元数的概念 四元数包含一个标量分量和-个三维向量分量,四元数Q可以记作: Q=[w,(x,y,z)] 在3D数学中使用单位四 ...

  9. 深入理解Linux内核-访问文件

    文件的访问模式:1.规范模式:2.同步模式:3.内存映射模式:4.直接I\O模式5.异步模式: 内存映射模式:1.共享型:在线性区页上的任何写操作都会修改磁盘上的文件:而且这种修改对映射了同一文件的所 ...

  10. 菜鸟学Java(六)——简单验证码生成(Java版)

    验证码大家都知道,它的作用也不用我多说了吧.如果不太清楚请参见百度百科中的解释,一般验证码的生成就是随机产生字符(数字.字母或者汉字等),然后将这些生成的字符绘制成一张图片,再在图片上加上一些干扰元素 ...