Giter VIP home page Giter VIP logo

install-windowsterminal's Introduction

PowerShell Gallery Downloads GitHub Downloads - All Releases Release GitHub Release Date - Published_At

GitHub Sponsor Ko-Fi Button

Install Windows Terminal from PowerShell

Install Windows Terminal, dependencies, and required fonts, entirely from PowerShell.

Script Functionality

  1. Installs winget using winget-install
  2. Installs Windows Terminal
  3. Downloads & installs the Cascadia Mono font from Cascadia Code

Requirements

  • Requires PowerShell running with Administrator rights
  • Compatible with:
    • Windows 10 (Version 1809 or higher)
    • Windows 11
    • Server 2022
    • Windows Sandbox
  • Not compatible with:
    • Server 2019 (winget not supported)

Setup

Method 1 - PowerShell Gallery

Tip

If you want to trust PSGallery so you aren't prompted each time you run this command, or if you're scripting this and want to ensure the script isn't interrupted the first time it runs...

Install-PackageProvider -Name "NuGet" -Force
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted

This is the recommended method, because it always gets the public release that has been tested, it's easy to remember, and supports all parameters.

Open PowerShell as Administrator and type

Install-Script Install-WindowsTerminal -Force

Follow the prompts to complete the installation (you can tap A to accept all prompts or Y to select them individually.

Note: -Force is optional but recommended, as it will force the script to update if it is outdated. If you do not use -Force, it will not overwrite the script if outdated.

Usage

Install-WindowsTerminal

If Windows Terminal is already installed, you can use the -Force parameter to force the script to run anyway.

The script is published on PowerShell Gallery under Install-WindowsTerminal.

Method 2 - One Line Command (Runs Immediately)

The URL asheroto.com/terminal always redirects to the latest code-signed release of the script.

If you just need to run the basic script without any parameters, you can use the following one-line command:

Option A:

irm asheroto.com/terminal | iex

Due to the nature of how PowerShell works, you won't be able to use any parameters like -Force with this command line. Use this instead:

&([ScriptBlock]::Create((irm asheroto.com/terminal))) -Force

Option B:

Alternatively, you can of course use the latest code-signed release URL directly:

irm https://github.com/asheroto/Install-WindowsTerminal/releases/latest/download/Install-WindowsTerminal.ps1 | iex

Method 3 - Download Locally and Run

As a more conventional approach, download the latest Install-WindowsTerminal.ps1 from Releases, then run the script as follows:

.\Install-WindowsTerminal.ps1

Tip

If for some reason your PowerShell window closes at the end of the script and you don't want it to, or don't want your other scripts to be interrupted, you can wrap the command in a powershell "COMMAND HERE". For example, powershell "irm asheroto.com/terminal | iex".

Parameters

No parameters are required to run the script, but there are some optional parameters to use if needed.

Parameter Description
-Force Ensures installation of Windows Terminal and its dependencies, even if already present.
-CheckForUpdate Checks if there is an update available for the script.
-UpdateSelf Updates the script to the latest version.
-Version Displays the version of the script.
-Help Displays the full help information for the script.

Example Parameters Usage

Install-WindowsTerminal -Force

Troubleshooting

  • I'm seeing a bunch of characters like ΓûêΓûêΓûêΓûêΓûê on step 2.
    • This is a known issue of winget and has to due with the inability to turn off winget output, despite using --silent and --disable-interactivity.
    • To help avoid this, the Strip-Progress function has been implemented, and although it works for step 1, it doesn't work as well as hoped in step 2.

TODO

  • Consider hiding output by default, and having Verbose param show output instead.

install-windowsterminal's People

Contributors

asheroto avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.