2013-01-15 59 views
5

我使用InstallJammer安装程序创建我的应用程序。我想在继续卸载过程之前检查应用程序是否正在运行。检查应用程序的运行 - InstallJammer

set program <%Company%><%AppName%>.exe 
set pids [twapi::get_process_ids -name $program] 
foreach pid $pids { 
    catch {twapi::end_process $pid -force} 
} 

上面给出的是我试过的TCL脚本。但脚本不会返回任何值。如何解决这个问题。?

+0

这个脚本试图杀死任何正在运行的应用恰好有一个匹配的名称;严格来说,它不检查任何东西,所以没有任何回报。我想说这应该是从事物的调用称为“end_process” ...... – kostix

+0

在另一方面明确,目前还不清楚你所说的“返回值”的意思 - 是如何应该可以访问你的来电者的代码值?参考该“InstallJammer”文档的相关内容可以帮助理解这些要求。 – kostix

+1

@kostix是否有任何方法来检查应用程序是否正在运行?在搜索这个问题时,我得到了上述脚本作为解决方案。 http://installjammer.com/forums/viewtopic.php?f=5&t=2261 – Gapchoos

回答

2

我假设你正在使用的execute script condition,而它可能会更容易只使用script condition

如果使用脚本条件,只需使用EXPR由kostix给出:

[llength [twapi::get_process_ids -name <%Company%><%AppName%>.exe]] > 0 

如果你真的要使用执行脚本的条件,那么就换everyting在expr {},你会得到相同的结果脚本条件(或:脚本条件只是expr {在开始和}在执行脚本条件结束)。

expr {[llength [twapi::get_process_ids -name <%Company%><%AppName%>.exe]] > 0} 
相关问题