【问题标题】:Error message "App.exe" stopped working错误消息“App.exe”停止工作
【发布时间】:2013-12-07 20:30:51
【问题描述】:

我制作了一个应用程序,并希望将其分发给其他人以进行测试。我已经使用InnoSetup 进行了设置。该设置运行良好,并完美地创建了所需的目录和快捷方式。但问题是,只要我点击“myApp.exe”文件,而不是打开文件,就会弹出一条错误消息说 myApp.exe has stopped working. Windows is checking for a solution to the problem
我已确保在用户的计算机上安装了正确的 .Net 框架。从过去的 4 天开始,我一直试图摆脱这个错误,但无法摆脱它。当出现此错误消息时,我在 Windows 7 上创建了该应用程序并尝试在 Windows 8 上运行它。早些时候,我使用 Visual Studio 2012 中的“Install Shield”项目进行了设置,并且该设置在 Windows 7 和 8 中都能正常工作。不幸的是,除了我的计算机之外,我无法让一台运行 Windows 7 的计算机来检查是否InnoSetup 安装程序是否在 Windows 7 上运行。 “应用程序”代码中没有任何内容会阻止它在 Windows 8 上运行。
我在某处读到,当您以管理员身份运行“应用程序”时,会弹出“确切”错误消息。但这也没有发生。可能的原因是什么?
我怎样才能得到准确的错误信息,从而知道为什么会这样?

【问题讨论】:

  • 您是否使用了第三方库,这些库未包含在您的二进制文件中?
  • 不,事实并非如此。我没有使用任何第三方库
  • 检查事件日志:在开始屏幕上,键入“事件查看器”,点击或单击以启动它,然后在左侧的树中,单击“Windows 日志”>“应用程序”。在那里你应该找到实际的错误。
  • 您还可以使用Application.ThreadException-event 来显示自定义错误消息。
  • @jeroenh 谢谢我会试试的

标签: c# deployment windows-installer inno-setup


【解决方案1】:

找到您的 Main 方法(通常在 Program.cs 中)并将以下内容添加到其中:

try
{
    // put all the existing code here
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString(), "Unexpected exception");
}

如果是运行时异常而不是缺少 DLL,这应该会向您显示错误。

除了缺少 DLL 之外,最可能的问题是您尝试使用相对路径从应用程序目录加载文件。默认情况下,由 Inno 运行的应用程序没有指定工作目录,因此这将失败。您可以通过指定工作目录或(首选)通过将应用程序与应用程序的路径内部组合(通过Application.ExecutablePath 或类似方式)将它们更改为使用完整路径来解决此问题。

【讨论】:

  • 感谢异常部分,我会调查一下,但是你能告诉我为什么在我的 PC 中使用 InnoSetup 安装它时没有引发任何异常
  • 这表明它实际上是一个缺失的库(您的 PC 上确实有)。检查您的应用程序的依赖关系。
猜你喜欢
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-24
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
相关资源
最近更新 更多