vs - 在win10中安装vs2013update5

文章目录

    • vs - 在win10中安装vs2013update5
    • 概述
    • 笔记
    • 直接安装vs2013-update5报错
    • 先安装vs2013原版
    • 安装 vs2013 update5
    • 测试
    • 备注
    • END

vs - 在win10中安装vs2013update5

概述

用VS2019写的程序,在早期windows(e.g. win7, win8.1)上安装时,需要UCRT。
UCRT是操作系统的一部分,如果不是最新的早期windows, 必须安装补丁。
这让用户就很不爽了。
软件说明书要在安装这块写很多关于各种早期windows安装时,如何安装补丁的说明。

查了一下, UCRT是VS2015引入的。
如果想避免UCRT安装的问题, 程序就只能用VS2013写。
下载了 cn_visual_studio_ultimate_2013_rc_x86_dvd_2760148.iso, mu_visual_studio_2013_update_5_x86_dvd_6815499.iso
尝试装一下。
如果能装上,以后不是非必须VS2019, 那就用VS2013写。

笔记

直接安装vs2013-update5报错

开始直接装 mu_visual_studio_2013_update_5_x86_dvd_6815499.iso,装不了,报错如下。
在这里插入图片描述
查了资料, 有同学提到这个问题,没说咋解决。
点击报错框的日志,看看可能是啥原因?

[20350:20328][2024-06-01T11:24:29]i052: Condition 'NOT (CurrentOperation = "Uninstall")' evaluates to true.
[20350:20328][2024-06-01T11:24:29]i052: Condition 'NOT (CurrentOperation = "Uninstall")' evaluates to true.
[20350:20328][2024-06-01T11:24:29]i052: Condition 'NOT (CurrentOperation = "Uninstall")' evaluates to true.
[20350:20328][2024-06-01T11:24:29]i052: Condition 'NOT (CurrentOperation = "Uninstall")' evaluates to true.
[20350:20328][2024-06-01T11:24:29]i052: Condition 'NOT (CurrentOperation = "Uninstall")' evaluates to true.
[20350:20328][2024-06-01T11:24:29]i052: Condition 'NOT (CurrentOperation = "Uninstall")' evaluates to true.
[20350:20328][2024-06-01T11:24:29]i052: Condition '(CurrentOperation = "Install") OR (CurrentOperation = "Repair")' evaluates to true.
[20350:20328][2024-06-01T11:24:29]i000: MUX:  Stop Block: NoApplicableUpdates : Update 5 does not apply, or is blocked by another condition on your computer.
[20350:20328][2024-06-01T11:24:29]i000: MUX:  Detect Completed
[20350:20328][2024-06-01T11:24:29]i000: MUX:  Wait for View to be loaded
[20350:2044C][2024-06-01T11:24:29]i000: MUX:  Detect Completed, now create view
[20350:20328][2024-06-01T11:24:29]i000: MUX:  View loaded
[20350:20328][2024-06-01T11:24:29]i000: MUX:  Go to Blocker page.
[20350:20328][2024-06-01T11:24:29]i199: Detect complete, result: 0x0

看到日志说:

  • Condition ‘(CurrentOperation = “Install”) OR (CurrentOperation = “Repair”)’ evaluates to true.
  • 没有应用可以升级 “NoApplicableUpdates : Update 5 does not apply”

这就大概能猜出来了,必须要先安装vs2013原版,再安装vs2013-update5才行。

先安装vs2013原版

cn_visual_studio_ultimate_2013_rc_x86_dvd_2760148.iso
用win10资源管理器打开cn_visual_studio_ultimate_2013_rc_x86_dvd_2760148.iso
在光驱中运行 vs_ultimate.exe
默认安装路径为 C:\Program Files (x86)\Microsoft Visual Studio 12.0
在这里插入图片描述
默认安装选项中空出的那2项,确实不需要。
杀毒软件会拦截VS2013的安装过程,需要人看着允许安装。
正常安装完。
启动了一下,说是发行预览版,要升级。
要不就是要登录,要不就是要升级,没有输入密钥的地方。
点击退出VS2013RC版。

安装 vs2013 update5

mu_visual_studio_2013_update_5_x86_dvd_6815499.iso
用win10资源管理器打开mu_visual_studio_2013_update_5_x86_dvd_6815499.iso
运行光驱中的VS2013.5.exe
勾选"同意", 然后安装
正常安装完成.
启动VS2013-update5
VS2013启动后,显示正在更新新闻,然后就自动退出了…

应该是 mu_visual_studio_2013_update_5_x86_dvd_6815499.iso 这个安装程序不对。
下载了一个 cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso, 这个应该直接可以安装(不需要vs2013原版)。
我就不卸载已经安装的vs2013, 直接安装 cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso。
用win10资源管理器打开cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso,运行光驱中的vs_ultimate.exe
在这里插入图片描述
确实,这个版本是自带vs2013 + update5的,一个安装包就搞定。
那我先卸载了已经安装的vs2013,将前2个没用的vs2013的iso删掉。
卸载的时候显示一直在创建还原点,特别的慢。
取消卸载,关闭计算机,呆一会开机,重新卸载,这时卸载的快多了。
等待卸载完成。
用win10资源管理器打开cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso,运行光驱中的vs_ultimate.exe
默认的安装路径 为 C:\Program Files (x86)\Microsoft Visual Studio 12.0
安装组件和VS2013原版一样,都是默认没勾那2项。
等待安装完成。
安装完成,点击启动按钮。
VS2013update5正常启动,不会自己退出。
在这里插入图片描述
在这里插入图片描述
官方的url应该是变了,产品视频和公告是空的。
找前排同学留下的密钥,输入好使。
安装完成。

测试

新建一个 x64 MFC dlg 工程,确认编译选项,编译成x64-release版。
打开vmware中的win7x64镜像,回到快照win7-7600, 这是原始版本,没打SP1补丁。
拷贝release.exe到win7-7600,运行,提示少mfc120u.dll
拷贝 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64\Microsoft.VC120.MFC 中的2个dll到测试环境

再运行,提示少 MSVCR120.dll
拷贝 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64\Microsoft.VC120.CRT 中的3个dll到测试环境

再运行,可以正常运行了。
那VS2013update5环境就好了。

备注

微软官方光想着自己爽了,到了VS2015之后,程序中必然会用到UCRT, 但是UCRT是操作系统的一部分,无法通过打包来解决。

如果用户环境没打补丁(e.g. win7必须是win7SP1), 必须打补丁,3个补丁, 其中 windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe 是900+MB.

另外的2个补丁虽然不大(windows6.1-kb2533552-x64_0ba5ac38d4e1c9588a1e53ad390d23c1e4ecd04d.msu, Windows6.1-KB2999226-x64.msu),在安装程序中也不好判断,也需要手工来装。

如果不是必须,如果有可能,还是用VS2013来写工程,对于程序员来说,VS2019/VS2022和VS2013区别不大。
看资料时,看到前排同学的笔记,他们是因为一个第三方库使用VS2015编译的,他们那个工程打包才开始包含VS2015的DLL。

UCRT对于MS倒是方便了,对于程序员来说挺恶心的。

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/845807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot整合jasypt加密配置文件敏感信息

SpringBoot整合jasypt加密配置文件敏感信息 在项目中我们需要对配置文件的一些敏感信息进行加密处理,比如数据库账户密码,避免直接暴露出来,这种场景常常用于生产环境,我们不想让开发人员知道生产库的密码,有运维人员…

基础篇01——SQL的基本语法和分类

MySQL数据库安装与基本使用 安装教程参见:通过zip安装MySQL 通过命令行启动和停止MySQL服务命令 前提:安装MySQL成功之后 启动服务:net start mysql 停止服务:net stop mysql 通过命令行连接mysql 可以通过mysql的客户端命令行…

入手戴尔R720,通过iDRAC查看系统信息

想入手服务器很久了,一直担心功耗太高,今天狠心搞了一台戴尔服务器R720。 需求 开虚拟机,核心数要多 学习以下 Windows云桌面AD域控office online serverubuntu试验机 随便折腾不怕玩坏 最好两个网口以上 稳定 四个以上硬盘位 ‍ 为什么是…

在AutoDL上部署百川2大模型

在AutoDL上部署百川2大模型 AUTO DL相关 官网地址 选择容器实例 租用新实例 选择配置 我这里选择3090 , 硬盘尽量选择可以扩容的 , CUDA版本尽量高一点 选择镜像 先将机器关机 先扩容一下数据盘 50G就可以了 然后选择无卡模式开机 因为无卡模式下开机费用会变低 使用JupyterL…

1.3Java对象和类

Java作为一种面向对象语言。支持以下基本概念: 多态继承封装抽象类对象实例方法重载 本节我们重点研究对象和类的概念。 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个…

BrainGPT1,一个帮你b站点歌放视频的多模态多轮对话模型

BrainGPT1,一个帮你b站点歌放视频的多模态多轮对话模型 返回论文目录 项目地址 模型地址 作者:华东师范大学,计算机科学与技术学院,智能教育研究院的小怪兽会微笑。 介绍 BrainGPT1是一个工具调用多轮对话模型,与G…

免费实现网站HTTPS访问

HTTPS(Hypertext Transfer Protocol Secure)是一种基于SSL协议的HTTP安全协议,旨在为客户端(浏览器)与服务器之间的通信提供加密通道,确保数据在传输过程中的保密性、完整性和身份验证。与传统的HTTP相比&a…

【数据结构与算法(C 语言)】栈的基本操作函数(动图演示) 及 栈的实际应用之一:进制转换

目录 1. 前言2. 结构及基本操作函数:2.1 栈的结构类型 Stack2.2 初始化栈 InitStack2.3 销毁栈 DestroyStack2.4 清空栈 ClearStack2.5 判断栈是否为空 StackEmpty2.6 获取stack的长度 StackLength2.7 获取栈顶元素 GetTop2.8 入栈 Push2.9 出栈 Pop2.10 访问元素2.…

COLING 2024: 复旦发布AoR,层级聚合推理突破大模型复杂推理上限

“三个臭皮匠,顶个诸葛亮?” “一个模型不行,那就再堆一个?” 过去当我们在处理复杂任务的时候,往往会考虑集成策略(Ensembling Strategy),通过多个模型投票的方式,选出…

图形学初识--屏幕空间变换

文章目录 前言正文为什么需要屏幕空间变换?什么是屏幕空间变换?屏幕空间变换矩阵如何推导?问题描述步骤描述 结尾:喜欢的小伙伴点点关注赞哦! 前言 前面章节主要讲解了视图变换和投影变换,此时距离在屏幕空间显示也就…

alexnet模型_图像分类算法对动物有无斑纹识别-不含数据集图片-含逐行注释和说明文档

alexnet模型_图像分类算法对动物有无斑纹识别-不含数据集图片-含逐行注释和说明文档 代码下载地址: https://download.csdn.net/download/qq_34904125/89357170 本代码是基于python pytorch环境安装的。 下载本代码后,有个环境安装的requirement.txt…

广告变现是什么

广告变现是指媒体或平台通过向用户展示广告主的广告,从而获得收入的过程。 广告变现就像是一个店主,他需要有一个吸引人的店面,提供优质的内容和服务,然后在店里摆放一些别人的商品或服务,每当有客人看了或买了这…

量化研究---强大的可转债分析系统上线,提供api,实时数据支持

今天把可转债实盘的分析模型拿出来,放在服务器方便选股分析,方便后面对接大qmt直接选股交易 强大的禄得可转债自定义因子轮动系统完成,可转债三低为例子 自定义因子实盘的框架 自定义因子轮动框架非常强大 网页 http://120.78.132.143:8023/…

python上位机串行通信接收字节数据的校验处理-以crc16-modbus为例

在串行通信中,接收到的数据是否正确,一般用CRC校码的方式来完成。上位机向下位机发送数据时,需要加上校验码,同理,下位机向上位机上报数据时,也需要加上校验码。 校验码的计算方法有很多,比较简…

C# WinForm —— 23 Timers.Timer 组件介绍与使用

1. 简介 System.Timers.Timer 计时器 轻量 每隔一段时间触发Elapsed事件,执行操作(不是由UI线程执行的),即使事件中执行了比较耗时的操作,也不会造成 UI 失去响应 如果要获取服务器的计时功能的话,可以使用System.Timers.Timer …

轻松记录收支明细,智能筛选并统计买菜历史记录:一键掌握家庭财务

在繁忙的生活中,你是否曾为家庭财务的琐碎而烦恼?买菜、购物、日常开销……每一笔支出都似乎难以捉摸,让你在月底对账时头疼不已。现在,我们为你带来了一款全新的财务记录工具,让你轻松记录收支明细,智能筛…

关于如何在Arch Linux上编写自己的第一个module

前一段时间一直想深入学习编写一个module插入到自己的内核当中,但是网上的资料基本上全都针对的Ubuntu和Debian等流行的Linux发行版,这里打算简单的记录一波博客。 啥是Module?(着急可不看) 众所周知:现代宏内核架构的操作系统都会借鉴微内核…

vcruntime140.dll丢失如何安装,附找不到vcruntime140.dll的六种解决方法

vcruntime140.dll是一个动态链接库文件,属于Microsoft Visual C Redistributable Packages的一部分,专为Visual Studio 2015开发环境设计。它提供了C运行时库(CRT)中的一些关键功能,以及一些额外的Microsoft特定的运行…

Java排序算法汇总篇,八种排序算法

排序算法汇总: Java排序算法(一):冒泡排序 Java排序算法(二):选择排序 Java排序算法(三):插入排序 Java排序算法(四):快速排序 Java排序算法(五):归并排序 Java排序算法(六):希尔排序 Java排序算法(…

18.Redis之哨兵

1.哨兵机制的介绍 通过自动化的手段,来解决主节点挂了的问题~~ 哨兵机制, 是通过独立的 进程 来体现的.和之前 redis-server 是不同的进程!! redis-sentine| 不负责存储数据,只是对其他的 redis-server 进程起到监控的效果~~ 通常哨兵节点,也会搞一个集合~~(多个哨兵节点构成的…