【问题标题】:CAB Uninstaller fails to remove running programCAB 卸载程序无法删除正在运行的程序
【发布时间】:2019-02-12 02:35:01
【问题描述】:

我维护一个在 Window Mobile 6 上运行的 .NET 3.5 CF 应用程序。当卸载程序运行时,有什么方法可以终止应用程序的进程?

目前,如果用户在尝试从“设置”>“删除程序”卸载软件之前没有“正确”退出该软件(以便该进程仍在运行),他们会收到一条错误消息,指出无法正确卸载该软件。

我想让卸载程序在卸载期间终止正在运行的进程以防止这种情况发生。但我似乎根本找不到操纵卸载过程的方法(自定义操作等)。

如果有帮助,我们正在使用 SmartDevice Setup 安装程序项目进行安装。

【问题讨论】:

    标签: windows-mobile uninstallation


    【解决方案1】:

    Microsoft 支持使用 setup dll。此 DLL 必须实现 4 个回调。 Windows CE/Mobile 安装程序/卸载程序将在安装和卸载期间调用这 4 个回调。

    安装回调是 InstallInit 和 InstallExit,卸载回调是 UninstallInit 和 UninstallExit。将使用随 Windows CE/Mobile SDK 提供的头文件 ce_setup.h。

    我建议使用 Uninstall_Init 并在其中杀死要卸载的可执行文件。

    https://github.com/hjgode/win-mobile-code/blob/master/iKill2/locktaskbar.h 是可能的终止函数的代码示例,请参阅 KillExeWindow。

    参考: https://msdn.microsoft.com/en-us/library/aa924308.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 2018-09-22
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      相关资源
      最近更新 更多