2015-09-11 81 views
3

我從以前的程序員那裏得到了一個遺留的Visual Studio解決方案文件,該文件中有一個生成.msi安裝程序的vdproj。我使用的是Visual Studio 2015社區版,爲了使用vdproj,我已經安裝了擴展程序this location以實際創建msi。就創建安裝功能軟件的合法安裝程序而言,這一切都運行良好,除了代碼簽名出現一些錯誤外。在Windows 10上,Edge瀏覽器指出文件的簽名已損壞或無效,並且在嘗試安裝產品時會引發類似的警告。您可以跳過警告,但我們不希望我們的客戶必須處理這些警告。Visual Studio 2015 vdproj - 更改或刪除數字簽名

舊版本的軟件(v4.0.106)沒有問題。它的MSI文件沒有數字簽名選項卡,所以我很困惑。

如果有問題,主項目是一個C++項目(vcxproj)。

人對如何要麼任何想法:

  • 完全修復代碼標誌問題在Visual Studio
  • 刪除的MSI創建Visual Studio中的數字簽名一步,所以我不必處理這個問題在所有

我已經在以下鏈接的問題的一些圖像:click。沒有更多的代表,我不能發佈超過1個鏈接或1個圖片。

回答

0

不幸的是,似乎沒有辦法修改Visual Studio 2015中的代碼簽名步驟,至少我可以找到它。我根本不用處理MSI的客戶,而是使用Inno Setup將MSI捆綁到可執行文件中。由於exe沒有簽名問題,瀏覽器不會投訴。因此,創建安裝工具需要一個額外的步驟,但我們的客戶有更輕鬆的時間。

爲了有Inno Setup的運行MSI文件,你可以修改下面的腳本:

[Setup] 
AppName=AppName 
AppVersion=4.0.107 
DefaultDirName={pf}\DirName 
DefaultGroupName=GroupName 
UninstallDisplayIcon={app}\UDisplayIcon.exe 
OutputDir=userdocs:Inno Setup Examples Output 

[Files] 
Source: MSIInstaller.msi; DestDir: {tmp}; Flags: deleteafterinstall; 

[Run] 
; run msi installer 
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\MSIInstaller.msi"" /qb"; WorkingDir: {tmp}; 
1

你的問題出在Win10邊瀏覽器本身,上證Win10 SHA1加密不再支持你需要SHA256

+0

那麼,真正的解決方案是使用支持SHA-256的外部代碼簽名證書/方法重新簽署MSI?我不完全確定你可以重新簽署MSI文件,但我認爲做這樣的操作只需添加第二個數字簽名。 – Deadpikle