版本修改
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user