代码之家  ›  专栏  ›  技术社区  ›  ElektroStudios

使用Inno setup将特定任务的文件编译为附加安装文件(setup.exe,files.bin)?

  •  0
  • ElektroStudios  · 技术社区  · 6 年前

    一个盗版游戏网站的作者 FitGirl公司

    这类安装程序的有趣特点是基于组件(或基于任务,不确定),我的意思是,例如,如果一个视频游戏重新包有与各种语言相关的音频文件,它们可以单独安装,我的意思是,每个“语音包”编译在不同的文件中,因此您可以看到:setup.exe,英语.bin、西班牙语.bin等。。。如果其中一个.bin文件丢失,则不会影响setup.exe。

    问题

    作为我想做的一个例子:

    [Files]
    ; Public Files
    Source: {app}\*; DestDir: {app}; Flags: recursesubdirs createallsubdirs ignoreversion
    
    ; Personal files (program file settings that contains sensible data of my person)
    Source: {localappdata}\*; DestDir: {localappdata}; Tasks: PersonalData; Flags: recursesubdirs createallsubdirs ignoreversion
    
    [Tasks]
    Name: PersonalData; Description: Install ElektroStudios E-mail settings
    

    在这个例子中,我想要 {localappdata} 编译成一个附加文件,例如:“personal\u settings.bin”。这样,我就可以分发安装程序(setup.exe),而无需分发我的个人数据(personal\u settings.bin),并且可以使用个人计算机中的安装程序来安装 {localappdata} 拥有“个人设置.bin”。

    研究

    在反编译 FitGirl公司 安装程序(侏罗纪世界:进化),这是我得到的重建代码中最相关的部分:

    [Setup]
    AppName=Jurassic World: Evolution
    ...
    
    [Components]
    Name: text; Description: Main game files; Types: full custom
    Name: local; Description: Game language; Types: full custom
    ...
    
    [Types]
    Name: custom; Description: {cm:TypeCustomDesc}
    Name: full; Description: {cm:TypeFullDesc}
    ...
    

    但我觉得它错过了一切。。。我不明白这个安装程序是如何在setup.exe之外的.bin文件中单独编译语音包的,并且在安装向导中都是可选的。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Martin Prikryl    6 年前

    Inno安装程序不支持此操作。

    所以要么:

    • 该安装程序使用一个Inno安装自定义版本;或