New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate alternative deployment mechanisms for Windows Terminal #1386
Comments
Let me know if/when someone is looking at this. We're going down this path for WinDbg Preview, so we'll probably have some guidance on what options we looked at and pros/cons. |
This is an exciting feature. |
Note that this does not actually work for me, the Terminal does not open. |
What you’re missing is a local copy of the |
Why exactly did MS release a Terminal app that can't be used on servers, anyway? Do you really think your primary user is only using Windows 10? I know you guys are trying to embrace the dev and open-source worlds, but maybe ask your users what they want before releasing what would be a great tool on an environment that is less likely to be the primary user. I'm watching this thread in hopes someone figures out how to do this; I could compile it but unfortunately installing a C++ build stack at work isn't going to happen. |
@methodbox you don’t need to be unkind about it |
Again, I hear you. Here’s the deal: this is a preview release, and given our available resources we have to make sure we’re investing them wisely. Letting somebody else do the distribution and installation frees up an entire month of engineering time otherwise spent building and testing an installer on all of our supported configurations. That’s why it’s on our backlog. We recognize that it’s extremely important for a huge subset of our potential users, but we are prioritizing features and performance and bug fixes first. |
I guess I'm confused by that. You say that letting someone else distribute it would save time and effort, (somone else being GitHub?) yet that's not what was done first? I wasn't being unkind, either; I was asking a serious question, and making a few serious statements. I don't have time at work to install all the VS necessities to compile this and try to use it on Windows Server or I would, and I also don't understand the Windows 10 target audience, and I was legitimately curious if there's something I don't know that would make them the first targets. I'm sorry criticism seems unkind, but these are legitimate concerns. |
|
Portable version is a must have for our more and more restrictive enterprise dev environment. |
Instead of running WindowsTerminal.exe, you should register the application with PowerShell: Then it shows up in the Start menu and from there you can start it. |
Thanks for delivering on the developer community's need for a better terminal. This is an app I've wanted to see on Windows for years and hope to give it a spin soon. I am happy to pick up a build from master, but I'm currently on Windows Server 2019 Datacenter LTSC. ASK:
|
@DHowett-MSFT Could you please give us any guidance on how to install those? I would love to test it on work but no chance of using Windows Store there. I tried to build it myself on an earlier version and even managed to do it, but since it took nearly 40GB between the Visual Studio requirements and the repo itself after the builds it quickly became unmanageable on my limited SSD space. And don't mind the negative comments, by the way. The terminal is coming out nicely (really I tested it home with WSL 2 and I've never had such a smooth terminal experience on Windows before). Some people fail to understand the point of a preview but that's because they are anxiously looking forward to it too. With time it will be out of preview and everyone (or at least most users) will be happy. |
Non-MSFT folks dont have permissions to the artifiacts |
Same boat as Sanket. Our IT group is (understandably) very risk averse and values stability over new features. And access to Microsoft Store is blocked for security reasons, so even after we can get on a more modern build (1903, 2004), it seems we'll be unable to install Windows Terminal from MSIX packages unless we build it from source (I've done that once, but it took a long time, wouldn't want to do that every time). Can understand the fact this is not ignored, but merely backlogged. Still, I hope it will soon be possible to deploy this via SCCM (for clients) and by some other means for Windows Server machines. |
This works fine if you have "Download" capabilities: Manually:
Automation:
|
Well, I guess the only explanation for those so many non-reasonable choices in regards to installation and dependencies must be market-/political related. I guess MS want the application store to be the only legitimate source of applications (looking hungry and envious at Apple's business model), I guess it at some point make sense, but it's also a dangerous path. Windows users are not Apply users, and are not as forgiving. |
Should this work with v1.1.2021.0 ? There's no |
you need to unzip the sub msix too That was not explicit i agree |
I worked this out just after I posted :) Which OSes is this expected to work on? I've tried Windows Server 2012R2 and 2016 but no luck. Not sure if I'm being overly ambitious or if there's something I need to install? |
You won't be able to do so, it's documented and discussed in multiple place in this repo. |
for people whilling to automate download a bit, here is a VERY NAIVE script :
[CmdletBinding()]
param (
[Parameter()]
[string]
$Version = "latest",
[Parameter()]
[string]
$Destination = "C:/dev/tools/wt",
[Parameter()]
[ValidateSet("ARM64", "x64", "x86")]
[string]
$Architecture = "x64"
)
function Get-WtRelease {
[CmdletBinding()]
param (
[Parameter()]
[string]
$Version = "latest"
)
$GithubApi = "https://api.github.com"
$Owner = "microsoft"
$Repo = "Terminal"
$ReleasesPath = "/repos/$($Owner)/$($Repo)/releases"
$ReleasesUrl = "$($GithubApi)$($ReleasesPath)/$(Version)"
$params = @{
Uri = $ReleasesUrl
Method = 'GET'
ContentType = 'application/json'
}
$releases = Invoke-RestMethod @params
$bundle = ($releases).assets | Where-Object { $_.name.EndsWith("msixbundle") }
$MsixBundleDownloadUrl = $bundle.browser_download_url
$DownloadDestination = "TEMP:\$($bundle.name).zip"
Invoke-WebRequest -Uri $MsixBundleDownloadUrl -UseBasicParsing -OutFile $DownloadDestination
return $DownloadDestination
}
function Expand-WtMsixBundle {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[string]
$BundlePath,
[Parameter(Mandatory = $true)]
[string]
$MsixPath,
[Parameter()]
[ValidateSet("ARM64", "x64", "x86")]
[string]
$Architecture = "x64"
)
# $BundlePath = "C:/dev/test_wt/bundle"
$ExtractedBundlePath = "TEMP:\expandbundle"
if (Test-Path -PathType Container $ExtractedBundlePath) {
Remove-Item -Recurse -Force $ExtractedBundlePath
}
Expand-Archive $BundlePath -DestinationPath $ExtractedBundlePath
Get-ChildItem $BundlePath
$Msix = Get-ChildItem $ExtractedBundlePath `
| Where-Object { $_.Extension -eq ".msix" } `
| Where-Object { $_.Name.Contains($Architecture) }
Expand-Archive $Msix.FullName -DestinationPath $MsixPath
}
if (
($PSVersionTable.PSVersion.Major -lt 7) -or `
(($PSVersionTable.PSVersion.Major -eq 7) -and ($PSVersionTable.PSVersion.Minor -lt 0)) -or `
(($PSVersionTable.PSVersion.Major -eq 7) -and ($PSVersionTable.PSVersion.Minor -eq 0) -and ($PSVersionTable.PSVersion.Patch -lt 2)) `
) {
throw "Powershell 7.0.2 minimal is required to use 'TEMP:', edit this script or update here: https://github.com/powershell/powershell/releases/tag/v7.0.3"
}
$MsixBundlePath = Get-WtRelease -Version $Version
Expand-WtMsixBundle -BundlePath $MsixBundlePath -MsixPath $Destination -Architecture $Architecture |
Why forcing the use of PowerShell 7? This makes the script less useful. |
Hello Why ?TL;DR ? because I'm lazy and I just use things that exists out of the box A bit of context, as I took free time trying to help, would I purposely take time to try to help by providing a non-runnable script ? Still stuck on outdated
|
@tebeco if you need an alternative to
|
thx for the info Do you think you would accept a PR in this repository to ship it as an asset ? I would gladly do the PR if it's ok with you that will fix the I'll probably ask
|
Nope, sorry! That would imply a level of official support for this solution that we're not yet ready to agree to. Thanks though 😄 |
I might be wrong on that, I understood that the pb was not going to be fixed in the short term as it involves other team from the Store and so on, how accurate is that do you think (~6month / ~12 maybe) ? To add more pain to the issue, ~70% of the time it's done (updating base image) in a part of the company that is very hard to find/contact/discuss and that will always find "good" reasons not to do what anybody else ask them to do, because they want to be sure they full own everything to be in control (... of what's installed). When people try to install It's kinda weird being in the middle of it
If it's possible to have a workaround starting today, until that "long run target" that's going to be releases in the next years How far would you go to promote a solution that does workaround until something ideal is and "supportable" is released ? I'm looking for a "middle ground" that would be promoted from the |
At my company, the IT department disabled the windows store for the tens of thousands of workstation computers. Neither msixbundle nor msix files can be started from the explorer shell. For all I know, it's an alien format to our systems. |
It feels super weird that after almost 2 years now, there's not at least an official script proposed script or an MD workaround to have something to point user at :
Yes of course it would, but just until the underlying issue is fixed, once there's an "working installer" it could just be removed right ? Insert Diablo BlizzCon meme here @johan-boule |
Oh my dear!
Even though Chocolatey approach did somehow do the trick:
I gave up. It's all far too alchemystical for me to bear from my
perspective of view.
For my purpose (administration) I found a solution which is far better
suited: mobaXterm portable.
The above is even more powerful for my daily tasks. We have a built in
X-Server, a bash, serving multiple sessions (Windows, Linux, amazon, web,
etc.) at once and a ton load of other goodies without all the fuzz.
Just my 2c
|
This pull request implements portable mode for Windows Terminal, which will make side by side deployment of different versions generally more feasible. Portable mode was specified in #15032. There are three broad categories of changes in this PR: 1. Changes to settings loading. 2. A new indicator in the settings UI plus a link to the portable mode docs. 3. A new application display name, `Terminal (Portable)`, which users will hopefully include in their bug reports. It's surprisingly small for how big a deal it is! Related to #15034 Closes #1386
This pull request implements portable mode for Windows Terminal, which will make side by side deployment of different versions generally more feasible. Portable mode was specified in #15032. There are three broad categories of changes in this PR: 1. Changes to settings loading. 2. A new indicator in the settings UI plus a link to the portable mode docs. 3. A new application display name, `Terminal (Portable)`, which users will hopefully include in their bug reports. It's surprisingly small for how big a deal it is! Related to #15034 Closes #1386 (cherry picked from commit e6a3fa8) Service-Card-Id: 88719279 Service-Version: 1.17
Having a portable version of terminal makes it easy to copy paste on machines some times on servers. Having to install from store is not convenient.
The text was updated successfully, but these errors were encountered: