gpt4 book ai didi

inno-setup - 用 Inno Setup 中 setup 子文件夹中的文件覆盖已安装的文件

转载 作者:行者123 更新时间:2023-12-04 13:30:49 27 4
gpt4 key购买 nike

我最近发现一些旧的 PC 游戏可以在我的 Windows 10 64 位计算机上玩。我查看了各种在线资源以使游戏正常运行。现在我有兴趣为使游戏正常运行所采取的所有各种步骤创建一个自定义安装程序。我成功地让 C&C Generals 通过 Inno Setup 使用自定义安装程序。然而,经过一些研究和试验后,我缺乏专业知识来执行以下操作:

  • 我能够安装该软件并使用官方补丁更新已安装的软件。
  • 我不确定如何添加脚本来从安装子文件夹复制修改后的文件,以在更新后覆盖主文件夹中的已安装文件。此更新不适用于修改后的文件。

  • 例子:
  • 程序安装到 C:\Program Files (x86)\Programv1.exe .
  • 安装源文件包含一个子文件夹 \modfiles .
  • 想覆盖Programv1.exe使用 \modfiles\Programv2.exe 发布补丁更新

  • 这是否属于 [Code]部分?
    可以下 [Run]吗部分带有 postinstall旗帜?就像最后一步简单的复制和覆盖命令一样?
    谢谢!

    最佳答案

    有很多方法可以实现这一点。

  • 您可以使用 AfterInstall 执行补丁。参数,甚至在安装“mod”之前。见 Inno Setup: Install other installer and run it before continuing my install .然后您可以将 mod 直接安装到安装文件夹(而不是子文件夹):
    [Files]
    ; Install original game
    Source: C:\source\TheGame\*; Dest: {app}
    ; Run patch
    Source: C:\patch\PatchTheGame.exe; Dest: {tmp}; AfterInstall: RunPatch
    ; Install mod
    Source: C:\mod\Program.exe; Dest: {app}
  • 使用 Run安装补丁后复制mod的条目:
    [Files]
    ; Install original game
    Source: C:\source\TheGame\*; Dest: {app}
    ; Extract the patch somewhere
    Source: C:\patch\PatchTheGame.exe; Dest: {tmp}
    ; Extract the mod somewhere
    Source: C:\mod\Program.exe; Dest: {tmp}

    [Run]
    Filename: {tmp}\PatchTheGame.exe
    Filename: {cmd}; Parameters: /C copy ""{tmp}\Program.exe"" ""{app}\Program.exe""
  • 您可以在 Pascal Script 中对其进行编码。见 Install customized version of configuration file in Inno Setup after (Firebird) subinstaller finishes
  • 关于inno-setup - 用 Inno Setup 中 setup 子文件夹中的文件覆盖已安装的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65161551/

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