Winforms Cefsharp应用通过Vs Installer安装,应用崩溃,缺少文件错误
1、winforms cefsharp应用通过Vs Installer做成安装包后,安装程序后,启动程序导致应用崩溃,提示System.IO.FileNotFoundException
应用程序: WinformsCustomInstall.exe Framework 版本: v4.0.30319 说明: 由于未经处理的异常,进程终止。 异常信息: System.IO.FileNotFoundException 在 WinformsCustomInstall.Program.Main(System.String[])
原因大致是通过Vs nuget安装CefSharp后,并生成项目时,CefSharp会写入项目所需的关键依赖项,这是CefSharp自己完成的,而通过Vs Installer生成安装包时,则需要手动添加Cef的关键依赖项.
具体参考官方的Issue https://github.com/cefsharp/CefSharp/issues/1428
加载Cef所需的文件依赖参考官方的文档 https://github.com/cefsharp/CefSharp/wiki/Output-files-description-table-(Redistribution) 按照表格的内容将所有的依赖项加入到Vs Installer的Application Folder中即可
2、手动拷贝目标程序中所有的dll到Vs Installer的Application Folder中容易和Detected Dependences产生冲突,所以如果在Detected Dependences已经存在的程序集不需要重复考入到Application Folder中,这也是Cef 应用通过Vs Installer容易产生的问题.