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