今天看到了有Visual Studio 15 Preview 4的安装文件放出,便想去安装体验一下C# 7.0的新语法。谁知安装时遇到一个错误:

手动下载这个补丁安装后,还是提示这个错误。本来以为是还有一些其它的依赖补丁没有装,便下了一个大的离线补丁包全部更新了一遍,发现还是没有用。

在MSDN上看了一下:https://blogs.msdn.microsoft.com/visualstudio/2016/08/22/visual-studio-15-preview-4/ 有很多人遇到和我一样的错误,但却没有解决方案。

本来准备放弃的,无意中将安装包vs_bootstrapper.exe用winrar解压了一下,发现它就是用wpf写的一个程序,便用ILSpy看了一下它的代码,发现其检查的函数在Boosttrapper.Execute函数中:

]);
        TimeSpan timeSpan2 = DateTime.Now - startTime;
        Tuple<string, object>[] initialProperties2 = new Tuple<string, object>[]
        {
            Tuple.Create<string, object>(TelemetryConstants.PROPERTY_TOTALTIME, timeSpan2.TotalMilliseconds)
        };
        this.telemetryService.PostFailureEvent(TelemetryConstants.EVENT_CHECK_KB, text2, initialProperties2);
        this.mainWindow.ShowError(Strings.Error_NeedKB);
        return;
    }

继续查看Utilities.DetectDismApiDll函数,其代码如下:

// Microsoft.VisualStudio.Setup.Bootstrapper.Utilities
public static bool DetectDismApiDll()
{
    string fileToFind = "dismapi.dll";
    string arg_30_0 = Path.Combine(Environment.GetEnvironmentVariable("windir"), "system32");
    string directoryToSearch = Path.Combine(Environment.GetEnvironmentVariable("windir"), "syswow64");
    return Utilities.IsInDirectory(arg_30_0, fileToFind) || Utilities.IsInDirectory(directoryToSearch, fileToFind);
}

看到这里就基本上清晰了,它主要就检查了系统目录下有没有dismapi.dll这个文件,坑爹的是,装了补丁后,该目录下还是没有这个dll的。由于它并不检查内容,我便自己手动复制了一个dll改名为C:\Windows\SysWOW64\dismapi.dll。

再次启动安装程序,就可以看到安装界面了。安装速度还是蛮快的,基本上十几分钟就下载完了,下载完后的安装异常快速,感觉不像以前那样写GAC了,比之前版本的VS的在线安装包快多了。安装后虽然提示有几个包没有下载下来,但还是能正常运行的。

Visual Studio 15 Preview 4安装的更多相关文章

  1. 【译】Visual Studio 15 预览版更新说明

    序:恰逢Build2016大会召开,微软发布了VS2015的update2更新包和VS2016预览版.本人正在提升英文水平中,于是在这里对VS2016预览版的官方文档进行了部分翻译.因为VS有些功能使 ...

  2. visual.studio.15.preview5 编译器

    前段时间微软更新了新版开发工具visual studio 15 preview5,安装后连文件结构目录都变了,想提取编译器还找不到. 不是原来的VC\BIN目录,已迁移到IDE\MSVC\14.10. ...

  3. win8.1安装开发工具 vs2015 Visual Studio 2015 Preview Downloads

    1.首先全新安装win8.1 略 破解激活.... 2.安装Visual Studio 2015 Visual Studio 2015 是免费的,不存在破解版本, 如果安装过程中存在问题,建议先把本文 ...

  4. Visual.Studio.2013.IDE+visual.studio.15.preview5 编译器

    硬盘版Visual.Studio.2013.IDE + visual.studio.15.preview5 编译器 使用前注意以下事项: 1.右键-管理员权限安装,VS15补丁.exe,补丁是VS15 ...

  5. Visual Studio 2013 Preview对C++11的支持

    为期3天的微软Build 2013大会结束了,作为微软一年一度的开发者大会,微软也做足了功夫:很多产品(包括Windows 8.1和Visual Studio 2013 Preview)发布,chan ...

  6. 2019年第一天——使用Visual Studio 2019 Preview创建第一个ASP.Net Core3.0的App

    一.前言: 全文翻译自:https://www.talkingdotnet.com/creating-first-asp-net-core-3-0-app-visual-studio-2019/ Vi ...

  7. Visual Studio 2022 Preview 1 和.NET 6 Preview 5 正式发布

    具有里程碑意义的Visual Studio 2022 Preview 1正式发布,重点是64位,而没有增加新功能,并且同时也发布了.NET 6 Preview 5. https://devblogs. ...

  8. Visual Studio 2013 Preview 高清多图先睹为快

    Visual Studio 2013 Preview已经发布.大家可以下载试用了哦: 选项加载明显比之前版本要快很多.

  9. visual studio for mac的安装初体验

    微软2016 Connect 大会发布了visuo studio for mac的pre版本,由于工作原因,现在工作环境是mac,虽然开发现在是在用python,但一直关注着.net的发展,于是自己很 ...

随机推荐

  1. Delphi、C C++、Visual Basic数据类型的对照 转

    Delphi.C C++.Visual  Basic数据类型的对照 变量类型 Delphi C/C++ Visual Basic 位有符号整数 ShortInt char -- 位无符号整数 Byte ...

  2. java 8 原版 api 下载地址,

    http://download.oracle.com/otn-pub/java/javafx/8.0.25-b17/javafx-8u25-apidocs.zip?AuthParam=14174994 ...

  3. RDLC An unexpected error occurred while compiling expressions. Native compiler return value: '-1073741511'

    One of my web project, which has a rdlc file using some expressions, was working fine while developi ...

  4. day1作业--三级菜单

    作业概述: 写一个三级菜单 实现如下功能: (1)可依次选择进入各子菜单 (2)在每一级按“b”都可以返回上一级,按“q"都可以退出 流程图: readme: 简介: three_menu. ...

  5. 传入url地址请求服务器api,浏览器显示图片

    @RequestMapping("/proxyImage") public void proxyImage(HttpServletRequest request, HttpServ ...

  6. Spark Shuffle数据处理过程与部分调优(源码阅读七)

    shuffle...相当重要,为什么咩,因为shuffle的性能优劣直接决定了整个计算引擎的性能和吞吐量.相比于Hadoop的MapReduce,可以看到Spark提供多种计算结果处理方式,对shuf ...

  7. Oracle补习班第九天

    Better to light one candle than to curse the darkness. 与其诅咒黑暗,不如点亮烛光! 1,用SQL备份数据库数据文件 sqlplus / as s ...

  8. JVM实用参数(四)内存调优

    理想的情况下,一个Java程序使用JVM的默认设置也可以运行得很好,所以一般来说,没有必要设置任何JVM参数.然而,由于一些性能问题(很不幸的是,这些问题经常出现),一些相关的JVM参数知识会是我们工 ...

  9. IIS7.0上传文件限制的解决方法

    在 Windows7(iis7.5).Win2008(iis 7.0)和Win2003(iis 6.0) 中,默认设置是特别严格和安全的,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击. ...

  10. spring 学习之 bean 的注入方式 property和constructor-arg的使用方式

    spring 学习之 bean 的注入方式 property和constructor-arg的使用方式. bean的注入方式: property 注入是: 通过setxx方法注入. construct ...