问题标签 [fileversioninfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - How do I set the version information for an existing .exe, .dll?
As part of our build process I need to set the version information for all of our compiled binaries. Some of the binaries already have version information (added at compile time) and some do not.
I want to be able to apply the following information:
- Company Name
- Copyright Notice
- Product Name
- Product Description
- File Version
- Product Version
All of these attributes are specified by the build script and must be applied after compilation. These are standard binaries (not assemblies) compiled with C++ Builder 2007.
How can I do this?
c# - 如何获取 C# 控制台应用程序的 .exe 名称?
我正在调试 VS2008 中的 C# 控制台模式应用程序“xiixtasks.exe”。
我正在尝试从 xiixtasks.exe 获取版本信息。
当我尝试“Process.GetCurrentProcess()”时,它给了我 vshost.exe 的文件名和版本信息,而不是 xiixtasks.exe:
我应该怎么做?
先感谢您!
==================================================== ====
解决方案:
1) 最初的问题确实是 IDE 的“vshost”包装器。一种解决方法是更改构建设置。
2) Assembly.GetExecutingAssembly().CodeBase 是一个很好的解决方案 - 谢谢!它在调试器的内部和外部工作。
3) 不幸的是,当我尝试使用一个期望正常文件路径的函数调用它时(而不是像 GetExecutingAssembly()" 给你的 URI),它因“不支持 Uri 格式”异常而死。
4)最终解决方案:调用GetExecutingAssembly(),然后调用Uri.LocalPath():
再次感谢大家!
c# - 通过 C#/VB.NET 设置可执行文件的版本
我有一个来自外部源的可执行文件,并且始终标有版本 1.0.0.0。
不幸的是,我无法控制它的编译方式,因此无法在编译时设置它的文件版本。
我想要做的是编写一个简单的控制台应用程序,它会在新版本到来时自动修改版本,这样当我将它发送给客户时,文件版本将是正确的。
编译文件后,我似乎找不到执行此操作的方法。
我不在乎文件版本或产品版本是否被修改。
欢迎大家提出意见。
编辑:我找到了这个工具: http: //www.codeguru.com/tools/standalonetools/article.php/c1403这可以满足我在命令行中的需要。
这很好,但我宁愿从代码中做到这一点。
谢谢!
c# - FileVersionInfo 与资源管理器中的详细信息选项卡不匹配
我正在尝试使用C#
并System.Diagnostics.FileVersionInfo
从文件列表中提取版本信息。我这样做的目的是跟踪唯一的文件路径和版本组合。当文件更改时,我希望根据确切更改的内容发生各种事情。
我已经使用了FileVersion
和的ProductVersion
属性都FileVersionInfo
无济于事。两者都报告了与资源管理器中报告的版本号不同的版本号。
使用 explorer.exe 的示例
c#-4.0 - 如何从文件路径中获取 .exe 文件版本号
我正在使用带有 C# 代码的 .Net 3.5/4.0。
我试图在我的 C: 驱动器上获取 exe 文件的版本号。
例如路径是:c:\Program\demo.exe。如果demo.exe的版本号是1.0。
如何使用此路径获取版本号?
c# - 在 C# 中创建文件时可以指定文件版本吗?
我正在使用以下方法创建文件:
创建文件时,是否可以通过编程方式指定版本?这样如果有人要使用 FileVersionInfo 对象,他们会得到我指定的版本吗?
c# - FileVersionInfo 在从 WPF 应用程序和命令行应用程序运行的 dll 之间的行为不同
我正在编写一个 dll,它将在多个环境中使用,即来自我们的构建机器。该程序负责获取文件的 FileVersion。我在 .dll 中使用以下代码:
现在,当我从 WPF 测试应用程序运行这个函数时,我写的一切正常;为 FileVersionInfo 对象填写所有值。
但是,当我在控制台应用程序项目中运行这个完全相同的函数时,FileVersionObject 中的所有值都为空。
有人知道发生了什么吗?
c++ - 修改编译后的exe描述
我想修改已编译 exe 的版本信息以更改描述。
我自己看了一点,发现我需要使用 UpdateRessource 函数,我做到了这一点。
我不太清楚的部分是lpBuffer。我只想更改包含文件描述的资源部分。
我的猜测是我必须从 exe 加载旧版本并对其进行一些修改,但我不太确定它的结构。
delphi - 使用 TFileStream 从文件中读取 VersionInfo
我需要使用 TSream 从文件(exe 或 dll)中读取 VersionInfo。
我无法使用 Windows API GetFileVersionInfo,因为我的文件位于内存 (TMemoryStream) 中,并且我不想将文件写入磁盘以获取此信息,我有一些性能限制。
有人可以帮助我吗?
c# - 使用 C# 获取 NSIS 文件版本
我已经使用 NSIS 编写了一个安装程序脚本,并通过VIProductVersion
和VIAddVersionKey
命令添加了版本信息。当我查看编译文件的属性时,版本信息就如我所愿。
我的问题是当我尝试通过 C# 命令获取版本信息时FileVersionInfo.GetVersionInfo(fileName).FileVersion
,它返回一个空字符串。
这是一种快速复制的方法:
NSIS 脚本
C# 代码
这给出了以下输出:
我需要什么才能阅读FileVersion
as 1.0.0.2
?