2012-05-14 61 views
14

当我打开我的安装程序(我使用NSIS创建的)时,会出现UAC对话框,其中包含有关我的安装程序的信息。该字段发行人是'未知'。我听说过数字签名的应用程序,你知道如何在NSIS中做到这一点?为NSIS安装程序设置UAC“发布者”字段

如何将字段/属性发布者设置为“我的安装程序”或其他文本?

我认为下面的代码应该设置出版商领域,但它没有,它仍然是“未知”:

InstallDir "abc" 
Name  "def"   
OutFile  "def.exe" 

VIProductVersion     "1.0.0.0" 
VIAddVersionKey ProductName  "def" 
VIAddVersionKey Comments   "MY DESCRIPTION" 
VIAddVersionKey CompanyName  "My Installer" 
VIAddVersionKey LegalCopyright "MY COMPANYNAME" 
VIAddVersionKey FileDescription "MY DESCRIPTION" 
VIAddVersionKey FileVersion  1 
VIAddVersionKey ProductVersion 1 
VIAddVersionKey InternalName  "def" 
VIAddVersionKey LegalTrademarks "PTY LTD" 
VIAddVersionKey OriginalFilename "def.exe" 

Section 
    DetailPrint "Hello World" 
SectionEnd 
+1

除非你想玩svn的未发布版本的NSIS,否则你不能轻易改变它。请参阅http://stackoverflow.com/questions/4244497/changing-nsis-installer-properties – Seki

+2

重要的是,“发布者”字段通过数字签名完成,发布者是签名的发布者字段。这意味着你需要购买签名,首先。 –

回答

17

你将不得不Authenticodesign与证书安装(如果你想成为Winqual的一部分,那么你需要一个特殊的证书,而MS只允许你使用VeriSign),因为该字段是从数字证书(如果存在的话)中提取的,而不是从PE版本信息中提取的。

要作为构建过程的一部分进行签名,您可以使用hack,或者如果您使用Unicode分支,则可以使用!finalize命令。