16
我有一個名爲setup.exe的基於NSIS的安裝程序文件。當我進入「屬性」 - >「詳細信息」時,許多細節都丟失了。當我運行安裝程序時,UAC請求提升權限(這沒問題),但發佈者是「未知」。更改NSIS安裝程序屬性
如何在最終的setup.exe中設置這些屬性,最好是隻更改NSIS安裝程序腳本本身?
我有一個名爲setup.exe的基於NSIS的安裝程序文件。當我進入「屬性」 - >「詳細信息」時,許多細節都丟失了。當我運行安裝程序時,UAC請求提升權限(這沒問題),但發佈者是「未知」。更改NSIS安裝程序屬性
如何在最終的setup.exe中設置這些屬性,最好是隻更改NSIS安裝程序腳本本身?
對於屬性,您需要版本信息表:各種VIAddVersionKey
指令和VIProductVersion
。作爲一個例子,這裏是一個從PortableApps.com Launcher片段:
Name "${NamePortable} (PortableApps.com Launcher)"
OutFile "${PACKAGE}\${AppID}.exe"
Icon "${PACKAGE}\App\AppInfo\appicon.ico"
Caption "${NamePortable} (PortableApps.com Launcher)"
VIProductVersion ${Version}
VIAddVersionKey ProductName "${NamePortable}"
VIAddVersionKey Comments "A build of the PortableApps.com Launcher for ${NamePortable}, allowing it to be run from a removable drive. For additional details, visit PortableApps.com"
VIAddVersionKey CompanyName PortableApps.com
VIAddVersionKey LegalCopyright PortableApps.com
VIAddVersionKey FileDescription "${NamePortable} (PortableApps.com Launcher)"
VIAddVersionKey FileVersion ${Version}
VIAddVersionKey ProductVersion ${Version}
VIAddVersionKey InternalName "PortableApps.com Launcher"
VIAddVersionKey LegalTrademarks "PortableApps.com is a Trademark of Rare Ideas, LLC."
VIAddVersionKey OriginalFilename "${AppID}.exe"
至於UAC提示出版商場,這是不同的。這與簽署有關。您首先需要一個數字證書,這需要花錢,然後您可以將它與!finalize
集成。
!finalize僅用於SVN構建,您必須等待該命令的2.47。但是在NSIS論壇上還有一些關於簽名使用的其他線程!system – Anders 2010-11-22 17:06:33
@Anders:啊,我剛剛搜索了「nsis sign」(知道可以完成,我們的頭人簽署了我們的東西),並且發現了很多關於簽名* uninstallers *但沒有什麼安裝程序。 (關於簽署卸載程序的Wiki頁面,但沒有任何關於簽署安裝程序的內容?應該糾正這一點。)我沒有認出'!finalise',但認爲它可能已在2.46中引入,我忘了它。考慮到我已經爲它完成了一個Vim語法文件並通過了這些命令,我想我只是沒有真正想到它。 – 2010-11-22 23:48:13