删除注册表项作为安装例程的最后一步

时间:2017-02-03 14:52:13

标签: registry installer inno-setup pascalscript

与" Inno Setup"成为新手和#34; Inno Script Studio",我现在想要Reg-Delete在我的安装程序中包含的一个安装过程中创建的密钥。这意味着它应该是最后一步,因为密钥将不会在我的安装例程的早期存在。

实际上,我只缺少正确的Pascalscript语法。

我知道如何通过[Registry]部分执行此操作,但是我不知道如何将其作为最后一步。

[Registry]
Root: "HKLM"; Subkey: "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "Example"; Flags: deletekey

通过[Code]部分,我尝试将其作为最后一步,但编译器一直告诉我我的命令未知:

[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then
  begin
    Log('Installation finished. Deleting connection string.');
    RegDeleteKey(HKEY_LOCAL_MACHINE, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run', 'Example');
  end;
end;

"的 RegDeleteKey "不是现有的命令。通过查看命令,我只找到" RegQueryStringValue"," RegWriteStringValue"," RegDeleteStringValue" (不会做这份工作) - 这一切都不是我想要的。我想删除密钥,无论价值是多少。希望解决方案很简单......提前谢谢。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

尝试 RegDeleteValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run','Example');