給Delphi程式新增版本資訊

2021-04-08 23:52:32 字數 2843 閱讀 4410

我們在用delphi編譯完程式,準備發布產品時,總希望隨產品發布個性資訊以標示產品的**以及開發者等資訊,就像windows的程式一樣,使我們一看屬性就知道他是微軟的產品,這些在delphi中是如何實現的呢?下面我就來給大家演示和說明給exe,dll檔案新增版本資訊的方法。

第一,給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

//

顧名思義產品版本 |這裡是主版本資訊

fileflag**ask 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

" ,

" "

//

備註

value

" companyname

" ,

" jjony

"

//

公司名

value

" filedescription

" ,

" ***.dll

"

//

產品描述

value

" fileversion

" ,

" 1. 0. 0. 1

"

//

檔案版本

value

" internalname

" ,

""

//

內部名稱

value

" "

,

" "

//

版權資訊

value

" originalfilename

" ,

" ***.dll

"

//

源檔名

value

" productname

" ,

" ***.dll

"

//

產品名

value

" productversion

" ,

" 1. 0. 0. 1

"

//

產品版本

end

end

block

" varfileinfo

"

begin

value

" translation

" , 0x804, 0x03a8

//

這裡是關鍵哦,決定了是什麼語言

end

//

0x0804, 0x03a8簡體中文

end

//

0x0409, 0x04b0英語(美國)

你看出了什麼沒有,實際上就是填充了delphi中的vs_versioninfo和vs_fixedfileinfo結構,只不過這裡面的語言格式是vc的罷了:)

把上面存為.rc檔案(以ver.rc為例)。拷貝delphi7binbrcc32.exe到你的程式目錄,再建立ver.bat,輸入:brcc32 ver.rc 儲存。雙擊執行ver.bat,生成ver.res,然後在你的dll工程裡新增資源 重新編譯dll,你會發現dll也有了自己的版本資訊了。  

NSIS新增安裝程式版本資訊

viaddversionkey productname 產品名稱 viaddversionkey productversion 產品版本 viaddversionkey comments 備註 viaddversionkey companyname 公司名 viaddversionkey inter...

巧用Makefile給Go程式新增版本資訊

golang 的程式編譯安裝,如果善加使用 makefile 檔案,可以使開發過程更規範與高效,比如 給編譯的二進位制檔案 標記上 時間戳與原始碼版本號,方便程式更新與錯誤追溯。開發時,監視檔案修改,自動編譯,執行測試用例,提高工作效率。等等。1 在 golang 中加入以下 package mai...

給VC程式新增版本號與編譯時間

一般來說,發布的正式軟體都會包含程式的svn版本號以及軟體的編譯版本和編譯時間等資訊,但是這些東西並不是預設就存在的,需要我們進行一些步驟的處理。具體做法有幾種,萬變不離其宗的是,利用svn自帶的指令獲取到版本號以及當前時間,填充模板當中的佔位符,最後用替換後的模板覆蓋資源檔案即可。這裡只講最簡單的...