以下是vs与matlab混编,打包生成.exe的详细步骤。
1、在vs2015中选择“文件”——“新建”——“项目”
2、选择“其他项目类型”——“Visual Studio Installer”——“Setup Project”——“确定”
3、左边框框有三个文件夹
“Application Floder”:应用程序文件夹,表示要安装的应用程序需要添加的文件;
"User's Desktop":用户的桌面,表示这个应用程序安装完,用户的桌面上的创建的.exe快捷方式;
"User's Programs Menu":用户的程序菜单,表示应用程序安装完,用户的“开始菜单”中的显示的内容;
4、右键"Application Floder"——"Add"——"文件"
添加的文件一般都是已经编译生成过的应用程序项目的debug目录下的exe文件,
添加后,还需要把程序的一些依赖项也加进来,例如该程序代码,还要添加matlab相关的库文件,因为主程序名叫做calMFC,所以就进calMFC文件夹里面找需要的依赖库文件,
该程序打包我还缺少这两个动态库、静态库文件,故都添加进来
因为该程序是和MATLAB混编,需留意添加MWArray.dll和安装MCRInstaller.exe,(网上说,若生成的.exe出错,尝试将平台换位x64或x86,或尝试选择debug或release中的另一个文件夹里的文件,留意其生成时间。可参考。)
注意,要选择MATLAB安装目录下的MWArray.dll文件,
以及要添加ws2_32.dll文件,我选择的是系统C:\Windows\System32\ws2_32.dll
添加后如下图所示,
5、创建快捷方式。右键主程序的exe文件,选择“创建快捷方式到...”
会出现一个快捷方式,并将它剪切粘贴到“User's Desktop”文件夹下
6. 添加卸载程序。卸载程序其实是一个Windows操作系统自带的程序(C:Windows\System32\msiexec.exe)
首先,右键“Application Folder”——“Add”——“文件”,按照路径C:Windows\System32\msiexec.exe找到卸载程序并添加进去。一般会对它重命名,改为“卸载.exe”或者“Uninstall.exe”,然后对其创建快捷方式并将快捷方式放在“User's Programs Menu”目录下。
接下来这一步很关键,设置卸载参数,告诉卸载程序应该卸载哪个,
首先,点击左侧的“Setup1”,
再点击最右侧的“属性”,
找到安装项目的ProductCode,
复制此ProductCode,粘贴到“卸载.exe”快捷方式的Arguments属性,在前面加上/x空格,如下图所示:
Arguments= “/x {678F5BF0-7FA6-4F92-B0A9-AE601CB9DDB4}”,/x后面一定要加个空格。
7.设置系统必备
右键“Setup1”——“属性”
然后点击“Prerequisites...”
选择需要的.net Framework版本以及其他依赖项,我选择的是.NET Framework 4.5(x86 和 x64)以及勾选“从组件供应商的网站上下载系统必备组件”,之前我有勾选第二个“从与我的应用程序相同....”最后没打包成功,以后有空可以多尝试几次。
再点击“确定”。
8.生成打包安装文件。右键“Setup1”——“重新生成”
然后再找到新建项目的位置,就可以看到生成的文件
再双击seup.exe,
点下一步,即可安装成功。
后来我的这个打包好的.exe在自己电脑上,以及在师兄电脑上都可以成功运行,但是在另外几个同门电脑上却无法运行,会报错说是缺少xxxx.dll或者xxxx.lib文件,后来想到原因:由于他们电脑上没有安装MCR_R2012a_win32_installer.exe,由于该程序是和Matlab混编的,所以必须安装这个exe。