从powershell更新DLL RC信息



我正试图直接从Powershell更新/添加一些RC信息。

我已经找到了如何得到它,但我没有找到如何设置一些字段,如SpecialBuildPrivateBuild

PS C:> (gi .mydll.dll).VersionInfo | fl
OriginalFilename  : mydll.dll
FileDescription   : mydll.dll
...............................
PrivateBuild      : 32572
SpecialBuild      : NOT_HOTFIX
FileVersionRaw    : 17.3.0.12013
ProductVersionRaw : 17.3.0.12013
PS C:> (gi .mydll.dll).VersionInfo | gm

   TypeName : System.Diagnostics.FileVersionInfo
Name               MemberType     Definition
----               ----------     ----------
Equals             Method         bool Equals(System.Object obj)
GetHashCode        Method         int GetHashCode()
GetType            Method         type GetType()
ToString           Method         string ToString()
Comments           Property       string Comments {get;}
.................................................
PrivateBuild       Property       string PrivateBuild {get;}
ProductBuildPart   Property       int ProductBuildPart {get;}
ProductMajorPart   Property       int ProductMajorPart {get;}
ProductMinorPart   Property       int ProductMinorPart {get;}
ProductName        Property       string ProductName {get;}
ProductPrivatePart Property       int ProductPrivatePart {get;}
ProductVersion     Property       string ProductVersion {get;}
SpecialBuild       Property       string SpecialBuild {get;}
FileVersionRaw     ScriptProperty System.Object FileVersionRaw {get=New-Object System.Version -ArgumentList @(...
ProductVersionRaw  ScriptProperty System.Object ProductVersionRaw {get=New-Object System.Version -ArgumentList @(...

如你所见,属性只能在这里得到。

那么你知道我如何更新这些字段吗?

提前感谢您的帮助;)

可以使用Resource Hacker或verpatch等工具更新字段,但不建议这样做。如果dll是你的,在编译之前更新它会容易得多。

给编译后的dll打补丁的一个缺点是,如果它被签名了,那么签名将不再有效。此外,有时打补丁可能会导致dll损坏。

有什么特别的原因让你想在编译后修改它吗?

相关内容

最新更新