我需要修改所有安装后的注册表,任何想法?,谢谢。
[Registry]
会话发生在第一个[Run]
之前。我需要在完成所有运行后修改注册表。我在上一个setACL.exe
中使用[Run]
执行此操作,但我正在寻找更优雅(脚本)的内容。
答案 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;