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

Visual Studio 2015 vdproj -- Change or Remove Digital Signature

我从以前的程序员那里得到了一个遗留的 Visual Studio 解决方案文件,其中有一个 vdproj,它可以生成一个 .msi 安装程序。我正在使用 Visual Studio 2015 Community Edition,为了使用 vdproj,我在 this location 安装了扩展程序以实际创建 msi。就创建安装功能软件的合法安装程序而言,这一切都很好,除了一些代码签名错误。在 Windows 10,Edge 浏览器声明文件签名已损坏或无效,并在尝试安装产品时抛出类似的警告。您可以跳过警告,但我们不希望我们的客户不得不处理这些警告。

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

主要项目是一个 C++ 项目 (vcxproj),如果重要的话。

任何人对如何做有任何想法:

我在以下link: click 处得到了一些问题的图片。没有更多代表,我不能 post 超过 1 link 或 1 张图像。

不幸的是,似乎无法在 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};  

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