在安装Visual Studio 2017时出现问题Microsoft建议我运行InstallCleanup.exe -full
此命令从我的计算机中删除了Visual Studio 2017和Visual Studio安装程序,但在此过程中出现了一些问题。Visual Studio 2017安装程序TypeInitializationException
现在,当我尝试安装Visual Studio 2017时,Visual Studio 2017安装程序会在我选择要安装的Visual Studio版本时引发TypeInitializationException。
日志文件显示以下堆栈跟踪:
2017-05-25T17:19:18 : Verbose : Getting product. [installerId: SetupEngine, productId: Microsoft.VisualStudio.Product.Community].
2017-05-25T17:19:21 : Error : Failed to get product. [installerId: SetupEngine, productId: Microsoft.VisualStudio.Product.Community, error: TypeInitializationException at The type initializer for 'Microsoft.VisualStudio.Setup.Utility.StringUtility' threw an exception.
at Microsoft.VisualStudio.Setup.Utility.StringUtility.ReplaceSpecialFolders(String value)
at Microsoft.VisualStudio.Setup.Utility.StringUtility.ReplaceVariables(String value, IEnumerable`1 parameters)
at Microsoft.VisualStudio.Setup.ProductInstaller.GetSerializableProduct()
at Microsoft.VisualStudio.Setup.ProductsProviderService.GetProduct(String channelId, String productId)]
不幸的是我已经无法纠正。我已经重新下载安装程序。卸载并删除任何与VS2017相关的,重新启动,清理临时文件夹。似乎没有任何影响。
我已经要求微软提供指导here,但是两个类似的错误报告here和here没有得到答复,所以我没有什么希望。
我会看看StringUtility
类似乎导致问题的源代码。但我不相信这是开源的。 (我无法在参考资源上找到类似的课程)。我也会尝试通过附加一个调试器来调试正在运行的应用程序,但是,我没有Visual Studio,无法安装新的。
有没有人有任何线索我可以尝试找出导致此异常的原因?或者我可以检查哪些依赖关系?
编辑:使用Collect.exe收集更多的信息后,我发现的InnerException:
05/25/2017 17:55:17 : Error : System.TypeInitializationException: The type initializer for 'Microsoft.VisualStudio.Setup.Utility.StringUtility' threw an exception. ---> System.ArgumentException: Absolute path information is required.
at System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath)
at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String path)
at System.Environment.InternalGetFolderPath(SpecialFolder folder, SpecialFolderOption option, Boolean suppressSecurityChecks)
at Microsoft.VisualStudio.Setup.Utility.StringUtility..cctor()
--- End of inner exception stack trace ---
at Microsoft.VisualStudio.Setup.Utility.StringUtility.ReplaceSpecialFolders(String value)
at Microsoft.VisualStudio.Setup.Utility.StringUtility.ReplaceVariables(String value, IEnumerable`1 parameters)
at Microsoft.VisualStudio.Setup.ProductInstaller.GetSerializableProduct()
at Microsoft.VisualStudio.Setup.ProductsProviderService.GetProduct(String channelId, String productId)Failed to get a catalog
看起来有一些sheneningans一个无效的路径?但是,我将如何找出什么路径:)?