我使用Inno Setup的做了一個應用程序的安裝。在我的.iss腳本中,我使用GetStringFileInfo(SourceDir + "\myapp\myapp.exe", PRODUCT_VERSION)
從我的exe的元數據中獲取「產品版本」。更具體地講我目前有:GetStringFileInfo不斂最後一個字符
#define MyAppVersion GetStringFileInfo(SourceDir + "\myapp\myapp.exe", PRODUCT_VERSION)
AppVersion={#MyAppVersion}
不幸的是,它似乎不被抓住的產品版本的最後一個字符,我想不通爲什麼。例如,如果產品版本是1.1.1
,那麼在控制面板中我會看到1.1.
。
我可以證實通過右鍵單擊.exe和看細節,但是當我看到在控制面板上安裝最後一個字符缺少應用程序後的產品版本價值。
我已經試過其他元數據值,如FILE_VERSION
更換PRODUCT_VERSION
,和完美的作品。該問題似乎只與PRODUCT_VERSION
。
爲什麼這可能發生的任何想法?
在我的情況下,你的代碼工作正常'PRODUCT_VERSION'。也許你想獲得'FILE_VERSION'而不是'PRODUCT_VERSION'? – RobeN
不幸的是我們想使用'PRODUCT_VERSION'。 – rolledback
我已經在幾個可執行文件上測試過您的代碼,並且在所有情況下函數返回完整的產品版本。你可以在'InitializeSetup'中用'ExpandConstant('{#MyAppVersion}')'調用'MsgBox',並用這個消息發佈屏幕截圖,另一個用文件屬性(詳細信息選項卡)? – RobeN