2014-03-05 83 views
-1

我想在使用高級安裝程序安裝新加載項之前檢查進程是否正在運行。爲了做到這一點,在自定義操作中,我選擇了檢測進程並放置了我想要停止的進程。我用AI_PROCESS_STATE運行或停止。但是現在我不知道該如何停止安裝,如果它正在運行,或者至少顯示一條消息,告知在繼續之前關閉該安裝。如果檢測進程正在運行,請停止安裝

有像顯示消息框的選項,但如果我把它們,他​​們總是出現。我不知道如何讓AI_PROCESS_STATE的值爲Running。

回答

0

這裏有幾個問題:

一般的方式做,這是調用自定義操作DLL,它尋找的過程中,並設置一個安裝財產,如果正在運行的進程,那麼你可以失敗的安裝與類型19自定義操作和您自己的錯誤消息。運行一個進程並不會給你一個很好的方法來將值返回到安裝中,這樣你就可以顯示一條錯誤消息。

但是,獲取進程列表需要提升,默認情況下在安裝開始時並未提升。

你確定你沒有發明問題嗎?用戶爲什麼要關閉該過程?用戶友好的方法是註冊您的加載項,並告訴用戶他們可能需要重新啓動應用程序,然後纔會顯示新的加載項。

+0

問題在於,有時即使您關閉了powerpoint,它仍會繼續在後臺運行。所以,當我向客戶發送更新時,他們會安裝它們,但仍然在使用舊的加載項。所以我想確保當他們安裝一個新的加載項時,他們正在使用新的加載項。 –

+0

海事組織,如果是我,我會說我決定使用新加載項時取決於我,並且在甚至允許安裝開始之前強制用戶關閉PowerPoint是不友好的。您需要提升以枚舉進程的事實也需要用戶在某個時候獲得管理員權限。如果您希望將加載項提供給受限用戶,請爲每個用戶安裝它,並且不需要管理員權限。無論如何,我相信Office是基於用戶的,而不是基於系統的。 – PhilDW

相關問題