microsoft / Multilingual-App-Toolkit

This repo contains samples that demonstrate the localization workflow for users of the Multilingual Application Toolkit Visual Studio extension and editor. You can also use GitHub Issues to submit feedback, report bugs, or ask questions.
MIT License
25 stars 4 forks source link

Support for Server operating systems, Remove reliance on Windows Runtime components #19

Open gbakeman opened 1 year ago

gbakeman commented 1 year ago

I'm running into multiple issues trying to install the 2017+ edition of the MAT (I believe the 2022 edition has the same problem) on Server 2016 Core Datacenter, Windows version 10.0.14393.0.

Install Error : System.AggregateException: One or more errors occurred. ---> System.TypeLoadException: Could not find Windows Runtime type 'Windows.Networking.Connectivity.NetworkCostType'.
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.ConnectionCostPrivate()
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.get_ConnectionCost()
   at Microsoft.VisualStudio.Setup.Engine.InitializeTelemetryProperties(String operation)
   at Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.Install()
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.PerformSetupEngineInstall(InstallableExtensionImpl extensionToInstall, Boolean installPerMachine, Boolean isPackComponent, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, IProgress`1 progress, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion, IInstalledExtension& newExtension)
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.InstallInternal(InstallableExtensionImpl extension, InstallFlags installFlags, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, AsyncOperation asyncOp, IProgress`1 progress, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.BeginInstall(IInstallableExtension installableExtension, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.Install(IInstallableExtension extension, InstallFlags installFlags, Version targetedVsVersion)
   at VSIXInstaller.SilentEngine.InstallSilently(IInstallableExtension extension, IReadOnlyList`1 installSKUs)
---> (Inner Exception #0) System.TypeLoadException: Could not find Windows Runtime type 'Windows.Networking.Connectivity.NetworkCostType'.
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.ConnectionCostPrivate()
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.get_ConnectionCost()
   at Microsoft.VisualStudio.Setup.Engine.InitializeTelemetryProperties(String operation)
   at Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()<---
System.AggregateException: One or more errors occurred. ---> System.TypeLoadException: Could not find Windows Runtime type 'Windows.Networking.Connectivity.NetworkCostType'.
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.ConnectionCostPrivate()
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.get_ConnectionCost()
   at Microsoft.VisualStudio.Setup.Engine.InitializeTelemetryProperties(String operation)
   at Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.Install()
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.PerformSetupEngineInstall(InstallableExtensionImpl extensionToInstall, Boolean installPerMachine, Boolean isPackComponent, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, IProgress`1 progress, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion, IInstalledExtension& newExtension)
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.InstallInternal(InstallableExtensionImpl extension, InstallFlags installFlags, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, AsyncOperation asyncOp, IProgress`1 progress, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.InstallModule.BeginInstall(IInstallableExtension installableExtension, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion)
   at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.Install(IInstallableExtension extension, InstallFlags installFlags, Version targetedVsVersion)
   at VSIXInstaller.SilentEngine.InstallSilently(IInstallableExtension extension, IReadOnlyList`1 installSKUs)
   at VSIXInstaller.SilentEngine.Execute(ExtensionData data)
   at VSIXInstaller.App.OnStartup(StartupEventArgs e)
---> (Inner Exception #0) System.TypeLoadException: Could not find Windows Runtime type 'Windows.Networking.Connectivity.NetworkCostType'.
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.ConnectionCostPrivate()
   at Microsoft.VisualStudio.Setup.Services.OperatingSystem.get_ConnectionCost()
   at Microsoft.VisualStudio.Setup.Engine.InitializeTelemetryProperties(String operation)
   at Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   at Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()<---

The Windows.Networking namespace API is only available on Windows 10 and up, despite Visual Studio 2022 being supported on multiple versions of Windows Server without that API available. If there could be a compile-only version without the Runtime API components, then that would make it significantly easier to enable build automation.