2010-05-06 43 views
0

我有從WMI類select * from Win32_Product獲得的已安裝軟件的列表。
我想拒絕某些軟件的一些用戶,像這樣的執行權:拒絕訪問爲用戶運行某些已安裝的軟件

  1. 找到path to installed software
  2. 遞歸刪除執行權

我找到的Win32_Product INSTALLLOCATION列path to installed software。但問題是Win32_Product中的所有行都沒有InstallLocation的值。我能做些什麼來克服這一點?在註冊表中有什麼地方可以找到這條路?

回答

0

一般來說,沒有。極端的情況是在USB磁盤上安裝Firefox。它不會在註冊表或Win32_Product InstallLocation中留下痕跡。

根本原因是當路徑不在註冊表中時,Win32_Product InstallLocation沒有位置。他們基本上是對同一數據的兩個觀點。

還有一個特定問題,某個產品可能甚至不需要執行權。例如,如果一個應用程序是用Perl寫的,那麼安裝的「可執行文件」可能就是一個。 pl文件。然而,創建的Win32過程將註冊爲.pl擴展的可執行文件,即Perl解釋器。