首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安装程序检测到vcredist_x64\vc_redist.x64.exe在最初发布后已更改

安装程序检测到vcredist_x64\vc_redist.x64.exe在最初发布后已更改
EN

Stack Overflow用户
提问于 2020-10-02 20:49:04
回答 1查看 1.6K关注 0票数 5

我一直在尝试为一个exe文件做一个安装程序,但是我似乎不能让它工作。无论何时运行setup.exe,它都会出错并显示以下消息

安装程序检测到C:\Usersname\AppData\Local\Temp\VSD4F7F.tmp\vcredist_x64\vc_redist.x64.exe在最初发布后已更改

我试图让它从与我的PC相同的位置下载,但这也不起作用,因为当它构建解决方案时,它错误地说找不到文件。我将正确的文件放在Packages文件夹中,但它仍然不起作用。

作为参考,我使用64位PC进行开发,exe是为64位设计的,而我正在测试的clean PC是64位。我也在使用Windows 10和Visual Studio 2019。

EN

回答 1

Stack Overflow用户

发布于 2020-10-06 15:17:47

我也有同样的问题,我找到了一种解决方法:

似乎安装程序在创建引导程序( Bootstrapper\Packages\vcredist_x64\product.xml. )时会嵌入C:\Program Files (x86)\Microsoft \ClickOnce bootstrapper中的信息更准确地说,它似乎在设置中嵌入了vc++可再发行文件的公钥。

当用户运行安装程序时,引导程序从微软的网站(在我的例子中是https://aka.ms/vs/16/release/vc_redist.x64.exe)下载vcredist并检查数字签名。如果下载文件的公钥与安装程序中嵌入的公钥不匹配,则会出现错误。

现在,我设法(某种程度上)通过手动编辑C:\Program Files (x86)\Microsoft \ClickOnce vcredist将下载的vcredist公钥放入Bootstrapper\Packages\vcredist_x64\product.xml文件并重新构建安装程序项目来修复它。

但是,如果Microsoft再次更改vcredist上的签名,我的设置将再次开始抛出错误。

它快把我逼疯了。我正在考虑: a)从我的安装程序中删除先决条件,并指示用户自己安装vcredist,或者b)在我自己的网站上托管vcredist (并选中“从与我的应用程序相同的位置下载先决条件”)

这两种解决方案都有很大的缺点,然而,每次微软发布“新的”vcredist都不能更新安装程序。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64171845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档