Bladeren bron

detect store-installed powershell - fixes #5212

Eugene Pankov 4 jaren geleden
bovenliggende
commit
0c601592e3
1 gewijzigde bestanden met toevoegingen van 15 en 14 verwijderingen
  1. 15 14
      tabby-local/src/shells/windowsStock.ts

+ 15 - 14
tabby-local/src/shells/windowsStock.ts

@@ -73,21 +73,22 @@ export class WindowsStockShellsProvider extends ShellProvider {
     }
 
     private async getPowerShellPath () {
-        const ps = 'powershell.exe'
-
-        if (!await promisify(hasbin)(ps)) {
-            for (const searchPath of [
-                `${process.env.SystemRoot}\\System32\\WindowsPowerShell\\v1.0`,
-                `${process.env.SystemRoot}\\System32`,
-                process.env.SystemRoot ?? 'C:\\Windows',
-            ]) {
-                const newPath = path.join(searchPath, ps)
-                try {
-                    await fs.stat(newPath)
-                    return newPath
-                } catch { }
+        for (const name of ['pwsh.exe', 'powershell.exe']) {
+            if (await promisify(hasbin)(name)) {
+                return name
             }
         }
-        return ps
+        for (const psPath of [
+            `${process.env.USERPROFILE}\\AppData\\Local\\Microsoft\\WindowsApps\\pwsh.exe`,
+            `${process.env.SystemRoot}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,
+            `${process.env.SystemRoot}\\System32\\powershell.exe`,
+            (process.env.SystemRoot ?? 'C:\\Windows') + '\\powerhshell.exe',
+        ]) {
+            try {
+                await fs.stat(psPath)
+                return psPath
+            } catch { }
+        }
+        return 'powershell.exe'
     }
 }