文章目录
一、安装MVSIP扩展
在VS中,打包程序最简易的方式就是使用这个扩展啦,全称Microsoft Visual Studio Installer Project
,有两种下载方式:(如果你已经安装了请跳至【二】)
〔方式一〕官网下载
对于不同的vs版本:
选择对应的版本,点击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 Folder
—Add
—项目输出
,不用更改,直接确定即可,然后跳至【三】。 - 如果项目有
.h
等文件,先在解决方案管理器中右键主项目,就是这个
选择:
会弹出这个项目的目录,复制目录。
右键Application Folder
—Add
—文件
,将刚才的目录复制进去,Ctrl+A全选文件,点击确定,如图:
然后右键Application Folder
—Add
—项目输出
,不用更改,直接确定即可。
关于这个界面下方的
配置
选项,可以根据安装环境
三、创建快捷方式
点击Application Folder
,右边界面如图:
右键这个主输出 from *
,选择创建快捷方式:
配置为
Debug x64
、Release Win32
、Release 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
THANK YOU !