我在visual c#express 2008中创建了一个C#windows应用程序。我在我的PC上单独执行了exe文件,它运行得很好..现在,当我在另一台有vista的计算机上运行相同的文件时出现错误“WindowsFormapplication已停止工作”。在我的电脑上也会在5-10分钟后停止工作。我的代码问题还是其他问题?
我是这里的新手......任何帮助都会受到赞赏..
编辑.....
它使用计时器:
System.Timers.Timer timer = new System.Timers.Timer();
timer.Elapsed += new ElapsedEventHandler(startup.onTimerEvent);
timer.AutoReset = true;
timer.Interval = 60000;
timer.Start();
Application.Run();
GC.KeepAlive(timer);
它还会创建并设置一个注册表项..
答案 0 :(得分:2)
我猜这是一个权限问题。在Vista上,系统被锁定得更紧,所以如果你的程序无法获得所需的权限,它将引发异常。如果在程序开始时发生这种情况,那就是启动时出错的原因。
在您自己的计算机上,您可能需要等待5-10分钟,因为这是导致应用程序失败的另一个错误。
答案 1 :(得分:0)
你能使用第二台机器上没有的.NET版本吗?
答案 2 :(得分:0)
我同意科林的观点。当您的应用程序尝试创建注册表项时,听起来毫无疑问是一个权限问题。
你应该有一个包装器在尝试写入之前检查用户是否具有权限,或者至少在用户没有处理时处理...