Skip to content

Commit f66a7d8

Browse files
Don't update PackageManagement on ConstrainedLanguage mode (#1288)
Co-authored-by: Tyler Leonhardt (POWERSHELL) <[email protected]>
1 parent ea2589c commit f66a7d8

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/PowerShellEditorServices/Services/PowerShellContext/Handlers/GetVersionHandler.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,13 @@ private async Task CheckPackageManagement()
8787
break;
8888
}
8989

90-
_logger.LogDebug("Old version of PackageManagement detected. Attempting to update.");
90+
_logger.LogDebug("Old version of PackageManagement detected.");
91+
92+
if (_powerShellContextService.CurrentRunspace.Runspace.SessionStateProxy.LanguageMode != PSLanguageMode.FullLanguage)
93+
{
94+
_languageServer.Window.ShowWarning("You have an older version of PackageManagement known to cause issues with the PowerShell extension. Please run the following command in a new Windows PowerShell session and then restart the PowerShell extension: `Install-Module PackageManagement -Force -AllowClobber -MinimumVersion 1.4.6`");
95+
return;
96+
}
9197

9298
var takeActionText = "Yes";
9399
MessageActionItem messageAction = await _languageServer.Window.ShowMessage(new ShowMessageRequestParams
@@ -120,6 +126,7 @@ await _powerShellContextService.ExecuteScriptStringAsync(
120126

121127
if (errors.Length == 0)
122128
{
129+
_logger.LogDebug("PackageManagement is updated.");
123130
_languageServer.Window.ShowMessage(new ShowMessageParams
124131
{
125132
Type = MessageType.Info,
@@ -129,6 +136,7 @@ await _powerShellContextService.ExecuteScriptStringAsync(
129136
else
130137
{
131138
// There were errors installing PackageManagement.
139+
_logger.LogError($"PackageManagement installation had errors: {errors.ToString()}");
132140
_languageServer.Window.ShowMessage(new ShowMessageParams
133141
{
134142
Type = MessageType.Error,

0 commit comments

Comments
 (0)