版本修改

This commit is contained in:
zqm
2026-05-07 09:17:23 +08:00
parent 0ee65e58fb
commit 4247b49791
9 changed files with 152 additions and 44 deletions

View File

@@ -1,32 +1,31 @@
use winres::WindowsResource;
use winresource::VersionInfo;
extern crate winresource;
fn main() {
// 仅在 Windows 上处理资源文件
#[cfg(windows)]
{
let mut res = WindowsResource::new();
let mut res = winresource::WindowsResource::new();
// 编码方式高32位 = (major << 16 | minor)低32位 = (patch << 16 | build)
// 1.0.0.0 => major=1, minor=0, patch=0, build=0 => 0x0001_0000_0000_0000
res.set_version_info(winres::VersionInfo::FILEVERSION, 0x0001_0000_0000_0000);
res.set_version_info(winres::VersionInfo::PRODUCTVERSION, 0x0001_0000_0000_0000);
// 版本定义(只改这一处)
// 格式: Major<<48 | Minor<<32 | Patch<<16 | Build
let major = 1u64;
let minor = 0u64;
let patch = 0u64;
let build = 2u64;
let ver: u64 = (major << 48) | (minor << 32) | (patch << 16) | build;
// 关键:显式设置字符串版本字段,与二进制版本保持一致
// 不设置的话PowerShell/.NET/Explorer 可能从不同字段读取,导致不一致
res.set("FileVersion", "1.0.0.1");
res.set("ProductVersion", "1.0.0.1");
// 字符串版本(文件版本和产品版本可独立设置)
res.set("FileVersion", "1.0.0.2");
res.set("ProductVersion", "1.0.0.1");
// 设置产品名和公司名
res.set("ProductName", "BootLoader");
res.set("CompanyName", "JoyD");
res.set("FileDescription", "应用程序启动器");
res.set("LegalCopyright", "Copyright JoyD");
// VERSIONINFO 二进制字段
res.set_version_info(VersionInfo::FILEVERSION, ver);
res.set_version_info(VersionInfo::PRODUCTVERSION, ver);
if let Err(e) = res.compile() {
eprintln!("Failed to compile resource file: {}", e);
std::process::exit(1);
}
}
// 产品信息
res.set("ProductName", "BootLoader");
res.set("CompanyName", "JoyD");
res.set("FileDescription", "应用程序启动器");
res.set("LegalCopyright", "Copyright JoyD");
println!("cargo:rerun-if-changed=build.rs");
res.compile().unwrap();
}