【发布时间】:2014-07-25 16:32:03
【问题描述】:
我有一个对我来说非常重要的问题。我用谷歌搜索过,但一无所获。问题是:
WinRAR如何在不解压软件或游戏文件的情况下,直接点击.exe文件执行游戏或软件等?
有人可以用 Java 代码为我解释一下吗?
我想做一个类似WinRAR的软件,但是我不明白这一点。
【问题讨论】:
标签: java compression extract execution winrar
我有一个对我来说非常重要的问题。我用谷歌搜索过,但一无所获。问题是:
WinRAR如何在不解压软件或游戏文件的情况下,直接点击.exe文件执行游戏或软件等?
有人可以用 Java 代码为我解释一下吗?
我想做一个类似WinRAR的软件,但是我不明白这一点。
【问题讨论】:
标签: java compression extract execution winrar
在WinRAR中打开菜单Options,点击菜单项Settings,选择标签Viewer并查看选项解压所有东西。
立即按帮助按钮并阅读选项解压所有内容的说明。
如您所见,WinRAR 通过双击压缩包内的 *.exe 将压缩包的所有文件提取到在临时文件文件夹中创建的临时文件夹 - 环境变量 TEMP - 分别在 设置 对话框中的 临时文件文件夹 选项卡 Paths 上定义的文件夹。
然后WinRAR启动临时文件夹中的EXE并监控进程。启动的应用程序终止后,WinRAR 删除包含所有文件和子文件夹的临时文件夹。
当然,如果在退出启动的应用程序之前退出 WinRAR,WinRAR 让所有提取的文件永久保存在临时文件夹中,用户必须删除它们,例如使用Windows 磁盘清理工具。
如果双击电子邮件附件的文件,Microsoft Outlook 也会对单个文件执行相同的步骤。如果应用程序开始打开并显示文件已退出,则文件会从电子邮件中临时提取到临时提取的电子邮件附件的文件夹中,并由 Outlook 自动删除。但是临时提取的文件附件仍然保存在文件夹中,如果在用于查看临时提取文件的应用程序退出之前退出 Outlook 本身,则用户必须稍后将其删除。
换句话说,WinRAR 也不能直接从存档中运行应用程序,除非先将存档的所有文件解压缩到硬盘上的某个位置。
【讨论】:
意识到自解压 zip 不仅通过双击开始解压,而且它们不需要在用户计算机上安装解压应用程序,因为解压器代码位于存档本身中。这意味着您将获得不同的用户体验,具体取决于您用于创建 sfx 的应用程序 e
这就是我使用 WinRAR 创建 Izpack 安装程序的 sfx 的方式,我用它来安装我的 Java 应用程序
生成的 exe 解压缩到一个临时文件夹,然后启动安装程序
【讨论】: