【问题标题】:Why does my MFC application get uninstalled without giving a message even when it is open/running?为什么我的 MFC 应用程序即使在打开/运行时也会被卸载而不给出消息?
【发布时间】:2013-11-20 15:32:07
【问题描述】:

我有一个 MFC 应用程序。当我想在它打开/运行时卸载它时,程序会顺利卸载而不会产生警告消息(例如:程序正在运行,请在继续卸载程序之前关闭它)。该问题出现在全新的 Windows 8 操作系统中。它不会出现在安装了 Microsoft Visual Studio 2010 的 Windows 7 操作系统中。谁能帮我?提前致谢。

【问题讨论】:

  • 从我的角度来看,这是一个错误,安装程序没有询问程序何时运行。而且 Windows 8 的行为是正确的。
  • 感谢您的回答。您是否表示我使用 MFC 创建的安装程序有错误?那我应该怎么做才能避免这个问题呢?
  • 不!我不认为它是安装程序。可能在 MSI 内核中,程序在 Win7 上没有对话框就关闭,并且 Win8 询问...我没有看到任何可以使用安装程序控制的选项。

标签: c++ mfc runtime uninstallation


【解决方案1】:

正如我在评论中所说:我认为 Win8 在要求关闭正在运行的应用程序时表现正确。

解决方法:在 MSI 安装程序中编写您自己的自定义操作。此自定义操作可以搜索您的应用程序并向其发送消息以强制其关闭...也许 WM_CLOSE 就足够了,如果您提供了自己的 window class name 来查找它很容易。

【讨论】:

  • 谢谢。我想我应该去编写一个自定义应用程序。
  • 不是自定义应用程序。我的意思是您的 MSI 中的自定义操作:msdn.microsoft.com/en-us/library/aa368066(v=vs.85).aspx
  • 我按照正常程序在 Visual Studio 中创建了安装程序。我运行我的应用程序。任务管理器正在显示它。我让它保持打开/运行,然后去卸载应用程序。但是,Windows(未安装 Visual Studio)不显示文件使用对话框。我已经在未安装 Visual Studio 的全新 Windows 7 机器中检查了该问题。问题仍然存在。所以这不是不同操作系统的问题。在 Visual Studio 安装过程中是否安装了任何额外的包来帮助显示文件使用对话框?
猜你喜欢
  • 2019-07-28
  • 1970-01-01
  • 2020-08-04
  • 2015-12-03
  • 2021-10-07
  • 1970-01-01
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多