2009-07-02 73 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版本。在较新的版本中,许可系统比以前复杂得多。