2013-01-15 58 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} 
相關問題