我們在用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自帶的指令獲取到版本號以及當前時間,填充模板當中的佔位符,最後用替換後的模板覆蓋資源檔案即可。這裡只講最簡單的...