gpt4 book ai didi

inno-setup - 验证是否已安装,如果是则忽略一些文件

转载 作者:行者123 更新时间:2023-12-05 04:16:24 25 4
gpt4 key购买 nike

仅当我对已安装的应用程序进行更新时,我才需要忽略一些文件(“.sdf”和“.config”)。

我递归地获取文件:

[Files]
Source: "..\..\bin\Release\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Release\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full; Excludes: "*.key, *.udb, *.~db, *.crt"

以某种方式存在?

提前致谢。

答案 1

使用 onlyifdestfileexistsonlyifdoesntexist:

如果文件不存在 (onlyifdoesntexist),请在第一次安装时复制您想要的所有内容。

如果文件存在(onlyifdestfileexists),添加Excludes those extensions that you don't want to update.

Source: "..\..\bin\Release\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion onlyifdoesntexist recursesubdirs createallsubdirs; Permissions: everyone-full; Excludes: "*.key, *.udb, *.~db, *.crt"
Source: "..\..\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion onlyifdestfileexists recursesubdirs createallsubdirs; Excludes: "*.key, *.udb, *.~db, *.crt, *.sdf, *.config"

答案2(未完全测试)

使用函数验证应用程序文件夹是否存在。

[Files]
Source: "..\..\bin\Release\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Release\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full; Excludes: "*.key, *.udb, *.~db, *.crt"; Check: not IsInstalled
Source: "..\..\bin\Release\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full; Excludes: "*.key, *.udb, *.~db, *.crt, *.sdf, *.config"; Check: IsInstalled

[code]
function IsInstalled: Boolean;
begin
if DirExists(ExpandConstant('{app}\')) then
begin
Result := True;
end else
Result := False;
end;

最佳答案

在entry中添加Check参数,确保check函数在更新情况下返回false。下面是例子可以引用。

[文件]来源:“MyPROG.EXE”; DestDir: "{app}";检查:MyProgCheck

http://www.jrsoftware.org/ishelp/index.php?topic=scriptcheck

关于inno-setup - 验证是否已安装,如果是则忽略一些文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27947514/

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