我最近從globalsign購買了authenticode證書,並且在簽署我的文件進行部署時遇到問題。有一些.exe文件由項目生成,然後放入.msi文件中。當我使用signtool簽署.exe文件時,證書是有效的並且運行正常。問題是,當我構建.msi(使用Visual Studio安裝項目).exe文件失去其簽名。因此,我可以在建立.msi後對其進行簽名,但安裝的.exe文件會繼續執行整個「未知發行商」業務。如何保留這些文件上的簽名以便在客戶機上安裝?如何簽名Visual Studio的安裝文件.msi
9
A
回答
11
Visual Studio在編譯時創建兩個文件夾:obj和bin。原來,至少在我的情況下,輸出將始終從obj文件夾複製到bin文件夾中。我在bin文件夾中籤署可執行文件只是爲了讓它們被覆蓋,然後打包到msi中。在obj文件夾中籤署可執行文件解決了這個問題。
0
你是正面的安裝程序項目正在查看簽名的二進制文件而不是未簽名的文件嗎?
我沒有使用msi構建器,但是我會發現它會修改它所打包的文件令人驚訝。
+0
謝謝你指點我在正確的方向 – Alex 2009-11-02 15:55:49
11
您可以在以下PostBuiltEvent添加到您的VS安裝項目(項目屬性):
的Windows 8.0:
"C:\Program Files (x86)\Windows Kits\8.0\bin\x86\signtool.exe" sign /a $(BuiltOutputPath)
的Windows 10:
"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" sign /a $(BuiltOutputPath)
PS :通過引用調整signtools的參數以適應您的需求到the documentation
相關問題
- 1. 如何在安裝msi文件時安裝Sqlserver和visual studio軟件
- 2. Visual Studio:如何命名安裝程序項目的.msi輸出文件?
- 3. Visual Studio 2015安裝錯誤 - webtoolsextensionsvs14.msi
- 4. 如何安裝Visual Studio dll文件?
- 5. 如何基於一組文件創建MSI安裝程序(Visual Studio 2008)
- 6. 使用Visual Studio安裝程序創建msi安裝程序
- 7. 如何在visual studio express 2010中創建安裝程序(msi)?
- 8. msi - 自定義Visual Studio插件的部署安裝項目Addin
- 9. 通過MSI安裝後,可執行文件沒有簽名
- 10. 單次安裝MSI文件安裝
- 11. 維克斯 - 如何安裝MSI文件
- 12. 如何檢索正在安裝的.msi文件的名稱?
- 13. 如何手動簽名MSI文件?
- 14. 非安裝MSI文件
- 15. 如何離線安裝visual studio文檔?
- 16. 如何安裝Visual Studio 2010文檔
- 17. 使用MSI打包一個.EXE文件,以便MSI在msi安裝過程中安裝exe文件
- 18. Visual Studio安裝程序:如何使用msi將程序安裝到程序文件中?
- 19. WIX 3.5 Visual Studio項目創建多個MSI的.NET版本的安裝文件
- 20. Visual Studio安裝
- 21. 如何將先決條件msi與Visual Studio安裝項目捆綁在一起?
- 22. 安裝的Visual Studio
- 23. 使用c安裝Msi文件#
- 24. 用於64位Windows平臺的MSI安裝程序(Visual Studio)
- 25. 使用帶有PostBuildEvent的Visual Studio安裝項目創建MSI包
- 26. 我的Visual Studio擴展MSI安裝程序什麼都不做
- 27. 補丁的MSI與Visual Studio 2005安裝項目創建.vdproj
- 28. Visual Studio安裝項目詢問每個用戶登錄的MSI
- 29. 安裝多個MSI的動態Visual Studio C#
- 30. 在Visual Studio中創建可信的MSI安裝項目?
謝謝,這解決了我的問題! – 2010-01-05 20:30:09
非常感謝。儘管你的回答非常簡潔易讀,但我曾經看到有人試圖表達同樣的意思。你節省了我一生的時間:) – Dawson 2012-09-22 17:47:58