VS2013打包teamtalk

=
1

VS2013打包teamtalk_第1张图片
2.
如果是第一次打包的话,需要下载Installshield,按需下载,第二次打开就是我这样了
VS2013打包teamtalk_第2张图片
3.VS2013打包teamtalk_第3张图片
4.修改图中箭头的地方,其他看你需求修改
VS2013打包teamtalk_第4张图片

5.因为teamtalk要用到.net4.5

VS2013打包teamtalk_第5张图片

6.重点!!!

首先点击addfolders将/bin目录下的data目录,Release目录和gui目录逐个添加进来,然后点击addFiles添加/bin目录下的chinese.ini,添加完成后如图所示。

VS2013打包teamtalk_第6张图片

7.在菜单栏里添加应用、添加桌面快捷方式

VS2013打包teamtalk_第7张图片

8.重点!!将.net4.5环境一起打包进去!!双击Redistritables,找到箭头2,第一次需要下载,下载完后面就变成installed locally

VS2013打包teamtalk_第8张图片

然后右键所打钩的环境,Properties,修改为如图所示,然后点击应用,确定
VS2013打包teamtalk_第9张图片
9.按图中数字步骤执行

VS2013打包teamtalk_第10张图片

10.然后右键setup1,重新生成就ok了,exe文件目录如下,双击就可以安装啦

在这里插入图片描述

补充:
当你安装完后运行时出现以下3个错误时,
VS2013打包teamtalk_第11张图片
VS2013打包teamtalk_第12张图片
VS2013打包teamtalk_第13张图片
是因为缺少文件。在你主机里找到这三个文件,然后重复第六步,将这三个文件添加到Release文件夹下,然后再重新生成就ok了。
回到项目配置,如下图:
VS2013打包teamtalk_第14张图片
我们看到,运行库这一项,包含4种选择。
废话不多说,我们简单粗暴干脆每一种都生成一个进行比较:
VS2013打包teamtalk_第15张图片

四种版本,分别起了对应的名称,多线程(MT),多线程DLL(MD),多线程调试(MTd),多线程调试DLL(MDd)。利用 Stud_PE 观察比较它们的 函数导入表 ,发现:

  1. 多线程DLL (MD)和 多线程调试DLL (MDd)两者都导入了2个MSVCxxxx.dll (黄箭头所指),但细看又不同,调试版本(MDd)导入的是MSVCP120D.dll和MSVCR120D.dll,比非调试(MD)的那个都多一个字母D。很明显这是配套给调试版的运行时库。而我们之前安装的发行包所部署的都是不带D的版本,是给Release版的程序配套使用的。
    顺便一提MSVCP代表MicroSoft Visual C++(Plus) ,MSVCR则代表MicroSoft Visual C(没有+)Runtime。 一个是C++运行时库一个是C运行时库。
  2. 多线程(MT) 与 多线程调试(MTd)貌似一样,都没有MSVCP和MSVCR函数导入,只有Kernel32.dll。同时观察这两个文件的体积,都比MD或MDd大了很多,这正是它们不需要导入运行时库DLL函数的原因,因为它们把运行时库静态编译到自己的文件中去了。这也代表着它们运行的时候不会再依赖外部的运行时库DLL文件。

想要你的exe独立运行在XP中:
1.将平台工具集选择为"Visual Studio 2013 - Windows XP (v120_xp)"。
2.将运行库选择为 【多线程 /MT 】或【多线程调试 /MTd】。
3.当然如果使用了MFC,同理的要设置【在静态库中使用MFC】

VS2013打包teamtalk_第16张图片

你可能感兴趣的:(程序打包)