为什么卸载要求关闭未打开的应用程序?

时间:2013-04-24 11:00:05

标签: nsis uninstall findwindow

从资源管理器启动 uninstall 时,会弹出一条消息,要求用户关闭该应用程序。

但是,应用程序未运行。 FindWindow 看到用户看不到什么?

在Windows95或使用Win95界面的系统上不会发生这种情况。

从开始菜单中的卸载图标卸载时,不会发生此问题。

2 个答案:

答案 0 :(得分:0)

程序仍然在后台运行。看看Process Explorer或Windows任务管理器,你可能会认出它

答案 1 :(得分:0)

在Win95 GUI中,资源管理器窗口的标题包含完整路径 - 例如C:\BuildScripts - 而在更高版本(我们的QA使用的是Win7和Win8)中,标题现在是文件夹名称 - 例如BuildScripts

因此,如果您的安装文件夹与产品名称相同,则FindWindow无法区分打开的资源管理器窗口和您的产品。

这就是为什么只有从资源管理器中卸载才会出现问题的原因,如果从开始菜单中的卸载图标卸载则不会出现此问题。

解决方案:

  1. 请勿对安装文件夹和产品使用相同的名称。
  2. 使用FindWindow
  3. 中的“class”参数