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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

kali-搭建Pikachu漏洞练习平台

环境:kali 压缩包:pikachu-master.zip (下载地址:GitHub - zhuifengshaonianhanlu/pikachu: 一个好玩的Web安全-漏洞测试平台) 1.mysql 1.开启kali中自带的mysql systemctl restart mysql #重启MySQL服务 systemc…

Linux下的配置工具menuconfig+配置文件(Kconfig/.config/defconfig)

我们都知道,嵌入式开发中,或者说C语言中,配置基本都是通过宏定义来决定的,在MCU开发中,代码量比较小,配置项也比较少,我们直接修改对应的宏定义即可。 但是,Linux开发中,操作系统、驱动部分还有应用部分加起来,代码量极大,配置项目也非常多,这时候,就需要对这些配…

Amazon云计算AWS(三)

目录 五、关系数据库服务RDS(一)RDS的基本原理(二)RDS的使用 六、简单队列服务SQS(一)SQS的基本模型(二)SQS的消息 七、内容推送服务CloudFront(一)CDN&#…

公告:公众号铁粉粉丝介绍以及说明

大家好,我是公众号博主--夏目 机械电气电机杂谈是我个人建立,为分享机械,电气,电机知识为主,闲谈杂聊社会时事,职场见闻,生活琐事,成长趣事,学习心得,读书观影…

Java面试——专业技能

优质博文:IT-BLOG-CN 一、简单讲下 Java 的跨平台原理 由于各个操作系统(Windows,Linux等)支持的指令集不是完全一致的。就会让我们程序在不同的操作系统上要执行不同的程序代码。Java 开发了适用于不同操作系统及位数的 Java 虚拟…

linux系统——计算机网络协议,ifconfig命令

在linux系统中,可以在指定文件查看网卡名,进而使用ifconfig网卡名查询相应网络信息

Golang | Leetcode Golang题解之第113题路径总和II

题目: 题解: type pair struct {node *TreeNodeleft int }func pathSum(root *TreeNode, targetSum int) (ans [][]int) {if root nil {return}parent : map[*TreeNode]*TreeNode{}getPath : func(node *TreeNode) (path []int) {for ; node ! nil; no…

实操:serverless-step-functions-local

目录 问题 依赖组件 调用流程 代码设置 1、安装依赖插件: 2、serverless.yml配置,我这里只提供stepfunction依赖的配置 3、业务代码中使用本地stepdunction 4、启动serverless offline 5、docker 安装启动stepfunction ⚠️注意 1、docker访问…

2006NOIP普及组真题 4. 数列

线上OJ: 【06NOIP普及组】数列 思考: 这道题大概率是一道可以使用“瞪眼法”找到规律的题目。我们尝试把数据补充的更多,以便于寻找规律 当 k3 时,k的幂次为1, 3, 9, 27, 81… 从上述推理中,我们发现要输出的幂次和中…

MES系统的功能、架构及应用价值

MES系统生产过程控制的主要方面涵盖了生产计划与控制、生产调度与排程、数据采集与监控、质量控制与管理、物料管理与控制以及设备管理与维护等多个方面。这些功能共同构成了MES系统的核心价值,帮助企业实现生产过程的数字化、智能化和精细化管理。 一、工厂使用MES…

新宏观范式和产业趋势下,纷享销客如何助力企业出海?

出海,已不再是企业的“备胎”,而是必须面对的“大考”!在这个全球化的大潮中,有的企业乘风破浪,勇攀高峰,也有的企业在异国他乡遭遇了“水土不服”。 面对“要么出海,要么出局”的抉择&#xff…

24年海南三支一扶报名流程步骤详解

一、考试时间安排: 报名时间:6月1日8:00至6月7日18:00 准考证打印时间:6月17日8:00 考试时间:6月22日 二、招聘人数 海南省计划招募390名高校毕业生 三、笔试内容: 笔试内容:综合能力和素质(满分…

达摩院AI早癌筛查技术闪耀联合国,癌症早治时代来临?

全文预计1200字左右,预计阅读需要6分钟。 5月30日,在日内瓦举行的联合国AI大会上,各国的代表性企业拿出最优秀的AI成果进行分享。其中代表中国的是阿里巴巴集团的下属机构-达摩院,其在现场播放的一段影像,让在场的所有…

C++之类的三种继承修饰符(public、private、protected)总结

1、前言 前文博客介绍了修饰符public、private、protected在类中成员变量和函数访问权限限制的总结,主要如下: public(公有): 公有成员在类的内部和外部都可以被访问。 private(私有): 私有成员只能在类的内…

nginx隐藏版本号、错误信息页面隐藏nginx软件、修改 HTTP 头信息中的connection 字段,防止回显具体版本号、curl命令

目录 安装之后隐藏 配置文件 源代码配置安装之前隐藏 修改nginx.h文件中的 13、14行 修改 HTTP 头信息中的connection 字段,防止回显具体版本号 配置文件49行 错误页面程序返回版本号、nginx隐藏 配置文件36行 ​编辑 安装nginx 相关选项说明 curl命令测试…

好用的linux链接工具

工具下载链接: FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.3.10,更新日期2023.12.31 - FinalShell官网FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.特色功…

mac电脑安卓设备文件传输助手:MacDroid pro 中文激活版

MacDroid Pro是一款专为Mac电脑和Android设备设计的软件,旨在简化两者之间的文件传输和数据管理,双向文件传输:支持从Mac电脑向Android设备传输文件,也可以将Android设备上的文件轻松传输到Mac电脑上。完整的文件访问和管理&#…

python的一种集成开发工具:PyCharm开发工具

一. 简介 本文简单了解两种 python语言所使用的 集成开发环境: PyCharm、vscode。 python语言学习中,可以任意选中这两个集成开发环境的一种就可以。本文先来简单学习 PyCharm开发工具安装与使用。 二. python的一种集成开发工具:PyChar…

智慧交通视频AI监控识别解决方案

背景分析 随着社会的进步和科技的不断发展,互联网技术和AI视觉分析技术日益成熟,为传统交通监控领域带来了新的发展机遇。AI视觉分析技术的引入,不仅提升了交通监控的智能化和自动化水平,还显著减轻了交管部门的工作负担&#xf…

wafw00f一键检测目标防火墙信息(KALI工具系列十五)

目录 1、KALI LINUX简介 2、wafw00f工具简介 3、在KALI中使用lbd 3.1 查看可检测的防火墙对象 3.2 目标防火墙种类检测 3.3 目标防火墙详细信息检测 3.4 将检查结果输出 4、总结 1、KALI LINUX简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版,广…