所以,我知道这里有很多关于 list 的问题,但我还没有完全找到我想要的解释。基本上我需要一个 Delphi 应用程序安装程序的 list 。现在我在 list 上看到的大多数指南都说要创建一个 .manifest 文件和一个 .rc 文件,然后在应用程序中添加 {.$R 'file.res' 'file.rc'} 以便它在启动时看到它并放置.exe 旁边的文件。
现在我感到困惑的是,我的 list 是用于安装程序的,从逻辑上讲,我不能将文件放在安装程序旁边,因为将文件放在需要的位置是它的工作。现在,我显然不会向人们发送带有安装程序和其他 2 个随机文件的软件包。所以我只是想弄清楚 list 如何为安装程序工作。谢谢!
最佳答案
通常,您将 list 编译成已编译的资源并将该资源链接到可执行文件中。这样,您可以交付单个可执行文件,并且加载程序在加载该可执行文件时能够找到 list 。
这正是您使用 {$R ...}
时发生的情况。如问题所示。该指令指示编译器将编译后的资源链接到可执行文件。一旦你这样做了,分发 .rc 和 .manifest 文件就没有意义了,因为加载器会忽略它们。加载程序更喜欢使用链接到可执行文件的 list (如果存在)。在任何情况下,加载器都不会对 .rc 文件感兴趣,它只是用于编译资源。
尽管可以将 list 文件作为可执行文件外部的文件包含在内,但这是不可取的。原因是人们很容易复制可执行文件而不是 list ,删除或重命名其中一个文件。因为 list 是独立的,所以它可以以这种方式与可执行文件脱位,然后加载程序找不到它。
因此,将已编译的 list 资源链接到您的可执行文件,就像您已经在做的那样。并且不要分发 .rc 或 .manifest 文件。
关于delphi - 安装程序如何查看 list ?德尔福,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32653843/