我已经为Visual Studio项目创建了安装文件。这些是通过将项目输出添加到安装项目中创建的。从而包含所有的DLL文件和项目本身。安装时应用程序崩溃
当应用程序安装在用于开发它的机器上时,它工作正常。但是,当它安装在另一台安装了全新Windows的计算机上时(安装了.NET Framework 4.0),应用程序在启动时崩溃 - 它甚至不启动。
有没有人知道为什么会发生这种情况?
我已经为Visual Studio项目创建了安装文件。这些是通过将项目输出添加到安装项目中创建的。从而包含所有的DLL文件和项目本身。安装时应用程序崩溃
当应用程序安装在用于开发它的机器上时,它工作正常。但是,当它安装在另一台安装了全新Windows的计算机上时(安装了.NET Framework 4.0),应用程序在启动时崩溃 - 它甚至不启动。
有没有人知道为什么会发生这种情况?
得到什么崩溃的线索,你可以用下面的Program.cs中(或在main()函数)内的捕获处理异常:
static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
MessageBox.Show(e.Exception.Message, "Unhandled Thread Exception");
// here you can log the exception ...
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
MessageBox.Show((e.ExceptionObject as Exception).Message +
"\r\n\r\nStack Trace:" +
(e.ExceptionObject as Exception).InnerException.StackTrace, "Unhandled UI Exception");
// here you can log the exception ...
}
这些消息会给你一些线索。你也应该检查事件日志,你可能会发现一些有用的信息。
我首先看的是Windows事件日志。很有可能将崩溃的原因写入应用程序事件日志。
你可以尝试用DispatcherUnhandledException捕捉所有未处理的异常:
public partial class App : Application
{
void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
// Process unhandled exception
// Prevent default unhandled exception processing
e.Handled = true;
}
}
有了这一点,你可以添加一小段代码编写异常日志文件,或一个MessageBox。
通常是因为你没有包含所有的dll。应用报告是否有错误? –
可能是很多事情。数据库连接,无效的配置文件,缺少一个程序集。事件查看器中的外观可以回答很多问题。此外[Process Explorer](http://technet.microsoft.com/en-us/sysinternals/bb896653)在这里可能会有很大的帮助。 – Steve
你能告诉我们它是什么样的应用程序 - WPF,WinForms,控制台应用程序,网站等?根据应用程序的类型,应该有一些机制来捕获或至少确定导致应用程序崩溃的异常。 – KenD