【发布时间】:2011-05-18 18:45:45
【问题描述】:
如何制作包含 DLL 和图像资源文件的单个 executable 包?
那么如何在运行时从我的可执行文件中提取它们?
【问题讨论】:
-
可能的答案范围从“将它们添加为资源”到“更好地使用安装程序生成器”到“不,你不能这样做”,具体取决于您想要的为什么将文件放入可执行文件中,并在文件放入可执行文件后做什么。那么,什么以及为什么?
-
因为我打算将该文件用作单个可下载文件,接下来会发生什么并不重要。
-
@Kermia,除非你这样做是为了练习,否则你对大 EXE 文件所做的一切都会让世界变得不同。提示:如果您的 EXE 依赖于 DLL,则将它们作为资源存储在同一个 EXE 中将不起作用,因为除非您首先提取它们,否则您无法链接到它们。如果您为了下载大小而这样做,请考虑使用安装程序。
-
@Kermia,那么就可以了。如果我记得有一个名为 ExeMod 的 Delphi 示例(不是我写的,你必须谷歌它),这显示了如何创建自己的安装程序,搜索 ExeMod.pas - 这可能是一种粗略的方式,但如果我记得,它会起作用。否则你正在做的方法我看不出为什么不这样做。
-
@Craig,@Kermia,如果您想编写自己的安装程序,一个很好的起点是查看Inno Setup 的工作原理。它是用 Delphi 编写的开源代码!不妨修改它来做你需要的,而不是从头开始。甚至可能会发现您不需要自己编写,因为它非常好。