文章目录

  • 一、安装MVSIP扩展
    • 〔方式一〕官网下载
    • 〔方式二〕在VS内置扩展商城中下载
  • 二、配置Setup Project
  • 三、创建快捷方式
  • 四、生成安装程序
  • §、问题解答
    • Q1:在其他电脑上运行时报错,显示找不到`***.dll`
      • 〔方法一〕
      • 〔方法二〕
      • 〔方法三〕
    • Q2:各种配置有什么区别
  • 更多文章

一、安装MVSIP扩展

在VS中,打包程序最简易的方式就是使用这个扩展啦,全称Microsoft Visual Studio Installer Project,有两种下载方式:(如果你已经安装了请跳至【二】)

〔方式一〕官网下载

对于不同的vs版本:

  • VS2022:MVSIP2022
  • VS2017 & VS2019:MVSIP2017
  • VS2015:MVSIP2015

选择对应的版本,点击Download按钮即可下载,下载的是一个.vsix文件,双击运行就会启动VS的扩展安装程序。

但是不知道为什么我下载的mvsip2022总是提示扩展包损坏,如果你也有这种情况请看〔方式二〕。

安装完成后,进入vs,选择扩展按钮:


选择管理扩展,选择已安装一栏,如果有这一项:

就安装成功了。

〔方式二〕在VS内置扩展商城中下载

进入vs,选择扩展按钮:


选择管理扩展,选择联机一栏,右边搜索Microsoft Visual Studio Installer Project,找到:

名称为Microsoft Visual Studio Installer Project *(其中*为vs的版本),点击安装即可,安装后需要重启vs。

下载的速度可能及——其——的慢,如果进度条迟迟不动可以考虑连手机热点下载(就是会费流量了)。

安装后一样到已安装中查看是否安装成功。

二、配置Setup Project

打开你要打包程序的解决方案,在右侧有解决方案管理器(没有的话要自行开启),如图(我这个项目是连点器):

Tips:接下来,*代表你要打包的项目的名称。

右键解决方案"*"(x个项目/共x个)添加新建项目

找到Setup Project项目

创建后如图所示:

接下来:

  • 如果你的项目简单,只有一个主程序.cpp,没有.h等依赖项,直接右键Application FolderAdd项目输出,不用更改,直接确定即可,然后跳至【三】。
  • 如果项目有.h等文件,先在解决方案管理器中右键主项目,就是这个

    选择:

    会弹出这个项目的目录,复制目录。
    右键Application FolderAdd文件,将刚才的目录复制进去,Ctrl+A全选文件,点击确定,如图:

    然后右键Application FolderAdd项目输出,不用更改,直接确定即可。

关于这个界面下方的配置选项,可以根据安装环境

三、创建快捷方式

点击Application Folder,右边界面如图:

右键这个主输出 from *,选择创建快捷方式:

配置为Debug x64Release Win32Release x64的主输出无法创建快捷方式。如果选择的是这几种配置请跳至【四】。


会生成一个快捷方式

将它拖动至左边的User's Desktop,就是这个:


就基本完成了。

你还可以有更多作法,这个User's Desktop就是待会会在用户桌面上生成的东西,Application Folder就是程序文件夹,User's Programs Menu就是在用户启动目录上生成的东西(就是任务栏最左边的那个win标点开展示的目录)。

四、生成安装程序

在解决方案管理器中右键Setup Project,选择重新生成

输出:

就说明成功了。
再次右键,选择

在打开的路径中进入Debug文件夹,这个*.msi就是安装程序了:

如果是自己安装,也可以直接在右键菜单中选择安装

给别人用的话就把*.msi发过去就好啦,不需要C++环境哦!

安装界面:


安装后,刚刚设置的快捷方式就会出现在桌面(以及别的你设置的东西)。
注意:卸载要去控制面板-卸载程序中卸载。

§、问题解答

Q1:在其他电脑上运行时报错,显示找不到***.dll

解决方法:

〔方法一〕

首先进入这个网站,搜索你缺失的dll,下载(如果是64位的话64和32位都要下载),解压,将64位的移至C:\Windows\System32\,将32位的移至C:\Windows\SysWow64\,也可参考网站上的教程。
关于这个,我还会再写一篇文章。

〔方法二〕

直接从能成功运行程序的电脑上的这两目录下分别找到丢失dll,复制过去并放到对应目录(别安反了)。

〔方法三〕

上网搜,对于一些特殊的dll可能有不同的处理办法。

Q2:各种配置有什么区别

配置有两部分:Debug|Release Win32|x64,其中win32也即x86,表示32位,x64表示64位。而Debug和Release的区别:

Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。

debug程序通常比release程序要慢,尤其是处理视频方便release要比debug快很多。在release模式对程序进行调试的时候经常会遇到变量虽然初始化了,但是在查看其值的时候却发现是一个随机的数并不是初始化的值,有时候在对变量进行监视的时候了,会出现找不到变量的情况,原因大致如下:

debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc, 而release的赋值近似于随机。如果你的程序中的某个变量没被初始化就被引用,就很有可能出现异常:用作控制变量将导致流程导向不一致;用作数组下标将会使程序崩溃;更加可能是造成其他变量的不准确而引起其他的错误。所以在声明变量后马上对其初始化一个默认的值是最简单有效的办法,否则项目大了你找都没地方找。代码存在错误在debug方式下可能会忽略而不被察觉到。debug方式下数组越界也大多不会出错,在release中就暴露出来了,这个找起来就比较难了。

只有DEBUG版的程序才能设置断点、单步执行、使用 TRACE/ASSERT等调试输出语句。REALEASE不包含任何调试信息,所以体积小、运行速度快。

摘自:vs中debug和release版本的区别

实际中要依据程序的安装环境而定,如果仅要装在自己的电脑上可以选择活动(active)


@HaohaoCppDebuger|寻兰 
2022/3/13 

-----THE END-----
THANK YOU !


更多文章

  • 无法识别的VS2019卸载教程
  • 【C++详解】C++异常处理 | 异常规格说明符
  • Win11更新或更改时间后闪白屏的解决方法

【C++】| 将程序打包成可执行文件(.exe)| Visual Studio相关推荐

  1. 将python程序打包成可执行文件exe

    我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的xx.py文件发给他,他是不能直接用的,他还需要安装python解释器,甚至还要安装我们用的那些第三方包,是不是有 ...

  2. asp打开exe执行本地程序._基于QT应用程序打包成可执行程序exe

    [本文属原创,转载请附上原文出处链接.] 众所周知QT编译好的应用程序依赖很多动态链接库,不能方便的在其他PC上使用.这里介绍QT5版本的应用程序打包成可执行EXE的方法. 首先把QT应用程序项目编译 ...

  3. python打包成可执行文件给 别人用下载_调试Python程序打包成可执行文件

    用Python编好了程序,如果给别人运行,别人的电脑不一安装了Python,而且这些源程序也不利于代码的保持.因此很有需要把Python程序打包成EXE可执行文件. 查阅了相关文章,开始了我的调试之路 ...

  4. pyqt打包成linux可执行程序,PyQtopencv图像处理(5):python程序打包成可执行文件...

    让我们稍微休息一下,来把我们目前写好的小程序打包成.exe文件. python程序打包有一些方法,py2exe和pyinstaller.其中py2exe的安装比较方便,但是打包起来比较麻烦:而pyin ...

  5. Ubuntu下将python程序打包成可执行文件

    pyinstaller是一个python代码的打包神器,它可以将python源代码打包成一个可执行文件,从而做到对外暴露可用功能并隐藏具体实现的功能.这篇博客主要想说一下在ubuntu下如何使用pyi ...

  6. python文件打包成可执行文件exe的两种方法

    python 可以做网站应用,也可以做客户端应用.但是客户端应用需要运行 py 脚本,如果用户不懂 python 就是一件比较麻烦的事情.幸好 pyton 有第三方模块可以将脚本可以转成 exe 执行 ...

  7. VS2010将程序打包(通过Microsoft Visual Studio Installer Project)

    扣扣技术交流群:460189483 1. 首先打开VS2010,然后开始新建一个打包软件的项目,按照下图中红色箭头指示位置点击[新建],然后点击[项目],如下图: 2. 然后点击[安装和部署].点击[ ...

  8. 【Java】Java GUI制作Windows桌面程序,利用windowbuilder生成界面,使用exe4j打包成可执行文件,使用Inno Setup打包成安装包,超级详细教程

    目录 1.GUI插件 1.1 下载GUI绘制插件 1.2 eclipse中配置windowbuilder插件 2.绘制GUI界面 2.1 建立一个GUI的项目 3.配置Maven项目 3.1新建一个M ...

  9. python打包为可执行文件的扩展名,Python脚本文件(.py)打包为可执行文件(.exe)即避免命令行中包含Python解释器...

    在最近的软件工程作业中用到了将Python脚本转化为exe文件这一过程,网上各种博客介绍了很多,有些东西都不完全,我也是综合了很多种方法最后才实现的,我就把这些整理出来,希望可以帮到大家~ 一.环境和 ...

最新文章

  1. php线程视频教程,通俗易懂的php多线程解决方案
  2. 流行的14个机器学习编程语言框架和工具
  3. JS脚本语言 JavaScript
  4. Cannot create a session after the response has been committed的处理
  5. Python初学者请注意!别这样直接运行python命令,否则电脑等于“裸奔”
  6. mysql text 不可指定默认值
  7. 对 Oracle 备份与恢复 的补充说明
  8. evplayer2可以多设备登录吗_这么多自助设备,你都选对投放位置了吗
  9. python+pyqt5实现24点小游戏
  10. 腾讯云主机安全防护(云镜)/usr/local/qcloud/YunJing/YDEyes/YDService 卸载
  11. Pycharm新建文件时头部模板的配置方法
  12. 调用 ogc_area 时参数个数或类型错误_Python10函数参数
  13. 附加属性来控制控件中,要扩展模块的visibility
  14. AE遮罩路径扭曲插件BOA Boa for Macv1.3.1破解版
  15. vsftpd 安装及简单配置
  16. ChinaSoft 论坛巡礼 | 移动软件工程论坛
  17. 【Codeforces Round #476 (Div. 2) [Thanks, Telegram!] B】Battleship
  18. 小白装openstack(二) 安装NTP服务
  19. 司法背记一表通(吐血整理!!)
  20. 教育家 | 吴文俊:懂数学,更懂中国

热门文章

  1. AWE2018观察:智能电视成黑马,思必驰获双料大奖
  2. 删除 状态良好(恢复分区)的磁盘
  3. c/c++图形化(1)
  4. 剑指offer习题详解——替换空格(全网最全详细解答,多种语言,多种解法)
  5. “可持续计划”,京东与华为双向奔赴背后的“三方共赢”
  6. npm--解决npm install时github的read ECONNRESET问题
  7. 微信支付同时回调多次的解决办法
  8. 工程文档CAD转换必备!在线快速将 DWF 转换为 PDF
  9. onChange和onClick的区别?
  10. CK6136数控卧式车床机械结构设计(论文+CAD图纸+开题报告+任务书+外文文献……)