注册账号 登录
用友之家-用友软件论坛 返回首页

wozengcong的个人空间 https://www.oyonyou.com/?242966 [收藏] [复制] [分享] [RSS]

日志

给Delphi程序(exe,dll)添加版本信息

已有 840 次阅读2013-4-2 00:44 |个人分类:Delphi7| 程序, 信息

注意:
在保存.rc文件时,要保存为Ansi代码页格式
第一,给exe文件添加版本信息。
这个我想大家都会添加的,Delphi已经给我们提供了相关选项了.
具体做法:打开你的工程,选择菜单Project-->Options...--->Version
info
选中"Include version infomation in
project",然后你就可以添加具体版本信息了,
编译你的工程,看生成的exe文件属性,发现已经有了你自己的版本信息了。

第二,给dll文件添加版本信息。
如何给自己的dll文件添加版本信息呢?如果按照上面的方法的话你会发现,在
"Include version infomation in project"你是不能选择的,难道我们真的没办法吗?
答案是利用资源文件,微软早已经为我们做好了准备。
下面是一个具体的例子。

首先建立一个文件后缀为.rc(以ver.rc为例),用记事本打开,拷贝下面内容:
("//"号为注释,会被编译器丢弃,这里只是为了说明才加上的。)

VS_VERSION_INFO
VERSIONINFO //版本信息结构
FILEVERSION 1,0,0,1   
//顾名思义文件版本,就是在属性页版本上面显示的|
PRODUCTVERSION 1,0,0,1
//顾名思义产品版本                            |这里是主版本信息
FILEFLAGSMASK 0x3fL   
//这里设为0x3fL就好了                         |
#ifdef _DEBUG
FILEFLAGS
0x1L         //VS_FF_DEBUG包括debug信息
#else
FILEFLAGS 0x0L        
//无
#endif
FILEOS 0x4L           
//对应于delphi中VOS__WINDOWS32,说明程序是win32程序
FILETYPE 0x2L         
//文件类型,$2是dll,$1是exe
FILESUBTYPE 0x0L       //文件子类型,一般设为0即可
BEGIN
BLOCK
"StringFileInfo" //这里设置文件其他的版本信息(详细信息)
BEGIN
BLOCK "080403A8"  
//所用语言080403A8简体中文,040904b0英语(美国)
BEGIN
VALUE "Comments", "My Dll
Application test"   //备注 
VALUE "CompanyName", "JJony\0"               
//公司名
VALUE "FileDescription", "xxx.dll\0"          //产品描述
VALUE
"FileVersion", "1. 0. 0. 1\0"           //文件版本
VALUE "InternalName",
""                      //内部名称
VALUE "LegalCopyright", "Copyright (C)
2006.6\0" //版权信息
VALUE "OriginalFilename", "xxx.dll\0"           
//源文件名
VALUE "ProductName", "xxx.dll\0"                 //产品名
VALUE
"ProductVersion", "1. 0. 0. 1\0"           //产品版本
END
END
BLOCK
"VarFileInfo"
BEGIN
VALUE "Translation", 0x804, 0x03A8  
//这里是关键哦,决定了是什么语言
END                                      //0x0804,
0x03A8简体中文
END                                          //0x0409,
0x04b0英语(美国)

你看出了什么没有,实际上就是填充了delphi中的VS_VERSIONINFO和VS_FIXEDFILEINFO结构,
只不过这里面的语言格式是VC的罢了:)

把上面存为.rc文件(以ver.rc为例)。
拷贝delphi7\bin\brcc32.exe到你的程序目录,
再建立ver.bat,输入:

brcc32
ver.rc

保存。

双击运行ver.bat,生成ver.res,然后在你的dll工程里添加资源{$R
ver.res}
重新编译dll,你会发现dll也有了自己的版本信息了。 

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册账号

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-5-16 09:13 , Processed in 0.018124 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部