经过百般查找,再加上最后的一点点小运气,终于搞定了MFC的部署安装,同时也解决了安装时提示缺少mfc140.dll的问题,记录一下,也希望可以帮到遇到同样问题的小伙伴。
参考链接:https://www.cnblogs.com/1175429393wljblog/p/8398345.html
一、打包工具下载
打包使用的VS 2017自带的工具,可联机进行下载。
打开VS2017,菜单栏—工具——扩展和更新——搜索 Microsoft Visual Studio Installer Projects
安装好重启VS2017就可以用了。
二、创建要发布的项目
网上很多都说在需要的打包的项目中,解决方案——选中项目名——右键——添加——新建项,选择Visual Studio Installer——Setup Project进行创建,如下图
但是,我的VS2017可能比较傲娇,新建项中没有Visual Studio Installer,出来是这样的:
我的方法是直接从菜单栏创建:菜单栏——文件——项目..,这样就可以选择Visual Studio Installer了,新建Setup Project,解决方案选择“添加到解决方案”,这样就创建成功了。
三、添加文件.dll等
1.创建主输出
选中application folder,在右侧空白区域,右键Add——项目输出——主输出,选中当前项目即可,配置可根据需要调整。
2.创建桌面快捷方式
选中主输出——右键——create shortcut to xxx..
3.添加并设置桌面快捷方式图标
选中application folder,在右侧空白区域,右键Add——文件...,选中对应图标,添加成功。
选中User‘s Desktop——Shortcut To xxx——右键——属性窗口——Icon——Browse,选中之前添加的图标,设置成功。也可在修改Name,改变桌面快捷方式的名称。
4.添加相应的DLL、lib
选中 application folder,在右侧空白区域,右键Add——文件...,选择需要添加的dll、lib文件。
5.在安装目录下创建启动文件
选中 User's Programs Menu,右侧空白区域——>右键——>创建新的快捷方式,选中 application folder中的 主输出。通过步骤3设置其图标和名称。
6.设置客户端安装包属性
选中项目——>属性,可设置设计者(Author)、生厂商(Manufacture)、产品名(ProductNmae)、目标平台(TargetPlatform)、版本号(Version)等。
7.设置安装环境
选中项目,右键属性,进行设置
8.添加 Merge modul
这是我的运气所在,之前做完了前7步遍选择生成安装文件,结果到别的电脑上就提示缺少mfc140.dll,如下图,
网上查了很多资料,说把缺少的dll添加到项目中,一起打包,但是在C:\Windows\SysWOW64或者C:\Windows\System32找到添加会报错。那我就想,直接将 microsoft_vc140_mfc_x86.msm 添加到项目中是不是就能打包进去了?添加方法:项目名——>Add——>Merge Module,选择提示的msm即可。嘿嘿,突然有些佩服自己的小脑袋瓜子。这么灵机一动,没想到成功了!
9.打包发布项目
项目——>生成/重新生成,添加merge module后,生成时就把mfc的dll打包进去了,完美。
还有一点注意,生成的安装文件是msi,而同级目录下的exe文件无法安装成功。不造exe文件为什么会产生,但是影响不大,可以使用msi安装部署,美滋滋!!!
乔任梁追思会 郭德纲井柏然李易峰付辛博现身30位互联网大佬,当年都上了什么大学?