[Setup]
DefaultDirName={reg:HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{{3D4504EF-5B46-483E-BE1E-CC17C4A0BFFA%7d,InstallLocation}/
能够编译完成,但是汉化补丁还是找不到原文件的路径,我想问题出在以下脚本中红色部分:
[Code]
function InitializeSetup(): boolean;
begin
result:= true;
if not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{{3D4504EF-5B46-483E-BE1E-CC17C4A0BFFA} )then
begin
result:= false;
MsgBox('原文件未安装,请先安装原文件',mbInformation, MB_OK);
end;
end;
[Setup]
DefaultDirName={reg:HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{{00000001-4FEF-40D3-B3FA-E0531B897F98},InstallDirectory|{pf}/yyyy}
{reg:HKxx/SubkeyName,ValueName|DefaultValue}
插入一个注册表值。
HKxx 指定注册表根键;查阅 [Registry] 段帮助文档获取可用根键列表。
SubkeyName 指定要读取的子键名。
ValueName 指定要读取的值名;如果你想读取键的“默认”值,将 ValueName 留空。
DefaultValue 确定在指定的注册表值不存在,或不是一个字符串类型的值 (REG_SZ 或 REG_EXPAND_SZ) 时要插入的字符。
如果你想在常量内部包含一个逗号、竖条 (“|”),或括弧后半部 (“}”),你必须通过“%-encoding.”先用一个“%”字符然后跟随它的两上数字的十六进制代码替换,从而避开它。逗号是“%2c”,竖条是“%7c”括弧后半部是“%7d”。如果你想实际使用“%”,使用“%25”。
SubkeyName,ValueName 和 DefaultValue 可以包含常量。注意,你不需要将常量中的括弧替换成上面所说的字符;上面所说的括弧后半部只在使用于其它地方时需要替换。
示例:
{reg:HKLM/Software/My Program,Path|{pf}/My Program}