经过百般查找,再加上最后的一点点小运气,终于搞定了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安装部署,美滋滋!!!

VS2017 打包部署MFC项目详细步骤相关推荐

  1. Tomcat手动部署Web项目详细步骤

    阅读须知:文章基于Tomcat8,其它版本若有差异,请自行辨别.本文为博主原创文章,转载请附原文链接. 不借助任何IDE,这里介绍在Tomcat中手动部署web项目的三种方式: 1.部署解包的weba ...

  2. LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤;Linux+Apache2+PHP+MySQL 安装和配置

    在Apache Web服务器上部署PHPBB3网站 LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤:Linux+Apache2+PHP+MySQL 安装和配置 ...

  3. Jenkins打包部署gitee项目至阿里云ECS服务器

    原文地址:Jenkins打包部署gitee项目至阿里云ECS服务器 - BIGTREE (whwtree.com) 所需插件: Git Parameter Plug-In插件 Publish Over ...

  4. 优购商城项目 详细步骤流程

    优购商城项目 详细步骤流程 一.准备的工作 1.文档 写项目之前必须要有接口文档 准备工作接口文档是必不可少的 参考文档我们还可以参考 小程序的开发文档.阿里巴巴字体 iconfont .mdn- 2 ...

  5. 使用jenkins自动化打包部署Vue项目。详细教程。

    此教程 jenkins是直接部署到linux服务器上.服务器系统:CentOS 7.3 64位. 流程:jenkins关联码云仓库,点击立即构建,执行shell进行构建,打包,把打包后的dist目录文 ...

  6. 阿里云部署项目详细步骤

    之前自己在阿里云中部署了项目,但后来忘记了,于是最近自己搜集整合了一下如何部署项目到云中,感觉比较详细,方便大家参考 1.  先登录阿里云网站注册账号,需要购买 2. 购买好之后登录阿里云控制台.需要 ...

  7. Vue项目打包部署到Nginx服务器步骤总结

    前期准备工作: 1. 准备一台服务器: 2. 根据服务器的系统环境安装配置Nginx; 3. 了解Nginx的配置文件,了解常用的linux系统操作命令 4. 进行Vue项目的打包部署 因为我只是单纯 ...

  8. Vue项目转apk打包成手机APP详细步骤

    第一步: assetsPublicPath:' / ' =====> 替换成 assetsPublicPath:' ./ ' 第二步: 终端输入npm run build 打包项目 生成 dis ...

  9. docker 打包部署 python项目_Docker如何部署Python项目的实现详解

    Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. 在本篇中,我将介绍如 ...

最新文章

  1. 老鼠之Atlas之旅(一):Atlas官方站点
  2. 如何进行手机web远程调试——chrome beta
  3. linux java mysql 乱码_Linux下MySQL的字符集乱码问题总结
  4. 关于发邮件报错535 Error:authentication failed解决方法
  5. python java正则表达式_java 正则表达式
  6. GridView控件 Reapter控件 DataList控件 的区别和用法
  7. MTK6589反向修改拼包法操作流程
  8. 了解一下银行科技信息岗
  9. VB6.0代码窗口不支持鼠标中键操作滚动条解决方法
  10. partio 配置踩坑
  11. 关于MovieClip类的对象
  12. GBASE应用 | “天擎”出鞘 GBase 8a助力气象行业进入大数据时代
  13. Redis从精通到入门——数据类型Zset实现源码详解
  14. android 播放一段音效,android 之使用SoundPool播放音效(Duang~)
  15. [新手踩坑]k8s部署遇到的问题及可参考的解决办法
  16. 水印去除(基于nosie2noise优化 代码+模型)
  17. window10如何开启telnet
  18. 爬虫——网站模拟登录
  19. 联合循环—05(GIS系统的主要电气设备)
  20. ip地址转换数字函数 iton_c# – RabbitMQ CreateConneciton问题 – 在一个应用程序中运行,但在另一个应用程序中运行...

热门文章

  1. 如何有效进行回顾会议(上)?
  2. 林夕给陈奕迅写的三首经典粤语歌解析,其中的《人来人往》被誉为粤语词作巅峰...
  3. 【PHP】 php深复制和浅复制
  4. Building wheel for opencv-python (pyproject.toml)卡住,解决方案(已解决)
  5. 索引图像,RGB图像,灰度图像,二值图像
  6. 【LATEX图片】多张图片混合排版
  7. DevExpress LookUpEdit 增加清空按钮
  8. 一图了解最新中小型企业数字化转型政策
  9. Apache的order、allow、deny
  10. Android单点登录,互踢下线代码实现