2009-12-01 66 views
0

我注意到,在我的Windows 7系統上,常見appdata文件夾中有許多子文件夾和hkey_local_machine下的許多軟件。我想知道如何在安裝軟件時創建條目,以及使程序能夠訪問它們。.msi常見應用程序數據本地計算機註冊表

.msi文件中是否有這些設備可以使這些文件夾和註冊表條目建立適當的權限?

回答

0

關於註冊表項,MSI文件中的「註冊表」表創建註冊表項。

關於常見的AppData文件夾,此屬性爲:「CommonAppDataFolder」是MSI文件用來引用它的內容。

關於權限,「Lock Permissions」表負責設置權限。

理論上,文件/註冊表設置的所有者/創建者是顯而易見的,您可以在Orca的內部查看相應的MSI文件以查看它是如何創建的。否則,您可能必須啓用審覈功能,或使用來自Sysinternals的RegMon/FileMon等工具來查看誰在創建條目。

+0

謝謝。我設法使用Orca添加註冊表項。沒有嘗試將文件添加到commonappdata或diddle權限。現在我還有一百多個問題,但會試圖將我自己限制在幾個問題上。 1)我不明白安裝程序如何受現存權限的影響。如果啓動安裝的用戶沒有權限執行指定的操作(創建文件或註冊表),會發生什麼情況? 2)需要這些資源的應用的常見做法是什麼?因爲ADMIN安裝看起來有點極端。要求管理員設置權限b4手或創建它們也很奇怪。 – 2009-12-02 12:20:19

+0

1)在XP和以前,嘗試將應用程序安裝到沒有寫權限的區域的非管理員用戶(例如Program Files)會導致安裝失敗。在Vista和Forward中,非管理員用戶可以在提升期間輸入管理員的憑據,並且安裝將繼續。 2)一個常見的做法是使用MSI功能「廣告」。這允許管理員「祝福」安裝包。在非管理員用戶試圖訪問它(通過快捷方式,COM接口等)之前,軟件包不會被安裝,並且在此時安裝會確認管理員的憑證。 – 2009-12-02 16:27:39

+0

@William Leara:使用Orca,我爲hkey_local_machine添加了一個密鑰,並調整了它的保護。我從MSICREATE製作的一個簡單的.msi開始,包含一個.exe,.txt和.chm文件)。創建密鑰時,我使用了.exe的COMPONENT ID。然後,我開始了並採取了相同的行動進行了改造。我可以將轉換應用(使用orca)轉換爲.msi的新版本,但是當我重新制作.msi時組件已更改,因此現在我有一個鏈接到一個不可用組件。有什麼方法可以對現有組件進行固定引用或爲此創建新組件? – 2009-12-04 17:50:00

相關問題