Window 安装Shield 2009 Premier,然后卸载&x27;t关闭进程/gui
我的应用程序(使用C#.net开发)已打开,现在我卸载,InstallShield会显示消息,说明该应用程序已打开,以及是否确实要关闭该应用程序。选择“忽略”继续卸载。应用程序的某些文件和exe未关闭。如何在卸载时通过installshield关闭它们。或者我必须设置一些属性。我知道在卸载时添加自定义操作可以杀死进程,但不应该安装StutsFor吗? < P>如果你的目标是重启打开的应用程序而不遵守“忽略”的选择,你可以考虑将“重启”属性设置为“强制”。这将要求该用户重新启动系统,从而获得所需的结果。如果您的项目类型是InstallScript MSI或它支持InstallScript,我更愿意为此编写代码,例如:Window 安装Shield 2009 Premier,然后卸载&x27;t关闭进程/gui,window,installshield,uninstallation,Window,Installshield,Uninstallation,我的应用程序(使用C#.net开发)已打开,现在我卸载,InstallShield会显示消息,说明该应用程序已打开,以及是否确实要关闭该应用程序。选择“忽略”继续卸载。应用程序的某些文件和exe未关闭。如何在卸载时通过installshield关闭它们。或者我必须设置一些属性。我知道在卸载时添加自定义操作可以杀死进程,但不应该安装StutsFor吗? < P>如果你的目标是重启打开的应用程序而不遵守“忽略”的选择,你可以考虑将“重启”属性设置为“强制”。这将要求该用户重新启动系统,从而获得所需的
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和ServiceRemoveDuringInstallation方法的逻辑,您可以参考Installshield帮助文档以及源代码
希望这有助于 一,。安装程序应用程序(运行Setup.exe),2。运行程序,3。现在卸载程序(程序仍处于打开状态),4。卸载警告应用程序已打开,5。继续卸载选择忽略,6卸载完成,7。现在结果是exe和一些DLL没有被删除,应用程序仍然打开!!!我的观点是,在卸载过程中,应用程序不应该自动关闭,并且通过卸载删除相关的dll和exe文件吗?如果应用程序未打开,卸载将删除安装期间复制的所有文件/目录。这是MSI安装程序还是InstallScript安装程序?如果是MSI,您是否正在使用重新启动管理器?重新启动后文件是否会被删除?在MSI中,它的工作方式是a)MSI检测到它想要删除的打开文件;b) 它使用重启管理器来关闭它们;c) 如果失败,它将提示您重新启动,并将在下次重新启动时删除它们。