2016-11-30 44 views
-1

我使用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

爲什麼這可能發生的任何想法?

+0

在我的情況下,你的代碼工作正常'PRODUCT_VERSION'。也許你想獲得'FILE_VERSION'而不是'PRODUCT_VERSION'? – RobeN

+0

不幸的是我們想使用'PRODUCT_VERSION'。 – rolledback

+0

我已經在幾個可執行文件上測試過您的代碼,並且在所有情況下函數返回完整的產品版本。你可以在'InitializeSetup'中用'ExpandConstant('{#MyAppVersion}')'調用'MsgBox',並用這個消息發佈屏幕截圖,另一個用文件屬性(詳細信息選項卡)? – RobeN

回答

0

對不起,我會這麼挺對這個問題!我不得不擺脫這個問題一下。原來這是我用的圖書館的一個問題,electron-packager,似乎已通過升級到最新版本解決。雖然我在他們的問題日誌中找不到與此相關的任何內容,但它肯定是問題所在。感謝所有在這個問題上花時間的人。