1

我必须制作一个 Inno Setup 脚本才能将带有正斜杠而不是反斜杠的 {app} 路径写入注册表

[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType:string; ValueName:"APP_HOME"; ValueData:"{app}"; Flags: preservestringtype

如何使用正斜杠获取 {app} 值(默认情况下使用反斜杠编写它)?

4

1 回答 1

2

您必须为{code:}脚本常量创建自定义函数,例如:

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; ValueName: "APP_HOME"; ValueData: {code:GetRegistryData}; Flags: preservestringtype

[Code]
function GetRegistryData(Value: string): string;
begin
  Result := ExpandConstant('{app}');
  StringChangeEx(Result, '\', '/', True);
end;
于 2013-08-16T08:55:58.280 回答