如何从PowerShell中的文件.dll或.exe文件中获取版本信息?
我在特别感兴趣File Version,但其他版本信息(也就是Company,Language,Product Name,等)将是有益的为好.
我需要一个命令行工具来转储标准的Windows DLL版本信息,以便我可以通过bash脚本(Cygwin)处理它.
作为一名Java开发人员,我不太熟悉Microsoft开发工具(尽管我对Microsoft Visual Embedded C++ 4.0和Microsoft Visual Basic 6.0有一点经验).
适当的工具似乎是mt.exe,如SO所述.但是,我发现获得这个小应用程序的唯一机会是下载适用于Windows Server 2008和.NET Framework的Windows SDK的1.29 GB ISO .我无法相信这是唯一的方法.
我还在Internet上发现了一个名为PEView的小应用程序,但它显示的信息太多(在我的情况下无用)信息,它不是命令行应用程序.
捆绑在Cygwin中的标准objdump也可以转储有关DLL文件的一些信息,但我看不到转储DLL版本的选项.请注意,此工具(使用-p选项)转储的MajorImageVersion,MinorImageVersion和其他字段与自己的DLL版本无关.
关于该怎么做的任何替代方案?也许我错过了一些重要的objdump选项?mt.exe是我唯一的选择吗?如果是这种情况,是否可以将其与Windows SDK分开?
任何人都有关于从Qt设置应用程序信息(即右键单击.exe->属性)的提示?
我可以将任意版本字符串添加到Qt资源文件(qrc)并显示它们.但大多数Windows安装程序检查版本号,除了手动维护单独的.RC文件之外,我找不到设置这些字段的Qt方法
某些让你从自动构建中更新它的方法也很不错!
我之前从未使用过Delphi,所以也许问题看起来很简单,但我需要在命令行中更改RES资源文件参数中的FileVersion ...
我正在将项目从XE迁移到XE2,我注意到我错过了我手动输入的版本信息,例如公司名称,产品版本等.创建一个简单的空VCL表单应用程序我看到在"所有配置"下输入版本信息的数据 - 当您选择"发布配置 - 32位Windows平台"时,所有平台都会消失.我想我可以通过平台重新输入我的信息,但这里发生了什么?人们会期望"所有配置 - 所有平台"信息在所有平台上传播,除非重写,就像编译器选项等,或者我错过了什么?
进一步说明 - 我进一步调查,我发现有一个使用DDevExtensions的工作,它在'Project'下添加了一个菜单选项.如果选中底部的"应用于选定"和"将VersionInfo应用于所有平台"框,则可以将显示的版本信息复制到所有平台,而不会影响组中的其他项目.
从命令行编译Windows DLL中的版本信息需要哪些步骤.我一直在查看VersionInfo文件,但无法弄清楚如何将它们链接到DLL.
谢谢
当您查看包含VERSIONINFO资源的二进制文件的属性时,Windows会添加一个"版本"选项卡,该选项卡显示该信息.
是否列出了哪些.NET程序集属性映射到哪些VERSIONINFO字段,因此我们可以轻松地为.NET程序集控制这些属性?
我不知道RC脚本.
我想将产品版本,文件版本等元数据包含到我正在构建的DLL中.我正在使用.rc文件来做到这一点.构建是由makefile驱动的.我跟着我发现的.rc scrpit示例.
模板.rc文件包含afxres.h,但我认为我不需要.但是,如果我删除它,我会收到一堆编译错误.
基本的非MFC RC脚本是什么样的?我可以删除所有这样的东西:
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
....
Run Code Online (Sandbox Code Playgroud) 如何以编程方式更新MFC应用程序中的FILEVERSION字符串?我有一个构建过程,我用它来生成一个头文件,其中包含给定版本的SVN rev.我正在使用来自http://www.compuphase.com/svnrev.htm的 SvnRev 来更新我用来设置我的MFC应用程序的标题栏的头文件.现在我想将这个#define用于我的FILEVERION信息.
什么是最好的方法?
在设置创建过程中,我计划执行以下操作(在C#脚本中):
AssemblyVersion和AssemblyFileVersion属性值.AssemblyVersion和AssemblyFileVersion属性值.现在的问题是:如何做第2步?
我成功地可以做第1步,但对于第2步,我没有看到真正的起点.我可能要做的是使用一些本机P/Invoke方法,因为属性直接修改DLL /可执行文件的版本信息资源信息.
有什么暗示吗?
versioninfo ×10
resources ×3
windows ×3
.net ×2
delphi ×2
dll ×2
version ×2
afx ×1
attributes ×1
c# ×1
command-line ×1
delphi-xe2 ×1
file ×1
manifest ×1
mfc ×1
powershell ×1
qt4 ×1
rc ×1
rc.exe ×1
svn ×1
versioning ×1
winapi ×1