Visual Studio 2017 安装程序一直告诉我 "elevation required"?

Visual Studio 2017 installer keeps telling me "elevation required"?

当我尝试在一台机器上安装 VS 2017 时,尽管我已经是管理员(是的,我已经尝试过“运行 作为管理员”并且弄乱了,但安装程序给我以下错误使用 UAC 等......相信我,我已经尝试了所有常用的东西并且知道 Windows 是如何工作的):

Elevation Required

This program requires administrator privileges to perform setup operations.
Please rerun the program as administrator.

使用 ProcMon 进行跟踪,我在我的临时目录中看到一条日志,似乎指出了原因:

Information : Log configuration: $SERVICEHUBTRACELEVEL=""
Error : HubHost 'desktopClr$C94B8CFE-E3FD-4BAF-A941-2866DBB566FE' PID 3736 stderr: Error running host: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: creationOptions
   at System.Threading.Tasks.Task..ctor(Object state, TaskCreationOptions creationOptions, Boolean promiseStyle)
   at Microsoft.ServiceHub.HostLib.Host..ctor(String hostId, String pipeName, DevHubTraceSource logger)
   at Microsoft.ServiceHub.HostLib.Program.<MainAsync>d__0.MoveNext()

Error : HubHost 'desktopClr$C94B8CFE-E3FD-4BAF-A941-2866DBB566FE' PID 3736 stderr: 

Error : HubHost 'desktopClr$C94B8CFE-E3FD-4BAF-A941-2866DBB566FE' PID 3736 stderr: Unhandled Exception: 
Error : HubHost 'desktopClr$C94B8CFE-E3FD-4BAF-A941-2866DBB566FE' PID 3736 stderr: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: creationOptions
   at System.Threading.Tasks.Task..ctor(Object state, TaskCreationOptions creationOptions, Boolean promiseStyle)
   at Microsoft.ServiceHub.HostLib.Host..ctor(String hostId, String pipeName, DevHubTraceSource logger)
   at Microsoft.ServiceHub.HostLib.Program.<MainAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at ServiceHub.Host.Program.Main(String[] args)

Error : Error starting service 'SetupEngine.ProductsProvider' requested by ProductsProvider (pid: 3340): Hub host 'desktopClr', PID: 3736 exited. code: '3762504530'.
Error : Error starting service 'SetupEngine.Installer' requested by Installer (pid: 3340): Hub host 'desktopClr', PID: 3736 exited. code: '3762504530'.

他们的代码似乎有问题,但这只发生在我的机器上?为什么不是每个人都看到这个?是什么触发了这个问题,我该如何解决?

我最终通过安装 .NET Framework 4.7 解决了这个问题,尽管我怀疑将 4.0 更新到稍微更新的版本也可能有效。

这个问题似乎是 System.Threading.Tasks.Task class 中的错误,它不允许传递本应合法的标志。我认为这是版本不匹配并已修复。

我下载了 VS 预览版 https://visualstudio.microsoft.com/vs/preview/ 然后它再次运行良好

就我而言,原因是 TMP 和 TEMP 环境变量指向已移除驱动器上的不可用路径。