ITPub博客

首页 > 应用开发 > .net > .NET桌面程序(WINFORM或WPF)的部署

.NET桌面程序(WINFORM或WPF)的部署

.net 作者:03ngnntds 时间:2019-04-26 10:21:41 0 删除 编辑

目前的WIN7操作系统自带了.NET3.5,用户基数比较大,后面的WIN8,WIN10的自带.NET版本都不一样。WINDOWS SERVER操作系统默认的.NET是不启用的,需要手动启用.NET组件。由于桌面程序很少有在服务器系统上运行的,所以不考虑SERVER系统。

在开发前端桌面程序时,以前的前端程序很多会用MFC开发,或者基于MFC的界面库进行开发,好处是不需要关心操作系统,可以直接运行。也有通过DUILIB、SOUI等基于DirectUI的界面库进行开发,这种比MFC更灵活,界面可以做的更炫,其它的比如用QT或者WTL等的也比较普遍。

相对来说,开发最简单的方法是用C#基于WPF或者WINFORM来开发,撸代码比较快。但是这种开发有个问题,就是.NET的兼容性问题。如果安装包要附带一个.NET,这会导致部署很麻烦甚至有时候会失败。

因为现在XP操作系统很少有用的了,如果有的话,那只能是让它装上.NET4.0了(XP最多支持到.NET4.0,为什么不是让用户安装.NET3.5,因为3.5的安装包太大)。

说了这么多,开始实际说下部署办法。由于WINDOWS VISTA版本没实际测过,这个你们自己考虑测试吧。

一、首先考虑你的程序要不要在XP上跑,如果需要的话,安装包在安装过程中去检测下用户是否安装了.NET,如果没装,则提示用户安装.NET,或者直接安装包附带一个.NET4.0的安装包自动运行。

二、如果不想兼容.NET,只想在WIN7或以上版本运行,那么基于.NET3.5来开发WINFORM或WPF。在.NET3.5开发的程序,有时候界面效果和基于.NET4.0等版本效果有一定差别,需要测试。


 

三、在App.config文件里添加上如下代码

注意,startup节点要放在configuration内部的最前面。

这段配置的意思是比如你操作系统有.NET3.5和.NET4.0同时存在,则先用.NET3.5来启动程序,如果没有,则再用.NET4.0来启动程序。当然如果没.NET4.0有.NET4.5那就会以.NET4.5来启动程序。

如果你不加上面的代码,那么你基于.NET3.5开发程序,到了WIN10上会直接无法运行。

注意:这个配置文件最后要和EXE程序一起发布的,比如你的EXE名字叫HAHA.EXE,那么Config就比如HAHA.EXE.CONFIG名字。这个HAHA.EXE.CONFIG里就必须带上上面的配置,默认情况下,VS会自动输出该配置,不需要手动操作。

有个别用户的.NET3.5安装问题,会导致程序无法正常运行,这时候可以注意掉这一行,给用户安装上.NET4.0试下。

四、确保你的程序针对.NET3.5,.NET4.0,.NET4.5都能运行正常,最终可以在纯净的WIN7,WIN8,WIN10分别测试下程序,不需要额外安装.NET了。

五、因为.NET的特殊性,生成的程序最好加密处理下,不然容易被人破解,比如可以考虑开源.net混淆器ConfuserEx。

上述操作完成后,假如只是针对WIN7及以上的操作系统进行桌面程序部署,那么我们不用附带.NET,也不用用户去安装.NET,可以直接双击就能运行。

文章来源:搜索引擎大全http://www.iis7.com/b/ssyqdq/


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69911024/viewspace-2642590/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2019-02-21

  • 博文量
    79
  • 访问量
    60434