vc++打包发布自带依赖dll
问题
相信很多人都遇到过vx项目打包发布出去之后,用户安装运行提示缺少mfc140u.dll(数字是vc版本决定的),然而奇怪的是很少有人讨论具体怎么解决这个问题
我尝试过的办法
静态发布
编译时候选择静态方式使用mfc,all done,打包之后的程序自带依赖
问题:
某些依赖组件只有dll,没有lib。别问我为什么,这里不做讨论。这时候就没办法使用静态方式的mfc了
安装启动vc发型包安装
innosetup打包安装程序时候,打包vc发型包,安装过程中进行安装。
[Files]
Source: "D:\dep\mfc140u.dll"; DestDir: "{app}"; Flags: ignoreversion
[Run]
;Filename: {tmp}\vc_redist.x86.exe; Parameters: "/q /passive /Q:a /c:""msiexec /q /i vcredist.msi"""; StatusMsg: "Installing VC++ 2017 Redistributables..."
问题:
装完要重启,不然找不到mfc140u.dll
安装包体积大
查看dll依赖,innosetup制作安装包时候拷贝
查看依赖
> cd c:\Program Files (x86)\Microsoft Visual...