该论坛上已经有人提出过类似的问题,但并不完全相同,因此如果这有点重复,我很抱歉。
我制作了一个“便携式”应用程序。我使用 WINRar 创建了一个 SFX 自解压存档。双击 .exe,它会将所有文件(~600 MB)提取到当前目录中的工作文件夹中,然后自动执行该程序。
唯一的问题是第一次提取需要大约 5-8 分钟,然后每次执行需要大约 20 秒才能找出所有文件都已提取(即它做了大量工作来找出它不需要做的所有工作)。我知道便携式设备可以做得比这更好。
所以我的问题是:是否有可能提取仅有的将主程序的可执行文件及其最常用的文件(约 13 MB)复制到当前目录中的工作文件夹,然后将该可执行文件指向它需要的任何文件仍在之内SFX 存档?或者说,完全从 SFX 存档操作?如果我在构建 SFX 存档时只使用“存储”选项,文件甚至不需要先解压缩,对吗?所以所有文件都在那里,我只是不知道如何在不花 8 分钟将它们从未压缩的存档复制到未压缩的文件夹的情况下访问它们。直接从未压缩的 SFX 存档使用文件甚至不会减慢程序速度,不是吗?有人有什么建议吗?
谢谢你!
答案1
没关系。我找到了一个叫 Cameyo 的程序,它可以帮我完成所有这些工作。谢谢!
编辑:请原谅,以下是详细信息。卡梅约是一个免费程序(本身就是便携式的),它允许您捕获任何软件的安装并将该软件转换为便携式程序。 Cameyo 喜欢在全新虚拟机中运行(干净的注册表,没有背景噪音),因此我在 VMWare 上启动了现有的 Windows XP 计算机,捕获了我的软件的安装,然后 Cameyo 为我构建了一个便携式程序。 Cameyo 的便携式程序将最少的文件提取到工作文件夹中,并直接从 SFX 存档运行程序的其余部分,没有任何延迟。我仍然不确定如何使用 WINRar 执行此操作,如果不提取整个可执行内容,是否可以完成此操作。