【问题标题】:What is VERSIONINFO.InternalName of a dll?什么是 dll 的 VERSIONINFO.InternalName?
【发布时间】:2014-04-01 08:17:05
【问题描述】:

VERSIONINFO resource 有一个 InternalName 属性。为什么需要这样做,它的含义是什么?它是每个 dll 的必需属性吗?这个属性是如何使用的?

【问题讨论】:

  • 我认为您有责任告诉我们您所说的“内部名称”是什么意思。
  • @David Heffernan:OP 要求来自 versioninfo 资源的内部名称。 “为什么需要它?” - 不需要。

标签: winapi dll


【解决方案1】:

相当主观,但 VERSIONINFO 确实看起来像是由委员会而不是程序员设计的。他们不知道何时停止添加功能,每个人都得到了他们认为重要的东西。确切的推理在时间的迷雾中丢失了,而且 MSDN 不够具体,无法猜测其意图。

至少部分精神分裂症是资源旨在供人类阅读,它填充您在资源管理器中看到的详细信息属性表,以及通过 GetFileVersionInfo() 和朋友的机器可读。使用起来特别痛苦的winapi。例如,这确实在一定程度上解释了使用 两种 方式来指定文件和产品版本号的奇怪之处。既可以作为二进制数,也可以作为字符串。也许是为了字符串可以本地化。

InternalName 适合机器可读的用法,注意它没有显示在 Details 属性表中。这使它成为“内部”,也许。请注意,OriginalFilename 属性确实出现了,因此是为人类设计的。

由于该物业没有固定的用途,因此很少有关于它为何重要的指导。它不会出现在属性表上,而且 Windows 本身根本不会使用它。因此,您是否希望在此处输入完全取决于您,请注意它是必需的属性。也许有一天你会用到它,我个人从来没有找到过。只需输入您最初在规范中指定的模块名称,只需将 OriginalFilename 设置为相同的字符串,例如附加 .dll。

【讨论】:

    猜你喜欢
    • 2010-10-03
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    相关资源
    最近更新 更多