一个名为 FitGirl 的盗版游戏网站的作者,不时发布视频游戏的“重新包装”,该游戏由使用Inno-setup制作的安装程序组成。
这类安装程序的有趣特征是基于组件的(或不确定基于任务的),例如,如果视频游戏重新包装中包含与各种语言相关的音频文件,则它们是可用的要单独安装,我的意思是每个“语音包”都编译在不同的文件中,因此您可以看到:setup.exe,english.bin,spanish.bin等...,如果缺少.bin文件之一,它不会影响setup.exe。
我想知道如何在个人安装程序中复制它。例如,我有一个要安装的程序,其中包含要用于该程序的个人配置文件,然后,我想创建一个任务来确定是否应在程序中安装个人设置,然后将这些文件编译到另一个文件中,而不是在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_settings.bin”。这样,我可以分发安装程序(setup.exe)而不分发我的个人数据(personal_settings.bin),并且可以在我的个人计算机中使用安装程序来安装具有“ personal_settings”的{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}
...
但是我感觉它丢失了所有内容...我不知道该安装程序如何将语音包单独打包到.bin文件中,而不是setup.exe,并且在安装向导中都可以选择
答案 0 :(得分:1)
Inno Setup不支持此功能。
所以: