如何使用Inno Setup安装后修改注册表权限

时间:2017-03-10 12:34:56

标签: registry inno-setup

我需要修改所有安装后的注册表,任何想法?,谢谢。

[Registry]会话发生在第一个[Run]之前。我需要在完成所有运行后修改注册表。我在上一个setACL.exe中使用[Run]执行此操作,但我正在寻找更优雅(脚本)的内容。

1 个答案:

答案 0 :(得分:0)

虽然您可以使用CurStepChanged(ssPostInstall) step在安装结束时实施操作,但它不会对您有所帮助。 Inno Setup Pascal Script中没有设置注册表权限的功能。无论如何,你必须执行一个外部工具。

虽然您不必使用第三方实用程序(SetACL)。您显然可以使用Windows regini命令。

请参阅Change registry permissions via command line (batch file)

另一种选择是在[Registry]部分之前执行您的申请。

例如,如果您正在执行要安装的某个程序,则可以使用AfterInstall parameter执行它们:

[Files]
Source: "MyProg.exe"; DestDir: "{app}"; AfterInstall: ExecMyProg

[Code]

procedure ExecMyProg;
begin
  if Exec(ExpandConstant('{app}\notepad.exe'), '', '',
          SW_SHOW, ewWaitUntilTerminated, ResultCode) then
  begin
    Log('Executed');
  end
    else
  begin
    Log('Failed to execute');
  end;
end;
相关问题