2013-05-26 250 views
0

只是一個令我感興趣的問題,我注意到現代安裝程序(針對各種類型的程序)提醒您等到另一個安裝完成後再運行自己。通知操作系統的安裝

如何檢查/通知其他安裝人員?

使用C#或Python

回答

0

AFAIK有沒有辦法來 「找」 其他正在運行安裝程序。至少不是每個系統和每個安裝程序。唯一的好方法是使用支持Windows安裝程序的安裝程序(但也只能檢查其他正在運行的Windows安裝程序)。

一個可能的工作方式是使用安裝程序的進程名稱列表並檢查其中一個是否正在運行。
找到答案的另一種方法this的問題是檢查註冊表項(1)或使用windows api(2)。但是這兩種方式只能在windows上運行。

有關檢查進程是否正在運行的方法,可以使用python模塊psutil。其打印所有進程名的例子是:

import psutil 
for p in psutil.process_iter(): 
    print p.name 
+0

謝謝您的回答,所以要根據第二個鏈接(名爲'2')我應該更新,如果我想其他的安裝人員知道我該註冊表值安裝,他們不應該打斷?順便說一句,我只談論窗戶。 另一件事,從你的答案和它的鏈接,我怎樣才能檢查其他程序/安裝程序(這是程序...)使用我想改變的文件?以及如何讓其他程序知道我使用了特定的文件,而不應該「觸摸」它。 –

+1

我無法回答所有這些問題,但我*認爲*它應該可以簡單地創建此註冊表項(例如從Python標準庫中的http://docs.python.org/2.7/library/_winreg.html) 。要檢查文件是否在使用中,你也可以使用psutil(已經有一個問題:http://stackoverflow.com/q/11114492/2325172)。對於所有這些事情,我會建議搜索一個開源安裝程序並查看它(例如https://github.com/jrsoftware/issrc,但它是用delphi編寫的)。 – TobiMarg

相關問題