问题标签 [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 投票
0 回答
747 浏览

c# - FileVersionInfo GetVersionInfo() 返回空结果


我编写了一个简单的 C# 程序,它将本地文件的文件版本与服务器的文件版本进行比较,如果不匹配,它应该用服务器的文件版本覆盖本地副本。下面的代码片段。

该程序作为子进程和父应用程序启动,因此子进程在 NT AUTHORITY\SYSTEM 帐户下运行。该程序在我的机器上运行良好,但无法在几台机器上检索本地文件版本(返回空字符串,无异常)。在它返回空文件版本的机器上,如果我以普通用户和独立进程的身份从命令提示符运行程序,它能够正确检索本地文件版本。

注意:即使在所有机器上作为子进程启动时,它也能够检索服务器文件版本。

我还尝试将本地文件从 C:\Windows 复制到 C:\Temp(使用 File.Copy() API),以测试当同一文件位于不同位置时是否可以读取属性。但是随后程序会引发文件访问异常(从父应用程序运行时)。C:\Temp 没有访问限制。另外,从技术论坛上,我了解到 NT AUTHORITY\SYSTEM 是一个管理员帐户。

我不明白为什么程序在 NT AUTHORITY\SYSTEM 帐户下运行时无法检索本地文件版本,以及为什么在我的帐户作为正常进程(而不是子进程)运行时它会成功。

有人可以帮忙吗?谢谢。

0 投票
3 回答
2420 浏览

c++ - 使用 GetFileVersionInfo API (C++) 以编程方式获取 .exe 的 ProductVersion

参考这个答案,我正在尝试使用GetFileVersionInfo方法通过 Windows Api 获取 ProductVersion。问题是通过 .exe ProductVersion 的属性是可见的,但以编程方式我只得到“0.0.0.0”。

.exe 属性:

exe 属性

输出:

输出:

代码:

问题是-WTF?如何获得 ProductVersion,微软的人是如何做到的?

0 投票
0 回答
64 浏览

c# - UnityEngine 4.5.5f 无法获取文件版本信息

我正在尝试使用https://msdn.microsoft.com/en-us/library/system.diagnostics.fileversioninfo(v=vs.110).aspx获取文件版本

还有 process.MainModule.FileVersionInfo 但它们都返回一个空字符串。

如果我用一个简单的控制台程序尝试它,它就可以工作。Unity 4.5 中是否存在无法获取的内容?有其他选择吗?

0 投票
0 回答
668 浏览

c# - 如何从 Windows 10 中的文件属性中读取详细信息?

我正在尝试从 EXE 文件中读取“文件版本”和“产品版本”文件属性。

我正在尝试使用该FileVersionInfo.GetVersionInfo().FileVersion函数,但它没有返回完整的“文件版本”属性(例如,实际文件版本是“1.6.0.7”---->,该FileVersionInfo函数返回“1.6”)

当我在我的 PC 上安装 Windows 7 时,我正在使用以下运行良好的代码。

在 Windows 10 上,上述代码根本不起作用。

更新 #1 - 根据要求,完整代码是:

[程序集:AssemblyFileVersion("1.0.0.0")]

更新 #2 - 以下代码确实正确返回了完整版本

来源:获取可执行文件的程序版本,就像在 C# .NET 2 中的资源管理器一样

0 投票
1 回答
382 浏览

c# - 获取 TLB 的“版本”号

遗留应用程序显示其所有组件的版本号,这些组件应该是 DLL。我们出于各种原因通过将 TLB 放在被查询的文件夹中来欺骗应用程序。但是,当它列出版本信息时,它会显示为“未知”,因为 TLB 文件没有文件版本属性。

当我们使用 regasm filename.dll /tlb:filename.tlb 生成 TLB 时,有没有办法让 regasm 生成一个 TLB,使其具有文件版本?我一直无法在网上找到有关此的任何信息。我认为这是不可能的,因此我们必须想出一个解决方法......

0 投票
0 回答
195 浏览

java - Java 在 zip 文件属性中写入版本信息

我正在以压缩的形式导出我的数据。我需要验证我的产品版本,即导出文件的版本。我必须验证文件版本。

java中有什么方法可以在文件详细信息中写入/读取该文件的版本,如下图所示?

在此处输入图像描述

也请建议我实现这一目标的另一种方法。

0 投票
1 回答
1216 浏览

c++ - 在代码中读取 FILEVERSION 值

我在 c++ 中构建的 dll 有一个 .rc 文件,其中包含:

我希望读取FILEVERSION值以登录我的代码.. 我该怎么办?我读了一些东西,但是所有的帖子都与阅读其他 dll 或 exe 相关,我需要阅读我当前的 dll

谢谢

0 投票
2 回答
677 浏览

vbscript - 理解这个比较函数(VBScript)

我正在寻找一个 VBScript 解决方案来比较两个文件版本并找到以下代码:

设置以下变量时,如何使用此功能?

我认为执行以下操作就足够了,但我给了我一个错误:

我显然做错了什么。谁能帮我理解这个?

0 投票
1 回答
224 浏览

c# - 获取特定项目的文件版本

我有一个函数,它返回 C# 项目的程序集文件版本(在 Visual Studio 中)。问题是,它不位于主项目中,因此它不是返回实际应用程序的版本,而是返回它所在的项目(程序集)的版本。我尝试使用GetCallingAssembly()来获取而是主要项目,但没有运气。即使我让它工作,如果我通过多个项目链接我的调用,我可以想象它很容易坏掉。有没有办法通过名称获取项目的版本?例如,如果我的主项目名为 SolutionName.ProjectName,而主窗口(它是一个 WPF 项目)名为 MainWindow.xaml(如果这有什么不同的话)。

我当前的代码:

0 投票
0 回答
2380 浏览

visual-studio-2017 - 当 GenerateAssemblyInfo 为 False

<GenerateAssemblyInfo>false</GenerateAssemblyInfo>

GenerateAssemblyInfo为 false 时,我们如何自动增加程序集文件版本