gpt4 book ai didi

inno-setup - 如何使用 inno setup 重命名文件

转载 作者:行者123 更新时间:2023-12-01 10:58:49 25 4
gpt4 key购买 nike

我想先将现有文件“My program old”重命名为“My program v2”,但前提是“My program v2”不存在。

然后我想将“我的程序”重命名为“我的旧程序”,但前提是“我的旧程序”不存在。

然后我想从安装程序安装“我的程序”,但前提是“我的程序”不存在。

如有任何指导,我将不胜感激!

最佳答案

我会尝试这样的事情。在 CurStepChangedssInstall 阶段事件,发生在安装过程开始之前,只需检查文件是否不存在 FileExists功能,如果没有,则只需调用 RenameFile函数,如果源文件不存在,该函数将静默失败,因此您无需关心源文件是否存在。在[Files]然后您可以使用 onlyifdoesntexist 部分标记您的最后一个要求。可以关注commented version这个脚本,如果你想:

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

[Files]
Source: "My program"; DestDir: "{app}"; Flags: onlyifdoesntexist

[Code]
function GetFileName(const AFileName: string): string;
begin
Result := ExpandConstant('{app}\' + AFileName);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if (CurStep = ssInstall) then
begin
if not FileExists(GetFileName('My program v2')) then
RenameFile(GetFileName('My program old'), GetFileName('My program v2'));
if not FileExists(GetFileName('My program old')) then
RenameFile(GetFileName('My program'), GetFileName('My program old'));
end;
end;

关于inno-setup - 如何使用 inno setup 重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13071129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com