问题标签 [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.

0 投票
15 回答
183450 浏览

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?

0 投票
9 回答
25936 浏览

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():

再次感谢大家!

0 投票
0 回答
2033 浏览

c# - 通过 C#/VB.NET 设置可执行文件的版本


我有一个来自外部源的可执行文件,并且始终标有版本 1.0.0.0。
不幸的是,我无法控制它的编译方式,因此无法在编译时设置它的文件版本。

我想要做的是编写一个简单的控制台应用程序,它会在新版本到来时自动修改版本,这样当我将它发送给客户时,文件版本将是正确的。

编译文件后,我似乎找不到执行此操作的方法。
我不在乎文件版本或产品版本是否被修改。
欢迎大家提出意见。

编辑:我找到了这个工具: http: //www.codeguru.com/tools/standalonetools/article.php/c1403这可以满足我在命令行中的需要。
这很好,但我宁愿从代码中做到这一点。

谢谢!

0 投票
1 回答
561 浏览

c# - FileVersionInfo 与资源管理器中的详细信息选项卡不匹配

我正在尝试使用C#System.Diagnostics.FileVersionInfo从文件列表中提取版本信息。我这样做的目的是跟踪唯一的文件路径和版本组合。当文件更改时,我希望根据确切更改的内容发生各种事情。

我已经使用了FileVersion和的ProductVersion属性都FileVersionInfo无济于事。两者都报告了与资源管理器中报告的版本号不同的版本号。

使用 explorer.exe 的示例

0 投票
8 回答
100893 浏览

c#-4.0 - 如何从文件路径中获取 .exe 文件版本号

我正在使用带有 C# 代码的 .Net 3.5/4.0。

我试图在我的 C: 驱动器上获取 exe 文件的版本号。

例如路径是:c:\Program\demo.exe。如果demo.exe的版本号是1.0。

如何使用此路径获取版本号?

0 投票
4 回答
1988 浏览

c# - 在 C# 中创建文件时可以指定文件版本吗?

我正在使用以下方法创建文件:

创建文件时,是否可以通过编程方式指定版本?这样如果有人要使用 FileVersionInfo 对象,他们会得到我指定的版本吗?

0 投票
1 回答
248 浏览

c# - FileVersionInfo 在从 WPF 应用程序和命令行应用程序运行的 dll 之间的行为不同

我正在编写一个 dll,它将在多个环境中使用,即来自我们的构建机器。该程序负责获取文件的 FileVersion。我在 .dll 中使用以下代码:

现在,当我从 WPF 测试应用程序运行这个函数时,我写的一切正常;为 FileVersionInfo 对象填写所有值。

但是,当我在控制台应用程序项目中运行这个完全相同的函数时,FileVersionObject 中的所有值都为空。

有人知道发生了什么吗?

0 投票
0 回答
276 浏览

c++ - 修改编译后的exe描述

我想修改已编译 exe 的版本信息以更改描述。

我自己看了一点,发现我需要使用 UpdateRessource 函数,我做到了这一点。

我不太清楚的部分是lpBuffer。我只想更改包含文件描述的资源部分。

我的猜测是我必须从 exe 加载旧版本并对其进行一些修改,但我不太确定它的结构。

0 投票
2 回答
349 浏览

delphi - 使用 TFileStream 从文件中读取 VersionInfo

我需要使用 TSream 从文件(exe 或 dll)中读取 VersionInfo。

我无法使用 Windows API GetFileVersionInfo,因为我的文件位于内存 (TMemoryStream) 中,并且我不想将文件写入磁盘以获取此信息,我有一些性能限制。

有人可以帮助我吗?

0 投票
1 回答
577 浏览

c# - 使用 C# 获取 NSIS 文件版本

我已经使用 NSIS 编写了一个安装程序脚本,并通过VIProductVersionVIAddVersionKey命令添加了版本信息。当我查看编译文件的属性时,版本信息就如我所愿。

我的问题是当我尝试通过 C# 命令获取版本信息时FileVersionInfo.GetVersionInfo(fileName).FileVersion,它返回一个空字符串。

这是一种快速复制的方法:

NSIS 脚本

C# 代码

这给出了以下输出:

我需要什么才能阅读FileVersionas 1.0.0.2