我正在尝试将我的代码从 Inno Setup 5 转换为 6。我无法使以下代码工作。
我的旧工作代码是:
procedure CurStepChanged(CurStep: TSetupStep);
var
FileData: String;
begin
if (CurStep = ssInstall) then
begin
LoadStringFromFile(ExpandConstant('{code:GetSvcDir|2}\PostSteps.ps1'), FileData);
StringChange(FileData, 'ScvProdPath', ExpandConstant('{code:GetSvcDir|0}\'));
StringChange(FileData, 'ProdSitePath', ExpandConstant('{code:GetWebDir|0}\'));
StringChange(FileData, 'ProdAuthPath', ExpandConstant('{code:GetWebDir|1}\'));
StringChange(FileData, '444', ExpandConstant('{code:GetConfig|4}'));
StringChange(FileData, '8732', ExpandConstant('{code:GetConfig|3}'));
StringChange(FileData, 'RV_ExceptionsPath', ExpandConstant('{code:GetSvcDir|2}\RVExceptions'));
SaveStringToFile(ExpandConstant('{code:GetSvcDir|2}\PostSteps.ps1'), FileData, False);
end;
end;
在阅读了一些这样的文章后,我试图改变它,但我无法让它工作。
procedure CurStepChanged(CurStep: TSetupStep);
var
FileData: AnsiString;
UnicodeStr: string;
begin
if (CurStep = ssInstall) then
begin
LoadStringFromFile(ExpandConstant('{code:GetSvcDir|2}\PostSteps.ps1'), FileData);
StringChangeEx(UnicodeStr, 'ScvProdPath', ExpandConstant('{code:GetSvcDir|0}\'), True);
StringChangeEx(UnicodeStr, 'ProdSitePath', ExpandConstant('{code:GetWebDir|0}\'), True);
StringChangeEx(UnicodeStr, 'ProdAuthPath', ExpandConstant('{code:GetWebDir|1}\'), True);
StringChangeEx(UnicodeStr, '444', ExpandConstant('{code:GetConfig|4}'), True);
StringChangeEx(UnicodeStr, '8732', ExpandConstant('{code:GetConfig|3}'), True);
StringChangeEx(UnicodeStr, 'RV_ExceptionsPath', ExpandConstant('{code:GetSvcDir|2}\RVExceptions'), True);
SaveStringToFile(ExpandConstant('{code:GetSvcDir|2}\PostSteps.ps1'), FileData, False);
end;
end;
文件里面的文字是英文的,没什么特别的。请你帮助我好吗?