如何防止程序可能已经在Vista中卸载了消息?

时间:2009-11-03 01:21:06

标签: windows-vista windows-server-2008 uninstall control-panel

在Vista或更新的Windows中卸载我们的应用程序(Web服务器)后,会出现一个错误消息框,显示“尝试卸载My App时出错”。它可能已经被卸载。是否要从“程序和功能”列表中删除“我的应用程序”?';并且有“是”和“否”按钮。这在我的安装程序关闭之后和系统重新启动之前发生。 (重新启动后,应用程序不再位于ARP列表中,因此不需要错误消息。)

这似乎与this重复,但消息框不同,只有在满足以下所有条件时才会发生:

  • 节目&功能控制面板已打开
  • 安装程序卸载IIS(如果我们的安装程序首先没有安装IIS,则会执行此操作,有其他网站使用它,或者用户在选择时选择不卸载它)
  • 用户同意在我们的安装程序中立即重新启动。

我已尝试将值放入HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Compatibility Assistant \下的注册表中,并保留控制面板运行的安装程序副本的路径(这是旧版安装程序)这是基于早于Windows安装程序的InstallShield技术)。虽然注册表修复程序可用于防止在执行添加/删除组件安装时出现的UAC消息(或者,使用新版本,修改安装),但它不会阻止此操作。

我需要一种方法来防止错误消息,因为正在将其视为释放阻止程序。有一些解决方法可以阻止消息(包括不卸载IIS),但是高层对解决方法不感兴趣;他们希望解决实际问题。 (下一个版本的安装程序将使用最新的技术,所以谢天谢地,这是一次性的头痛。)

编辑在做了一些实验之后,我发现当我们的安装程序退出并启动系统重启时,正在执行某些操作以使控制面板显示错误消息的是IIS的卸载。 (我们的安装程序通过带有/ norestart选项的pkgmgr.exe命令行卸载IIS - 一旦它准备就绪,我们的安装程序就会负责重新启动。)

1 个答案:

答案 0 :(得分:1)

这似乎是Windows的错误:http://support.microsoft.com/kb/2002473/