2009-07-02 77 views
1

我試圖通過備份辦公室註冊表並將其還原到目標機器上使用Python來將Microsoft Office設置從一個系統遷移到其他系統。我能夠執行保存部分,但嘗試恢復目標機器中的現有設置覆蓋現有的辦公設置,我收到一個錯誤。 這是恢復該代碼: -從文件恢復註冊表

import os, sys 
import _winreg 
import win32api 
import win32con 
import win32security 

priv_flags = win32security.TOKEN_ADJUST_PRIVILEGES | win32security.TOKEN_QUERY 

hToken = win32security.OpenProcessToken (win32api.GetCurrentProcess(), priv_flags) 
backup_privilege_id = win32security.LookupPrivilegeValue (None, "SeBackupPrivilege") 

restore_privilege_id = win32security.LookupPrivilegeValue (None, "SeRestorePrivilege") 
win32security.AdjustTokenPrivileges (

    hToken, 0, [ 

    (backup_privilege_id, win32security.SE_PRIVILEGE_ENABLED), 
    (restore_privilege_id, win32security.SE_PRIVILEGE_ENABLED) 
    ] 
) 

result = _winreg.LoadKey (_winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Office",ur"Office.registry") 

print "Restored Office Settings" 

這裏「office.registry」是備份蜂巢HKEY_CURRENT_USER \軟件\微軟\辦公室

我得到WindowsError:[錯誤5訪問被拒絕。

請幫我找出我的錯誤

+0

在什麼情況下,你會得到那個異常? – 2009-07-02 14:52:05

回答

1

登記制度對創建和導入.reg的文本文件更新註冊表項內置的方法。我建議您嘗試將更改寫入.reg文件並導入。

此外,您沒有提及您使用的Windows版本。在較新的版本中,許可系統比以前複雜得多。