首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确认是否已安装,如果是,则忽略某些文件

确认是否已安装,如果是,则忽略某些文件
EN

Stack Overflow用户
提问于 2015-01-14 16:14:13
回答 1查看 2.8K关注 0票数 2

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

我正在递归地获取文件:

代码语言:javascript
复制
[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),添加排除那些您不想更新的扩展名。

代码语言:javascript
复制
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(尚未完全测试)

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

代码语言:javascript
复制
[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;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-14 16:20:36

在条目中添加Check参数,并确保check函数在update情况下返回false。下面是可以参考的例子。

文件来源:"MYPROG.EXE";DestDir:"{app}";检查: MyProgCheck

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27947514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档