在公司的电脑上安装了vs2015,但是30天体验卡到期之后不能离线激活,所以只能下个vs2017。可微软官网vs2017的社区版停了,另外说一下官网有版本也都是在线的下载器。又由于公司的电脑不能连外网的,所以在安装vs的时候就只能使用安装包。所以只能用一天的时间自己鼓捣了一个离线的安装包。
方法其实就是找一个有网的电脑,用vs2017的在线的下载器,使用命令行下载你需要的组件。请一定记住,你下载了什么在安装组件的时候,就只能勾选什么。如果选多了,当然就是出现各种各样的错误,要不然我怎么会用了一天的时间才下载完成呢......
第一步:找一个可以上网的电脑,在这个电脑上下一个vs2017在线的下载器,可以去网上找一下,一定可以找到。win+R打开命令行,将路径换成你的下载器所在的目录下。
第二步:执行命令vs_Community-2017.exe --layout d:\vs2017 --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --lang zh-CN
大概解释一下,如看不懂请自行搜索。--layout d:\vs2017是将你要的东西下载到这个路径下;
--add Microsoft.VisualStudio.Workload.NativeDesktop 是你要下载哪个组件,我的这句话就是下载c++桌面开发组件
--includeRecommended下载相关工作负载的推荐组件(--includeOptional 就是安装相关工作负载的可选组件,这样会使下载的东西变多,所以随意就好)
--lang zh-CN 是下载中文版,--lang en-US是英文版
其他组件的命令在文章末尾。
这里的界面是:
第三步:就是下载完之后就可以把含有这些安装包的文件夹,拷贝到那个离线的电脑上。然后就是离线安装。同样打开命令行,将路径改成这个文件夹下。因为这个文件夹里有vs_Community-2017.exe。
使用命令vs_Community-2017.exe --noweb 就可以了。
还有一个离线激活的问题,vs2017和vs2019是可以离线激活的(其他的不知道vs2015应该是不行)。就是找一个已经激活的账号,将他C:\Users\**\AppData\Local\Microsoft\VSCommon路径下的OnlineLicensing文件,拷贝到离线电脑的这个路径下,应该就行了。
还搜到一个方法就是可以更改电脑的系统时间,因为你这个电脑是离线的。软件和你一样没有网啥也干不了,但是这样好像使用软件时会有问题,慎用!要不就自己用脚本写一个许可证,可以延期30天的那种,反正我不会写。
安装过程中的错误:
1.“未下载安装文件 已尝试了3次.......”,这里就是我手贱,非得把其他的选项勾上,结果就出现了这个错误,要不就是“缺少布局文件”,不能下载。
2.“未下载安装文件 已尝试了9次......”这个可能是你使用文件夹下的vs_setup.exe启动下载,在网上搜到的错误基本上就是这种。
其他的命令:
Visual Studio 核心编辑器(Visual Studio Community 2017 随附)
ID: Microsoft.VisualStudio.Workload.CoreEditor
说明: Visual Studio 核心 shell 体验,包括语法感知代码编辑、源代码管理和工作项管理。
Azure 开发
ID: Microsoft.VisualStudio.Workload.Azure 说明:用于开发云应用、创建资源以及生成包括 Docker 支持的容器的 Azure SDK、工具和项目。
数据存储和处理
ID: Microsoft.VisualStudio.Workload.Data 说明: 使用 SQL Server、Azure Data Lake 或 Hadoop 连接、开发和测试数据解决方案。
数据科学和分析应用程序
ID: Microsoft.VisualStudio.Workload.DataScience 说明: 用于创建数据科学应用程序的语言和工具(包括 Python、R 和 F#)。
.NET 桌面开发
ID: Microsoft.VisualStudio.Workload.ManagedDesktop 说明: 使用 C#、Visual Basic 和 F# 生成 WPF、Windows 窗体和控制台应用程序。
使用 Unity 的游戏开发
ID: Microsoft.VisualStudio.Workload.ManagedGame 说明: 使用 Unity(功能强大的跨平台开发环境)创建 2D 和 3D 游戏。
使用 C++ 的 Linux 开发
ID: Microsoft.VisualStudio.Workload.NativeCrossPlat 说明: 创建和调试在 Linux 环境中运行的应用程序。
使用 C++ 的桌面开发
ID: Microsoft.VisualStudio.Workload.NativeDesktop 说明:使用 Microsoft C++ 工具集、ATL 或 MFC 生成 Windows 桌面应用程序。
使用 C++ 的游戏开发
ID: Microsoft.VisualStudio.Workload.NativeGame 说明: 以 DirectX、Unreal 或 Cocos2d 为后盾,利用 C++ 的强大功能生成专业游戏。
使用 C++ 的移动开发
ID: Microsoft.VisualStudio.Workload.NativeMobile 说明: 使用 C++ 生成适用于 iOS、Android 或 Windows 的跨平台应用程序。
.NET Core 跨平台开发
ID: Microsoft.VisualStudio.Workload.NetCoreTools 说明: 使用 .NET Core、ASP.NET Core、HTML/JavaScript 和包括 Docker 支持的容器生成跨平台应用程序。
使用 .NET 的移动开发
ID: Microsoft.VisualStudio.Workload.NetCrossPlat 说明: 使用 Xmarin 生成适用于 iOS、Android 或 Windows 的跨平台应用程序。
ASP.NET 和 Web 开发
ID: Microsoft.VisualStudio.Workload.NetWeb 说明: 使用 ASP.NET、ASP.NET Core、HTML/JavaScript 和包括 Docker 支持的容器生成 Web 应用程序。
Node.js 开发
ID: Microsoft.VisualStudio.Workload.Node 说明: 使用 Node.js(事件驱动的异步 JavaScript 运行时)生成可扩展的网络应用程序。
Office/SharePoint 开发
ID: Microsoft.VisualStudio.Workload.Office 说明: 使用 C#、VB 和 JavaScript 创建 Office 和 SharePoint 外接程序、SharePoint 解决方案和 VSTO 外接程序。
Python 开发
ID: Microsoft.VisualStudio.Workload.Python 说明: 适用于 Python 的编辑、调试、交互式开发和源代码管理。
通用 Windows 平台开发
ID: Microsoft.VisualStudio.Workload.Universal 说明: 使用 C#、VB 和 JavaScript 或 C++(可选)创建适用于通用 Windows 平台的应用程序。
Visual Studio 扩展开发
ID: Microsoft.VisualStudio.Workload.VisualStudioExtension 说明: 创建适用于 Visual Studio 的加载项和扩展,包括新命令、代码分析器和工具窗口。
使用 JavaScript 的移动开发
ID: Microsoft.VisualStudio.Workload.WebCrossPlat 说明: 使用用于 Apache Cordova 的工具生成 Android、iOS 和 UWP 应用。