2013-07-11 55 views
6

如何爲使用WIX Installer開發的MSI安裝程序提供發佈者名稱?WIX-Installer MSI發佈者Unknown

安裝我的.msi安裝程序時,它顯示未知的發佈者,如何爲發佈者提供名稱?是否可以在WIX​​中執行此操作?如果這麼好心地幫助我如何使用WIX安裝程序來實現這一點。

回答

9

我認爲你正在尋求避免當有人安裝你的設置時顯示的安全警告。爲此,您需要使用您的證書和私鑰對設置進行簽名。您可以嘗試按照下面的鏈接解釋步驟來做到這一點:假設你

正在尋找在發行人名稱控制面板 Programs and Features。您可以在 Product標記中使用 Manufacturer屬性。

<Product Id="PUT-YOUR-GUID" 
Manufacturer="PublisherName" 
Name="ProductName" 
UpgradeCode="PUT-YOUR-GUID" 
Version="1.0.0"> 

+0

實際上,製造商屬性,我的產品標籤中已經提供。當我運行我的msi時會發生什麼,它將顯示在未知發佈者下方。 – reapen

+0

@reapen請參閱已更新的答案 – sttaq

+0

看起來第二個鏈接已經死了。 – Crono

1

使用的WiX的內置工具insignia是相當直接的。這裏的步驟來執行代碼簽署威克斯MSI:

  1. 搭建signtool作爲批處理文件在我的道路,這樣我可以把它輕鬆地改變它。我運行Windows 10等我「signtool.bat」看起來是這樣的:
    "c:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" %*
  2. 設置insignia作爲我路上的批處理文件,也因此你可以用新的WiX的改變它建立,因爲他們來。我的 「insignia.bat」 看起來是這樣的:
    "C:\Program Files (x86)\WiX Toolset v3.10\bin\insignia.exe" %*
  3. 登錄我的MSI在生成後事件(MSI項目 - >屬性 - >生成事件)通過調用此:
    signtool sign /f "c:\certificates\mycert.pfx" /p cert-password /d "Your Installer Label" /t http://timestamp.verisign.com/scripts/timstamp.dll /v $(TargetFileName)

其它注意事項和想法:

  • 我還簽署了應用程序(我認爲)通過只是在做Project Properties -> Signing和enabli ng點擊一次清單,選擇 證書並檢查Sign the assembly選項。

  • 下面是我對如何做相同的,但對於引導一束類似的答案:using insignia to sign WiX MSI and bootstrap bundle