0

我的应用程序(使用 C#.net 开发)现在打开,我卸载了,InstallShield 给出消息说明应用程序已经打开以及是否真的要关闭应用程序。选择“忽略”继续卸载。某些文件和应用程序的 exe 未关闭。如何在卸载时通过 installshield 关闭它们。或者我必须设置一些属性。我知道在卸载时添加自定义操作可以终止该过程,但 installshield 不应该这样做吗?

4

2 回答 2

0

如果您的目标是重新启动打开的应用程序而不支持“忽略”选择,您可以考虑将“REBOOT”属性设置为“Force”。这将要求该用户重新启动系统,从而达到您想要的结果。

于 2009-06-03T04:07:49.320 回答
0

如果您的项目类型是 InstallScript MSI 或它支持 Installscript,我更喜欢为此编写代码,例如:

export prototype _Server_UnInstalling();
function _Server_UnInstalling()
STRING Application, ServiceName;
begin    
   //application name 
    Application = "Demo";
    MessageBox("In _Server_UnInstalling",INFORMATION);
    //Check whether application is running or not.
    if ProcessRunning( Application ) then
        MessageBox("Demo is running",INFORMATION);
        //Close server Application 
        ProcessEnd(Application);
    endif;                          

    //if application is having service at the background then 
    ServiceName = "Demo Server";
    //Uninstall the server windows services on uninstallation.
    ServiceRemoveDuringUninstallation(ServiceName);

end;

上面的例子给出了框架,你需要实现ProcessRunning、ProcessEnd 和 ServiceRemoveDuringUninstallation方法的逻辑,你可以参考 Installshield help doc 他们给出的文档以及源代码

希望这可以帮助...

于 2009-10-12T12:56:18.157 回答