我现在用WPF仿照playfire的客户端做了一个程序,系统性的功能都已经实现了,反而到了发布时候遇到了问题,playfire的安装包是一个单文件的exe,启动之初会检测系统需求是否安装.net framework 4.5,假如没有会自动下载并安装,而且安装过程也是跟它主程序用了一样的技术的WPF的Form,(因为用了MahApps.Metro,这个一眼就看出来的)应该是自己写的。
现在的问题是它的安装包实现原理是什么?用WPF新建一个项目,把安装的逻辑写进去。 而且它如何打包成的单文件exe并且执行安装的?
我尝试过VS2012自带的InstallShield和ClickOnce,都不能达到此效果。
附playfire客户端下载地址https://www.playfire.com/a/client
多谢各位前辈指导。
http://www.digitallycreated.net/Blog/61/combining-multiple-assemblies-into-a-single-exe-for-a-wpf-application
如果有非托管代码的话,参考下这个问答里面的
http://stackoverflow.com/questions/72264/how-can-a-c-windows-dll-be-merged-into-a-c-sharp-application-exe