gpt4 book ai didi

installation - 在 Inno Setup 中需要对特定文件进行覆盖确认,无条件安装目录中的其他文件

转载 作者:行者123 更新时间:2023-12-04 08:51:40 36 4
gpt4 key购买 nike

我有一个包含 84 个文件的目录( Configurationfiles )。这些文件之一包含用户将修改的数据 ( UserData.json )。该文件可能存在也可能不存在,但如果存在,我不想丢失这些数据,并且我正在努力保持安装用户友好。
我正在尝试修改执行以下所有操作的现有安装脚本:

  • 如果目录中没有文件,则全部复制
  • 如果有文件覆盖除UserData.json之外的所有文件
  • 如果 UserData.json缺少副本默认UserData.json
  • UserData.json存在提示用户覆盖 UserData.json ,如果是覆盖,如果不是不

  • 目前,无论如何都会复制所有文件,而且我从未收到覆盖的提示。这是我到目前为止:
    #define ExcludeFiles "UserData.json"

    Source: ..\..\PROV\4200701\BIN\*.*; Excludes: {#ExcludeFiles }; DestDir: {app}\BIN; \
    Flags: ignoreversion recursesubdirs skipifsourcedoesntexist;

    Source: ..\..\PROV\4200701\BIN\Configurationfiles\UserData.json; \
    DestDir: {app}\BIN\Configurationfiles;
    Flags: ignoreversion onlyifdoesntexist confirmoverwrite skipifsourcedoesntexist;
    我想我的标志设置不正确。但我不确定。有没有人看到我哪里出错了?

    最佳答案

    您永远无法得到确认,因为 onlyifdoesntexist防止 confirmoverwrite起任何作用。
    我不认为,“无论如何,所有文件都被复制”是正确的。当我测试你的脚本时,我得到:

    2020-09-26 16:51:21.625 -- File entry --
    2020-09-26 16:51:21.626 Dest filename: C:\Users\pimpo\AppData\Local\My Program\BIN\Configurationfiles\UserData.json
    2020-09-26 16:51:21.626 Time stamp of our file: 2020-09-26 16:49:30.000
    2020-09-26 16:51:21.626 Dest file exists.
    2020-09-26 16:51:21.626 Skipping due to "onlyifdoesntexist" flag.



    如果删除 onlyifdoesntexist ,你的脚本应该做你想做的。

    2020-09-26 16:57:41.066 -- File entry --
    2020-09-26 16:57:41.067 Dest filename: C:\Users\pimpo\AppData\Local\My Program\BIN\Configurationfiles\UserData.json
    2020-09-26 16:57:41.067 Time stamp of our file: 2020-09-26 16:49:30.000
    2020-09-26 16:57:41.067 Dest file exists.
    2020-09-26 16:57:41.067 Time stamp of existing file: 2020-09-26 16:49:30.000
    2020-09-26 16:57:41.067 Message box (Yes/No):
    C:\Users\pimpo\AppData\Local\My Program\BIN\Configurationfiles\UserData.json

    The file already exists.

    Would you like Setup to overwrite it?
    2020-09-26 16:57:43.055 User chose Yes.
    2020-09-26 16:57:43.055 Installing the file.
    2020-09-26 16:57:43.062 Successfully installed the file.



    您可能想要删除 ignoreversion也是,因为它对 .json 没有影响文件。它可能会混淆其他人。 skipifsourcedoesntexist也是值得怀疑的。

    关于installation - 在 Inno Setup 中需要对特定文件进行覆盖确认,无条件安装目录中的其他文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64069338/

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