.net2.0开发的一款winform程序,在很多机器上都没有问题。但是偶尔有几台机器安装以后,一打开就提示 xxx程序已经停止工作,要求关闭程序 这样一个对话框,然后只有一个确定按钮,按了之后就关掉了。也就是说根本用不了。网上查了很久,.net下著名的paint.net也有很多人遇到这个问题,而且貌似没什么人解决。不知道这里有没有牛人帮助解决一下。

解决方案 »

  1.   

    我也遇到过,是在出现了致命错误的时候出现的.我谈谈我出现错误的原因,希望能够对你有用.我的程序在界面设计里添加了一个CrystalReportDocument,但是没有用它,所以没有注意,然后给别人用的时候,发现程序无法打开,直接要求关闭,想了好久最终才定位到了这个design.cs里自动添加的这个CrystalReportDocument对象,用到了水晶报表相关dll,而别人的机器上没有安装水晶报表,因而就报错了.所以你可能也是某些dll在偶尔的几台机器上找不到,想办法找出是哪些dll,程序中尽量多用try-catch将初始化的部分包起来,捕获下错误信息.
      

  2.   

    +日志
    +异常处理把你所需要的全部dll都打包起来,包括GAC中的。
      

  3.   

    这个一般是在程序里出现未捕获异常导致的,程序里出现未捕获异常时会触发AppDomain.CurrentDomain.UnhandledException事件,你可以在这个事件里面把异常信息记录下来。
      

  4.   


    再给你一个提示,别无视了我啊。软件环境都测试过了,就要考虑硬件环境是否有差别了。比如现在有些品牌机节省成本,没有COM口的,如果你用到了COM通讯,就会产生异常。
      

  5.   

    1、软件加日志
    2、考虑是不是软件有冲突
    我以前做的一个WINFORM,在其它机器都没问题,在WIN2003上运行就不可以,因为2003上安装很多软件
      

  6.   


    怎么觉得像是Vista或更高版本Windows下的错误啊
    楼主有没有让用户使用兼容模式来用这个软件??如兼容到Windows XP SP2/3
      

  7.   

    没装Framework软件就会装不上。打了安装包的。
    具体看www.5dfly.cn