日期:2014-05-17  浏览次数:21170 次

C#开发的程序无法在XP下运行
C#开发的程序exe,基于.net2.0(win7下运行良好),然后复制整个release文件夹到xp系统,在xp下点击XXX.exe无任何反应

这里的无任何反应指的是:点击exe后没有任何的报错,也没有任何的窗口一闪而过的情况等等,完全是没有任何反应

随后查询XP的操作面板,发现xp已经安装.net2.0 .net3.0 .net4.0 

随后回到win7下的vs2010开发环境,将项目改成基于.net3.5的,重新编译,再次在xp上尝试,依然没有任何反应

随后在网上下载一个.net2.0的安装包,将xp的.net2.0重新安装,重启电脑后再次尝试,依然没有任何反应

我在网上查询,有人说是图标的分辨率xp下不支持,那么我改掉了xxx.exe的图标,但是有一个vshost.exe的图标不知道怎么改,在xp下好像确实是一个不能识别的图标,但是这个应该没有关系啊?

请教各位高手了,为什么装了对应.net版本的xp依然不能运行C#的exe,而且是没有任何反应?

小弟在此谢过了!
------最佳解决方案--------------------
能捕获异常就好了,在Program.cs里加一个try catch 然后把异常throw出来 在结尾打印出来看看
------其他解决方案--------------------
不要用复制的,试着打包发布吧http://www.2cto.com/kf/201012/79607.html
------其他解决方案--------------------
release文件夹是发布出来的。里面一个MSI,一个exe文件。然后去xp上安装一下。应该没问题吧。
试试把用到的dll文件复制到system32下
------其他解决方案--------------------
电脑可能感染了360系列非法流氓软件。
------其他解决方案--------------------
引用:
电脑可能感染了360系列非法流氓软件。


360是有这个毛病。先卸载了,然后运行你要运行的程序。运行完如果你还有心情,再把360装上。
------其他解决方案--------------------
建议你重新编译成X86 形式发布试试。64位机器会遇到一些问题。
------其他解决方案--------------------
在Main函数一开始就加个MessageBox()
先确定是代码问题,还是环境问题。


或者XP上装个开发环境,调试下
------其他解决方案--------------------
看是否用了其他的分布库
------其他解决方案--------------------
查一下系统日志,看下是不是有异常
------其他解决方案--------------------
非常感谢大家的热心回复 我明天去试一下

先将program里面加上try catch

然后加进行打包发布

如果还不行,我再来向大家请教
------其他解决方案--------------------
把源程序制作成安装包吧,保证你可以用了。。
------其他解决方案--------------------
工程属性里面改成X86,解决问题!
------其他解决方案--------------------
就像我用VS2010 C#开发的一个软件,拿去时运行正常,突然有天接到电话说帮过去看看软件无法打开,过去看提示初始化失败问题,查该问题应该是木马病毒引起,用金山杀毒杀出有好几个,可是杀毒重启后桌面无法显示了,这下可急坏了同事,同事说再也不敢杀毒了,只要电脑能用就行,就这样......无语.
------其他解决方案--------------------
非常感谢大家的回复

我的问题我已经找到了答案;

程序没有任何问题,不能运行是因为我在初始化的时候调用了第三方的dll动态链接库,但该dll的驱动程序却没有安装在xp的电脑上;

于是我先在xp上安装了该驱动,随后直接exe就可以运行了

结贴