2013-04-25 32 views

回答

10

您必須通過HKEY_USERS下的所有不同用戶,這需要提升權限。並沒有捕獲任何尚未創建的用戶。這只是錯誤的方法。

執行此操作的方法是在安裝時將默認值添加到HKLM下的相應密鑰。當您的程序嘗試從註冊表中讀取時,它首先在HKCU中查找,如果您的密鑰不存在,它會將相應密鑰HKLM中的信息複製到HKCU中的密鑰。

安裝程序的一般規則是,它們不應該依賴由用戶運行,該用戶隨後將使用已安裝的程序。當然,在公司設置中,程序通常安裝在永遠不會運行正在安裝的程序的用戶帳戶下。

+0

注意。就我而言,我確實在本地機器上找到了一個「等效」的密鑰,這樣我就可以做我需要的東西,但我仍然想知道是否有辦法。 – 2013-04-27 14:05:12

+0

「做到這一點的方式是...」 - 工作正常,但用這種方法卸載應用程序的正確方法是什麼? – Paul 2013-11-09 11:57:51

-1

不,沒有辦法做到這一點。

想象一下,在這種情況下:您安裝了應用程序,然後創建了一個新的用戶帳戶。如何在安裝過程中將註冊表項添加到此新帳戶?


或者唯一的方法就是當用戶啓動你的應用程序。這是您的應用程序在首次啓動時使用默認值創建密鑰。

7

在某些情況下,Active Setup可能是解決方案。

它通過向版本號添加一個密鑰到HKLM \ SOFTWARE \ Microsoft \ Active Setup \ Installed Components \%包名稱%。當用戶登錄Windows時會檢查此位置,並將其與HKCU \ SOFTWARE \ Microsoft \ Active Setup \ Installed Components \%包名稱%進行比較。如果它丟失或更低的版本,那麼它將運行HKLM \ SOFTWARE \ Microsoft \ Active Setup \ Installed Components \%包名稱%\ StubPath中設置的任何內容。

你可以做一些定製的東西,這個方式,例如我用它來添加一定腳本(映射網絡驅動器)的 HKEY_CURRENT_USER \軟件\微軟\的Windows \ CurrentVersion \ Run中 以下方式:

REG ADD 「HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\ Active安裝\安裝 組件\ MapDrive」/ v 「版本」/ d 「1」/噸REG_SZ/F

REG ADD 「HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Active Setup \ Inst 「\ Drive」\ d「C:\ map」,然後單擊「確定」。CMD「/噸REG_DWORD/F」/F

這裏會發生什麼:

  • 當用戶在下次登錄,活動設置檢查是否有一個字符串版本與在大於或等於1的值註冊表下的鍵 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Active Setup \ Installed Components \ MapDrive。 沒有,所以它創造它,並且還經營着第二REG ADD命令,還增加了一個字符串值C:下HKEY_CURRENT_USER \軟件\微軟\的Windows \ CurrentVersion \ Run中
  • \ map.cmd
  • 它只發生一次,因爲在每次連續登錄時,Active Setup都會發現HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Active Setup \ Installed Components \ MapDrive現在有一個版本在它下面。

聽起來很複雜,但是一旦你弄明白了就很有意義,而且非常有用。

http://wpkg.org/Adding_Registry_Settings#Adding_entries_to_HKCU_for_all_users

2

這是我的過程,因爲我目前在Windows 7

  • 查找重點工作/你要的HKCU下在註冊表中,導出它/他們。

  • 現在右鍵單擊HKEY_USERS鍵並選擇加載配置單元。瀏覽到C:\ Users \ Default並選擇NTUSER.DAT。將您的喜好命名爲蜂巢(例如NAMEHERE)。

  • 在導出的REG文件替換的 [HKEY_CURRENT_USER \ 所有實例 [HKEY_USERS \ NAMEHERE \ (或任何你叫你的蜂巢) 並保存文件

  • 雙擊REG文件合併它

  • 突出顯示NAMEHERE鍵並選擇卸載配置單元。

現在對於任何新的配置文件,他們獲得這些密鑰。現有的配置文件不會如此,所以如果您使用預先存在的配置文件登錄,就不會看到它的工作。如果你想刪除配置文件,我發現最簡潔的方法是右鍵單擊計算機,選擇屬性,高級系統設置,然後選擇用戶配置文件下的設置。突出顯示要刪除的配置文件並選擇刪除。

看來這並不是一直工作。我在這裏尋找關於爲什麼這不起作用的信息,我試圖在 HKEY_CURRENT_USER \ Software \ Classes \下添加密鑰,但直到現在這個過程一直運行。如果我明白爲什麼不起作用,我會添加一個註釋 - 我目前想知道是否必須通過用戶上下文中的策略添加它。

相關問題