CAB卸载程序无法删除正在运行的程序

时间:2018-09-06 19:06:24

标签: windows-mobile uninstaller

我维护一个在Window Mobile 6上运行的.NET 3.5 CF应用程序。当UNINSTALLER运行时,是否有任何方法可以杀死该应用程序的进程?

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

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

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

1 个答案:

答案 0 :(得分:0)

Microsoft支持使用安装dll。该DLL必须实现4个回调。 Windows CE / Mobile安装程序/卸载程序将在安装和卸载过程中调用thos 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