Windows installer Visual Studio 2015 vdproj--更改或删除数字签名

Windows installer Visual Studio 2015 vdproj--更改或删除数字签名,windows-installer,visual-studio-2015,vdproj,vcxproj,Windows Installer,Visual Studio 2015,Vdproj,Vcxproj,我从以前的程序员那里得到了一个遗留的VisualStudio解决方案文件,该文件中有一个vdproj,可以生成一个.msi安装程序。我使用的是Visual Studio 2015社区版,为了使用vdproj,我在上安装了扩展,以便实际创建msi。在创建安装功能性软件的合法安装程序方面,除了代码签名方面的一些错误外,一切都很好。在Windows 10上,边缘浏览器声明文件的签名已损坏或无效,并在尝试安装产品时发出类似警告。您可以跳过警告,但我们不希望我们的客户必须处理该问题 较旧版本的软件(v4.

我从以前的程序员那里得到了一个遗留的VisualStudio解决方案文件,该文件中有一个vdproj,可以生成一个.msi安装程序。我使用的是Visual Studio 2015社区版,为了使用vdproj,我在上安装了扩展,以便实际创建msi。在创建安装功能性软件的合法安装程序方面,除了代码签名方面的一些错误外,一切都很好。在Windows 10上,边缘浏览器声明文件的签名已损坏或无效,并在尝试安装产品时发出类似警告。您可以跳过警告,但我们不希望我们的客户必须处理该问题

较旧版本的软件(v4.0.106)没有问题。它的MSI文件甚至没有数字签名标签,所以我很困惑

主要项目是C++项目(VCXPROJ),如果这很重要。 任何人对如何:

  • 在Visual Studio中完全修复代码符号问题
  • 在VisualStudio中删除MSI创建中的数字签名步骤,这样我就不必处理这个问题了

我在下面的链接中找到了一些问题的图片:。如果没有更多的代表,我无法发布超过1个链接或1个图像。

不幸的是,似乎无法在Visual Studio 2015中修改代码签名步骤,至少我可以找到。客户机根本不处理MSI,我最终使用将MSI捆绑到一个可执行文件中。由于exe没有签名问题,浏览器不会抱怨。因此,在创建设置工具的过程中需要额外的步骤,但是我们的客户可以更轻松地完成

为了让Inno安装程序运行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};  

您的问题在于Win10边缘浏览器本身,在Win10上,不再支持证书上的SHA1加密,您需要SHA256

因此,真正的解决方案是使用支持SHA-256的外部代码签名证书/方法重新签名MSI?我不完全确定是否可以对MSI文件进行重新签名,但我认为这样做只会添加第二个数字签名。