如何解决如何使用vc_redist引导程序调试问题?
我有一个Visual Studio安装程序项目(一个vdproj),该项目不会安装VC可再发行组件。我不知道为什么。
我正在使用Visual Studio 2019的最新更新以及安装程序项目扩展名。这是我的必备设置:
在安装时,我收到一条错误消息<html>
<body>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital@1&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" rel="stylesheet">
<link href="Stylesheetlol.css" rel="stylesheet">
<!--—Navbar and Logo—-->
<div class="topnav" id="myTopnav">
<i class="logo"><img id="myLogo" src="https://t4.ftcdn.net/jpg/02/77/45/89/240_F_277458983_6C5chZcmha2MymgJySMsiqIxJvzxgmVd.jpg" style="height:45px;float:right;border-radius: 3px;-webkit-user-drag: none;"></i>
<a href="#home" class="active">Home</a>
<a href="#news">News</a>
<a href="#contact">Contact</a>
<a href="#about">About</a>
<a href="javascript:void(0);" class="icon" onclick="myFunction()">
<i class="fa fa-bars"></i>
</a>
</div>
。我在C:\ Program Files(x86)\ Microsoft SDKs \ ClickOnce Bootstrapper \ Packages \ vcredist_x64中检查了引导程序,发现在那里找到的URL(https://aka.ms/vs/16/release/14.26.55555/vc_redist.x64.exe)重定向到了Microsoft主主页并下载HTML而不是可执行文件。因此,我将URL更改为https://aka.ms/vs/16/release/vc_redist.x64.exe,然后更改为https://aka.ms/vs/16/release/14.27.29016/vc_redist.x64.exe。当您使用Web浏览器访问这两个URL时,这两个URL都会下载VC_redist.x64.exe的副本,但是它们都不修复安装程序。
更改URL后,我看到的唯一区别是,在原始URL下,我在temp安装文件夹中得到了一个名为vcredist_x64 \ vc_redist.x64.exe的文件(但它是无效的,充满了HTML),但有两个新文件vcredist_x64文件夹的URL为空。
您知道我需要做什么才能使它正常工作吗?
解决方法
我找到了解决方案。我需要更改URL 和公钥。以下是您将来为解决此类问题所应遵循的步骤:
- 找到URL仍可用的版本。当前可从以下位置获取最新版本:https://aka.ms/vs/16/release/vc_redist.x64.exe。该文件的特定版本URL当前为http://aka.ms/vs/16/release/14.27.29016/vc_redist.x64.exe。
- 记下版本号。如果您还不了解它,只需将鼠标悬停在文件浏览器中的已下载文件上即可。
- 找到公钥。我从this问题的答案中学到了如何做到这一点。通过右键单击vc_redist.x64.exe,选择 properties , Digital Signatures ,然后双击 sha1 条目,可以找到密钥。 。点击查看证书,然后点击详细信息,然后点击公钥。复制文本框中显示的值。
- 从复制的公钥中删除所有空格。 vc_redist.x64.exe的v14.27.29016的公共密钥为:
3082010a02820101009208daf213e09ec32da6e2dfdaef8c19ec2f584f0bf53f20b806f33f91258f36cf27d114def85bd87d4f84f6e7f4b7b9d8940cc78cafa99627f60610fe36076121443cb15c163b7f6d8ef4111e33f6fffbd2bc87e69a446830bd488678ecf64422650cd8443618469f71490626470423939865f3f53b4603a24038ad547694ec14f5308f7695f651b882030d805dbd7b5b7256093153b0a99b6fd0ef73402adeb7a47e7d148668335f104a5c20b2fe0fb455dcce2e6891384dae8a00e76f57e315689a7561715364f2ada631cee9df691d03d9886ecd742e906e74469ac6b8f2e350adbe807e62ca0c8d4ba77d56328813697e6d65ff82653f4f4aebe33822cd0203010001
- 以管理员身份在文本编辑器中打开
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\vcredist_x64\product.xml
。 - 用在步骤4中准备的密钥替换
PublicKey
的值。 - 在
BypassIf
元素中,将Value
替换为您在步骤2中记下的版本。保存并关闭文件。 - 以管理员身份在文本编辑器中打开
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\vcredist_x64\en\package.xml
。 - 用步骤1中的URL替换
VCRedistExe
。您可以使用通用URL或特定于版本的URL。它们都有缺点。保存并关闭文件。 - 重建安装程序。
您可能需要针对您的环境进行调整。
关于URL的选择,我怀疑它们都不会永远起作用。如果您使用特定于版本的URL,则该版本可能会消失(这就是我们首先要弄乱它的全部原因)。如果您使用与版本无关的网址,那么当新版本发布时,产品密钥可能会不匹配。
很不幸,Microsoft通过删除旧的Redist软件包来破坏现有安装程序,并且没有提供开箱即用的新安装程序所需的更新。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。