如何将注册表项保存到文件

时间:2017-01-24 12:31:43

标签: java install4j

我正在尝试使用以下API将注册表项保存到文件,但保存失败。

String key = "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\My App";
String fileName = "myapp.reg";
WinRegistry.saveKey(RegistryRoot.HKEY_LOCAL_MACHINE, key, fileName);

注册表项代码段

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\\my app]
"DisplayName"="my app"
"DisplayIcon"="C:\\myapp\\.install4j\\installer.ico"
"UninstallString"="\"C:\\myapp\\uninstall.exe\""
"InstallLocation"="C:\myapp"
"DisplayVersion"="3.3.3"
"VersionMajor"=dword:00000003
"VersionMinor"=dword:00000003

请帮帮我。

1 个答案:

答案 0 :(得分:1)

您需要提升权限才能执行此操作。如果在“运行脚本”操作中执行此操作,请将其“操作提升类型”属性设置为“提升到最大可用权限”。必须已成功执行“请求权限”操作才能生效。

要在任何脚本中执行此操作,请执行以下代码:

context.runElevated(new RemoteCallable() {
    public Serializable execute() {
        // run registry code here
        return null;
    }
}, true);