Terminal: Изучение альтернативных механизмов развертывания для Windows Terminal

Созданный на 22 июн. 2019  ·  114Комментарии  ·  Источник: microsoft/terminal

Наличие портативной версии терминала позволяет легко копировать и вставлять на машины несколько раз на серверах. Устанавливать из магазина не удобно.

Area-Build Issue-Feature Product-Terminal

Самый полезный комментарий

@methodbox , вам не нужно быть недобрым по этому поводу ☹️. Мы слышим вас громко и ясно. Мы понимаем, что нам нужна пара разных моделей распространения.

Все 114 Комментарий

Дайте мне знать, если / когда кто-то смотрит на это. Мы идем по этому пути для предварительного просмотра WinDbg, поэтому у нас, вероятно, будет некоторое руководство о том, какие варианты мы рассмотрели, а также плюсы и минусы.

Это захватывающая функция.

  1. Установите распространяемый Visual C++

    https://aka.ms/vs/16/release/vc_redist.x64.exe

  2. Посетите https://dev.azure.com/ms/Terminal/_build.

  3. Выберите самую последнюю сборку master
  4. Щелкните Артефакты
  5. Нажмите appx-Release
  6. Извлечь appx-Release.zip
  7. Извлечь CascadiaPackage_0.0.1.0_x64.msix
  8. Открыть WindowsTerminal.exe

Обратите внимание, что на самом деле это не работает для меня, Терминал не открывается.
Однако, возможно, кто-то сможет найти недостающую часть отсюда.

Чего вам не хватает, так это локальной копии сред выполнения контейнеров приложений vcruntime140_app и msvcp???_app . В противном случае терминал Windows должен активироваться двойным щелчком мыши.

Почему именно MS выпустила приложение Terminal, которое нельзя использовать на серверах?

Вы действительно думаете, что ваш основной пользователь использует только Windows 10?

Я знаю, что вы, ребята, пытаетесь охватить мир разработчиков и мир с открытым исходным кодом, но, возможно, спросите своих пользователей, чего они хотят, прежде чем выпускать то, что было бы отличным инструментом в среде, которая вряд ли будет основным пользователем.

Я смотрю эту ветку в надежде, что кто-нибудь поймет, как это сделать; Я мог бы скомпилировать его, но, к сожалению, установка стека сборки C++ на работе не произойдет.

@methodbox , вам не нужно быть недобрым по этому поводу ☹️. Мы слышим вас громко и ясно. Мы понимаем, что нам нужна пара разных моделей распространения.

Опять же, я слышу вас. Вот в чем дело: _это предварительная версия_, и, учитывая наши доступные ресурсы, мы должны быть уверены, что вкладываем их с умом. Предоставление кому-то другому заниматься распространением и установкой высвобождает целый месяц инженерного времени, которое в противном случае было бы потрачено на создание и тестирование установщика для всех наших поддерживаемых конфигураций. Вот почему это в нашем _backlog_. Мы понимаем, что это чрезвычайно важно для огромного числа наших потенциальных пользователей, но в первую очередь мы отдаем приоритет функциям, производительности и исправлениям ошибок.

Опять же, я слышу вас. Вот в чем дело: _это предварительная версия_, и, учитывая наши доступные ресурсы, мы должны быть уверены, что вкладываем их с умом. Предоставление кому-то другому заниматься распространением и установкой высвобождает целый месяц инженерного времени, которое в противном случае было бы потрачено на создание и тестирование установщика для всех наших поддерживаемых конфигураций. Вот почему это в нашем _backlog_. Мы понимаем, что это чрезвычайно важно для огромного числа наших потенциальных пользователей, но в первую очередь мы отдаем приоритет функциям, производительности и исправлениям ошибок.

Думаю, я смущен этим. Вы говорите, что если позволить кому-то другому распространять его, это сэкономит время и усилия (кто-то еще будет GitHub?), но это не то, что было сделано в первую очередь ?

Я тоже не был недобрым; Я задал серьезный вопрос и сделал несколько серьезных заявлений.

У меня нет времени на работе, чтобы установить все необходимое для VS, чтобы скомпилировать это и попытаться использовать его на Windows Server, или я бы, и я также не понимаю целевую аудиторию Windows 10, и мне было законно любопытно, есть ли что-то Я не знаю, что сделало бы их первыми целями.

Мне жаль, что критика кажется недоброй, но это обоснованные опасения.

  • xcopy-able exe - это то, что нужно. Электроинструменты, такие как консоль, не нуждаются в установке. Установщик - это излишество, и, пожалуйста, избегайте его. Следовательно, вам не нужно тратить месяцы на тестирование. В прошлый раз, когда я проверял, у Visual Studio была возможность создавать исполняемый файл в режиме выпуска, который должным образом подписан.

  • Нас, опытных пользователей, не впечатлило решение выбрать магазин в качестве основной модели распространения. Потому что вчера я попытался установить эту консоль на свой рабочий компьютер, и угадайте, что магазин настроен с моей учетной записью Hotmail, потому что ему нужна учетная запись Microsoft, которая не является моей рабочей учетной записью, и у меня была возможность установить консоль на моем личном ПК, который была дома. Мне нужна была консоль на моей рабочей машине, а не на моей личной машине.

  • в общем, просто это. Упростите доступ к этому инструменту, чтобы мы могли его использовать. В остальном я доволен ConEmu, которым пользуюсь уже много лет.

Портативная версия просто необходима для нашей все более жесткой корпоративной среды разработки.
У нас нет прав администратора на наших рабочих столах, надеюсь, у нас есть vscode, pwsh, python, git, conemu и т. д. в zip-версии, поэтому мне бы очень хотелось увидеть то же самое для терминала.

  1. Установите распространяемый Visual C++
    https://aka.ms/vs/16/release/vc_redist.x64.exe
  2. Посетите https://dev.azure.com/ms/Terminal/_build.
  3. Выберите самую последнюю сборку master
  4. Щелкните Артефакты
  5. Нажмите appx-Release
  6. Извлечь appx-Release.zip
  7. Извлечь CascadiaPackage_0.0.1.0_x64.msix
  8. Открыть WindowsTerminal.exe

Обратите внимание, что на самом деле это не работает для меня, Терминал не открывается.
Однако, возможно, кто-то сможет найти недостающую часть отсюда.

Вместо того, чтобы запускать WindowsTerminal.exe, вы должны зарегистрировать приложение в PowerShell:
Add-AppxPackage .\AppxManifest.xml -Register

Затем он появляется в меню «Пуск», и оттуда вы можете запустить его.
Обратите внимание: вам может потребоваться сначала включить режим разработчика в меню настроек, у меня он уже был включен, поэтому я не уверен, что он работает без него.

Спасибо за удовлетворение потребности сообщества разработчиков в улучшении терминала. Это приложение, которое я хотел увидеть в Windows в течение многих лет, и надеюсь, что оно скоро появится. Я рад получить сборку от мастера, но в настоящее время я использую Windows Server 2019 Datacenter LTSC.

ПРОСИТЬ:

  • Поддержка Windows Server 2019 LTSC, Microsoft Windows NT 10.0.17763.0

  • Инструкция по установке или ссылка на такую ​​инструкцию в README.md:

  1. Установите распространяемый Visual C++ (см. https://aka.ms/vs/16/release/vc_redist.x64.exe)
  2. Посетите https://dev.azure.com/ms/Terminal/_build.
  3. Выберите самую последнюю основную сборку
  4. Щелкните Артефакты
  5. Нажмите appx-Release
  6. Распакуйте appx-Release.zip
  7. Извлеките CascadiaPackage_0.0.1.0_x64.msix
  8. Откройте WindowsTerminal.exe

Чего вам не хватает, так это локальной копии сред выполнения контейнеров приложений vcruntime140_app и msvcp???_app . В противном случае терминал Windows должен активироваться двойным щелчком мыши.

@ DHowett-MSFT Не могли бы вы дать нам какие-либо рекомендации по их установке?

Я хотел бы протестировать его на работе, но нет возможности использовать Windows Store там. Я попытался собрать его самостоятельно на более ранней версии, и мне даже удалось это сделать, но, поскольку между требованиями Visual Studio и самим репозиторием после сборки потребовалось почти 40 ГБ, он быстро стал неуправляемым на моем ограниченном пространстве SSD.

И, кстати, не обращайте внимания на негативные комментарии. Терминал работает хорошо (на самом деле я тестировал его дома с WSL 2, и у меня никогда раньше не было такого гладкого терминала в Windows). Некоторые люди не понимают смысла предварительного просмотра, но это потому, что они тоже с нетерпением ждут его.

Со временем он выйдет из предварительного просмотра, и все (или, по крайней мере, большинство пользователей) будут счастливы.

2. Посетите https://dev.azure.com/ms/Terminal/_build .

Люди, не являющиеся MSFT, не имеют разрешений на артефакты.

Я загрузил артефакты, но не смог установить .msix двойным щелчком, потому что он сказал, что он не подписан доверенным сертификатом.

Мне удалось заставить его работать, загрузив артефакт, распаковав .msix в папку, а затем запустив Add-AppxPackage AppxManifest.xml -Register из Powershell внутри папки. Теперь я могу запустить его, открыв его из меню «Пуск» как «Терминал Windows (Dev Build)».

Довольно хакерский процесс, но он работал на данный момент.

Магазин Windows — это сломанная часть программного обеспечения. Это как плаксивый ребенок, который всегда нуждается в вашем внимании и никогда не делает того, что вы от него ожидаете. Полагаться на это так же хорошо, как говорить _пожалуйста, не устанавливайте наши вещи_.

Меня только что перенаправили сюда с # 1757, и приятно видеть, что это так активно.

А зачем усложнять простую вещь? Скачайте, установите и все.

Вот в чем дело: это предварительная версия

Да и народ уже взволнован этим. Боль от работы с блокнотом командных строк (также известным как cmd.exe) должна сводить людей с ума, чтобы заставить людей попробовать лучший терминал, даже если это предварительная версия. Плюс есть ажиотаж в твиттере.

Пожалуйста, не воспринимайте наши комментарии как разглагольствования. Мы _хотим_ заполучить его как можно скорее. Отправка нас в магазин — это хлопанье дверью перед нашими лицами. Мы тоже хотим разумно инвестировать свое время. Тратить их на исправление проблем с магазином Windows определенно не является продуктивным использованием чьего-либо времени. Надеюсь ты понимаешь!

Я ОЧЕНЬ расстроен этим опытом «установки». Я поставил install в кавычках, потому что я не могу заставить его установить. Магазин дает мне список некоторых моих компьютеров для установки... но не тот, на котором я на самом деле работаю. И даже если я выберу одну из перечисленных машин, мне сообщат, что она пытается установить, но, по-видимому, ничего не устанавливается. И для меня нет никакой обратной связи, которую я мог бы использовать в качестве отправной точки для устранения неполадок — ни сообщения об ошибке, ни информации в журнале, просто тишина.

Меня беспокоит, что нет просто обычного установщика, который мы использовали десятилетиями. И меня беспокоит, что Магазин Windows, похоже, не может настроить таргетинг на машину, на которой я на самом деле нахожусь (разве это не должно быть данностью??). При всем уважении, я не хочу тратить время на устранение неполадок в среде Магазина Windows, чтобы выяснить, почему она не распознает мою систему (и да... она определенно соответствует требованиям) или почему процесс установки абсолютно ничего не делать. Я не часто пользуюсь Магазином, но не припомню, чтобы мне когда-нибудь приходилось выбирать целевую систему для установки. Это новая функция? В любом случае, этот опыт был ужасен.

Я работаю разработчиком более 20 лет. Но даже я не хочу для этого качать исходники и компилировать. Мне просто нужен скомпилированный исполняемый файл, который я могу установить и запустить.

@drullo Проверьте информацию о своей ОС. Это не так очевидно, но если вы прокрутите немного вниз, он покажет текущую и требуемую конфигурацию. Если это так, вам придется решить, хотите ли вы рискнуть перейти на текущую сборку ОС или жить без использования терминала.

Теоретически все это не так уж плохо, но то, как это (магазин Windows) реализовано, довольно уродливо (нестабильно, многое может и пойдет не так), и, честно говоря, не стоит тратить время только на установку приложения (а не только на терминал). но любое приложение магазина).

К сожалению, магазин приложений и обновления ОС на Mac намного удобнее. У него есть свои проблемы, но не на примитивном, базовом уровне.

Пожалуйста, повысьте приоритет этой функции... Вероятно, это самая запрашиваемая функция...

В качестве первого шага к альтернативному распространению я опубликовал (подписанные, обновляемые в магазине) пакеты MSIX на странице выпусков . Они должны быть установлены двойным щелчком мыши на 1903+, но могут быть некоторые пакеты зависимостей, которые необходимо установить. Мы работаем над тем, чтобы сделать этот процесс немного приятнее. Пожалуйста, потерпите нас.

Прямо сейчас нам _нужен_ контекст установки MSIX/appx для поиска ресурсов (значков, строк и т. д.) и активации компонентов (чтобы мы могли загружать наши составляющие библиотеки DLL), но делается прогресс в том, чтобы сделать это требование немного более слабым, поскольку хорошо.

Мне действительно нравится идея использования развертывания msix. Msix поддерживает даже Windows 7, поэтому установка двойным щелчком с использованием msix была бы отличной.

@DHowett-MSFT, это хорошее начало!

  • Я все еще хотел бы портативную версию в будущем (например, приложения sysinternals)
  • Обновите файл readme со ссылками на страницу выпусков, чтобы люди могли заметить, что он доступен за пределами Магазина.

@amithegde Мы обновили ReadMe - спасибо за ваше предложение.

https://github.com/microsoft/terminal#установка

Попытка установить в автономном режиме с помощью MSIX со страницы выпуска и получить сообщение об ошибке при запуске WindowsTerminal.exe Лицензия на устройство CLiP не найдена. Не уверен, как это исправить

Для установки WT на наши серверы срочно необходим автономный установщик.

Я обнаружил эту проблему после нескольких неудачных попыток установить Windows Terminal. Проблема здесь в том, что Windows 10 LTSC (версия с долгосрочной поддержкой), используемая во многих профессиональных средах, — это версия 1809 (сборка 17763), в то время как Windows Terminal упакован в виде пакета MSIX архивов MSIX, который можно установить только в более поздних версиях Windows 10.

Это делает Windows Terminal непригодным для использования в профессиональной среде в его текущем состоянии. Хотя, как заявляет Microsoft, следующий LTSC не будет выпущен до 2021 года. Если не будет предоставлен другой механизм развертывания, Windows Terminal останется непригодным для использования в профессиональных средах еще два года.

Я не разработчик, ориентированный на Windows, поэтому я не знаю, какова стоимость / бремя выпуска статически связанного exe-файла в качестве быстрого и грязного временного решения, но если это возможно, это было бы здорово. Любая форма автономной/портативной версии на самом деле была бы очень признательна (как подчеркнуто всеми предыдущими комментариями;)).

Редактировать:

Некоторые дополнительные мысли,

  • в профессиональной среде Windows Store обычно отключен (таким образом, для активации режима разработчика и использования add-appxpackage может потребоваться четкая документация в README);
  • было бы неплохо уточнить требования совместимости в README (с точки зрения необходимой/совместимой версии Windows 10).

@NBardelot В «профессиональных средах» вам никоим образом не нужна LTSC-версия Windows и Windows Terminal вместе, ба, вам не понадобится LTSC, если только вы не используете очень важные системы, в чем я сомневаюсь.
В «профессиональных средах», если вам требуется приложение, доступное в Microsoft Store, можно пройти стандартный процесс запроса материалов, обычно присутствующих в вашей компании (ITIL).
Терминал Windows предназначен для разработчиков, которым вполне подходит инсайдерская версия Windows — я не понимаю аргументов в пользу наличия ее в LTSC, особенно когда она находится в ПРЕДВАРИТЕЛЬНОЙ ПРОВЕРКЕ , что противоречит цели LTSC.
Совершенно ясно, что вам нужно для его запуска: требования и Microsoft Store.

@ gh4chris gh4chris Это не нужно срочно, CMD и PowerShell доступны в Windows Server - нет разумного аргумента, зачем вам это нужно.

Для любого корпоративного внедрения следует исходить из того, что требуется использование вне магазина. Большинство хорошо построенных производственных сред не имеют доступа к Интернету и используют инструменты развертывания.

Почему вокруг удобства возникает сопротивление?

Итак, для справки, мы предоставляем механизмы установки не из магазина — см. нашу страницу выпусков . Тем не менее, мы не можем изменить требования к версии сборки Windows. Мы зависим от некоторых функций ОС, которые поставляются только в самой последней версии Windows 10. Это настоящая причина, по которой мы не сможем работать с LTSC.

@zadjii-msft, это совершенно понятно, хотя я должен еще раз подчеркнуть, что, к сожалению, это означает отсутствие терминала Windows до 2021 года для множества интересных вариантов использования (и широкого распространения, когда вы перейдете в режим выпуска). Если есть какой-либо способ обойти те ограничения, о которых вы говорите, я надеюсь, вы примете это во внимание :)

@CatTheHacker Спасибо за ваши идеи. Пожалуйста, поймите также, что говорить другим людям, что вы лучше всех знаете, что им нужно, а что нет, — это довольно грубо, поскольку у вас нет всей доступной информации, и вы можете неправильно понять ограничения. Тем не менее, я с радостью проиллюстрирую свой вариант использования, поскольку ваше непонимание также является отсутствием у меня объяснений.

В настоящее время я работаю в довольно строго охраняемой среде в крупной компании. Настольные компьютеры работают под управлением Windows 10 LTSC из соображений безопасности и удобства обслуживания (и я не вправе это изменить). Я говорю не о критически важных машинах/серверах, а о рабочих станциях разработки и эксплуатации. Одна из наших целей — создать прототип и протестировать инструменты, которые еще не оптимизированы в ITIL, репозиториях и т. д., а также изучить, что можно сделать, чтобы облегчить жизнь разработчиков и операторов. Это даже заставляет нас сравнивать ОС и инструменты ОС, что является настоящим сдвигом парадигмы для такой компании. В этом случае необходимо запустить предварительную версию Windows Terminal и начать демонстрировать людям, как хорошо работать с терминалами (потому что Powershell, docker, kubernetes/ openshift ...).

Было бы здорово иметь возможность автоматизировать установку приложения Windows Terminal из командной строки.

@NBardelot - Спасибо за вашу информацию и мысли здесь.

MSIX

Прямо сейчас мы собираем Terminal в пакеты MSIX, так как это стратегический путь для упаковки приложений в Windows. Мы не против рассмотреть другие форматы пакетов, если для этого есть достаточные требования, но сейчас мы сосредоточены на основных сценариях, чтобы удовлетворить большинство потребностей сообщества.

Тем не менее, я копаюсь в планах команды MSIX. LTS SKU. Дам вам знать, когда получу ответ от них.

LTS

Обратите внимание, что SKU LTS по своему определению более ограничены и обновляются реже, чем SKU общего выпуска. Из-за этого существует большая вероятность того, что новые продукты и функции появятся позже и/или не будут поддерживаться в LTS SKU. Короче говоря, если вы хотите запускать новейшие и лучшие инструменты и технологии вскоре после их выпуска, вам МОЖЕТ понадобиться рассмотреть SKU, отличные от LTS.

Предприятия, которым требуется больший контроль над конфигурацией своих платформ, а также предоставление пользователям возможности самостоятельно развертывать утвержденные приложения и/или развертывать известные управляемые приложения, могут захотеть изучить Windows Store для бизнеса, который может интегрироваться с SCCM и InTune для автоматического развертывания и т. д. . одобренных приложений.

Мы скоро обновим нашу документацию v. и обязательно включим некоторые ваши отзывы и просьбы, чтобы сделать эту область более понятной.

К вашему сведению, теперь есть шоколадный пакет , поэтому для установки приложения можно запустить choco install microsoft-windows-terminal .

Большое спасибо @mkevenaar , который, кажется, собрал это вместе! 🎉

@SeanKilleen Абсолютно - я ОГРОМНЫЙ поклонник Chocolatey и благодарен @mkevenaar за создание пакета Chocolatey для ссылки на наш последний выпуск :)

https://github.com/mkevenaar/chocolatey-packages/blob/master/automatic/microsoft-windows-terminal/update.ps1#L8

@SeanKilleen Абсолютно - я ОГРОМНЫЙ поклонник Chocolatey и благодарен @mkevenaar за создание пакета Chocolatey для ссылки на наш последний выпуск :)

https://github.com/mkevenaar/chocolatey-packages/blob/master/automatic/microsoft-windows-terminal/update.ps1#L8

@bitcrazed Добро пожаловать! Он запускает скрипт обновления каждые 6 часов, и обычно шоколадный веб-сайт обрабатывает его менее 1 часа!

[Обновление: заменены предыдущие ссылки]:

Если вы устанавливаете Windows Terminal вручную и у вас не установлен VC Redist, Terminal не сможет установиться и/или запуститься.

Пожалуйста, загрузите и установите пакет фреймворка C++ Runtime v14 для Desktop Bridge:
https://www.microsoft.com/en-us/download/details.aspx?id=53175

Пакеты среды выполнения C++ будут скопированы в папку %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits10\ExtensionSDKs\Microsoft.VCLibs.Desktop.

👉 Примечание. Вы также можете установить пакеты вручную с помощью командлета PowerShell Add-AppxPackage.

(относится к #2369)

^ Это все еще терпит неудачу для меня. Он пытается установить Visual C++ run-time for UWP из Магазина, но, к сожалению, магазин не может получить доступ к Интернету из-за ограничений.

Событие после установки из choco появляется такое сообщение:
Capture

Привет , @mubaidr , я обновил свой ответ выше , добавив ссылку на перераспределение среды выполнения VC++ моста рабочего стола. Пожалуйста, попробуйте и дайте мне знать, если это решит вашу проблему.

Все то же сообщение об ошибке :(
Capture

Наш системный администратор отключил Магазин Windows, и у нас нет открытого подключения к Интернету. Итак, нам нужен установочный пакет.

@rfresow — мы публикуем каждую публично выпущенную сборку терминала в магазине и в выпусках в этом репозитории: https://github.com/microsoft/terminal/releases .

⚠ Примечание. Поскольку вы устанавливаете приложение вручную, не забывайте регулярно обновлять его вручную — мы стремимся публиковать его примерно раз в месяц.

@mubaidr - извините, что вы столкнулись с проблемами здесь. Могу я попросить вас удалить Терминал, перезагрузить компьютер, переустановить? Я боюсь, что с конфигурацией вашей машины происходит что-то необычное.

^ @bitcrazed Я начинаю думать так же. Планирование новой установки. Удаление и перезагрузка тоже не помогли. Итак, я начну с чистой установки.

FWIW, я столкнулся с теми же требованиями VC. У нас тоже доступ к Магазину Windows отключен по разным причинам (автономные сети и т.д.)

Было бы неплохо иметь терминал, доступный для установки по мере необходимости на таких вещах, как джамп-хосты и т. д.

Привет , @mubaidr , я обновил свой ответ выше , добавив ссылку на перераспределение среды выполнения VC++ моста рабочего стола. Пожалуйста, попробуйте и дайте мне знать, если это решит вашу проблему.

@bitcrazed Я считаю, что загрузка выше недостаточно нова для того, на чем построен терминал. Мой жалуется на версии...

После установки UWP VCLibs по вашей ссылке это версия 14.24222.0 (из «Программы и компоненты»); но если я сделаю Get-AppXPackage:

Microsoft.VCLibs.140.00.UWPDesktop_14.0.27810.0_x64__8wekyb3d8bbwe
Microsoft.VCLibs.140.00.UWPDesktop_14.0.27810.0_x86__8wekyb3d8bbwe

Ссылка выше датирована 2016 годом...

Та же проблема - файл vc_uwpdesktop.140.exe по ссылке содержит старые версии Microsoft.VCLibs - после установки в C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\ можно найти:

  • 14.0.24217.0 в папке "Розница"
  • 14.0.24222.0 в папке "Отладка"

Для терминала Windows требуется минимальная версия 14.0.27323.0 . Есть ли способ установить его без включенного магазина?

Несколько месяцев назад я построил (и использую, да) терминал из исходного кода с VS2019 и W10 1903. Однако, похоже, я не могу выполнить новый msixbundle , у меня нет разрешений для доступа к артефактам Azure, и когда я сделал git pull и попытался перестроить в VS, я получил поток ошибок даже после получения рекомендуемых обновлений NuGet и установки Dot Net 4.7.2.

Грусть :(

Windows Server 2019 все равно не поддерживается. И да, мы используем только LTSB-релизы не потому, что мы "реакционеры". Но поскольку мы работаем на реальном предприятии с более чем 5000 серверами, то даже пытаться обновлять его каждый год — это ад.

Связать все эти другие элементы с этой ошибкой — это здорово, но это пустая трата времени для многих людей, которые хотят установить это на серверной ОС. Пожалуйста, добавьте строку в readme проекта, которая гласит:

«Хотите установить Windows Terminal на Windows Server 2019? - Мы еще не готовы, вернитесь позже!…»

Связать все эти другие элементы с этой ошибкой — это здорово, но это пустая трата времени для многих людей, которые хотят установить это на серверной ОС. Пожалуйста, добавьте строку в readme проекта, которая гласит:

«Хотите установить Windows Terminal на Windows Server 2019? - Мы еще не готовы, вернитесь позже!…»

в ридми уже написано:

Note: Windows Terminal requires Windows 10 1903 (build 18362) or later

Та же проблема - файл vc_uwpdesktop.140.exe по ссылке содержит старые версии Microsoft.VCLibs - после установки в C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\ можно найти:

  • 14.0.24217.0 в папке "Розница"
  • 14.0.24222.0 в папке "Отладка"

Для терминала Windows требуется минимальная версия 14.0.27323.0 . Есть ли способ установить его без включенного магазина?

Я нахожусь в среде без доступа к Microsoft Store и также столкнулся с этой проблемой. Кажется, я установил версию 14.0.26905.0. Версия, которую вы получаете при загрузке вручную, — 14.0.24217.0. Я не вижу способа установить 14.0.27323.0 без MS Store.

  • 14.0.24217.0 в папке "Розница"
  • 14.0.24222.0 в папке "Отладка"

У меня установлены эти версии, и Терминал 0.6.2951.0 работает нормально.

Возможно, VC 14.0.27323.0 установлен где-то еще в моей системе, но я думаю, что нет. Где упоминается это требование?

  • 14.0.24217.0 в папке "Розница"
  • 14.0.24222.0 в папке "Отладка"

У меня установлены эти версии, и Терминал 0.6.2951.0 работает нормально.

Возможно, VC 14.0.27323.0 установлен где-то еще в моей системе, но я думаю, что нет. Где упоминается это требование?

Есть ли у вашего компьютера доступ к MS Store? Мой нет. Недавно я обновился до 1909, откуда, возможно, и взялась моя версия 14.0.26905.0, но я не уверен.

Это ошибка, которую я получаю при попытке установить:

PS C:\> Add-AppPackage -path "C:\Microsoft.WindowsTerminal_0.6.2951.0_8wekyb3d8bbwe.msixbundle"
Add-AppPackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict validation.
Windows cannot install package Microsoft.WindowsTerminal_0.6.2951.0_x64__8wekyb3d8bbwe because this package depends on
a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by
"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor
architecture and minimum version 14.0.27323.0, along with this package to install. The frameworks with name
"Microsoft.VCLibs.140.00.UWPDesktop" currently installed are:
Windows cannot install package Microsoft.WindowsTerminal_0.6.2951.0_x64__8wekyb3d8bbwe because this package depends on
a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by
"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor
architecture and minimum version 14.0.27323.0, along with this package to install. The frameworks with name
"Microsoft.VCLibs.140.00.UWPDesktop" currently installed are:
{Microsoft.VCLibs.140.00.UWPDesktop_14.0.26905.0_x86__8wekyb3d8bbwe
Microsoft.VCLibs.140.00.UWPDesktop_14.0.26905.0_x64__8wekyb3d8bbwe}
NOTE: For additional information, look for [ActivityId] edfb45f8-a09f-0003-a403-fced9fa0d501 in the Event Log or use
the command line Get-AppPackageLog -ActivityID edfb45f8-a09f-0003-a403-fced9fa0d501
At line:1 char:1
+ Add-AppPackage -path "C:\Microsoft.WindowsTerminal_0.6.2951.0_8wekyb3 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (C:\Microsoft.Wi...bbwe.msixbundle:String) [Add-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

  • 14.0.24217.0 в папке "Розница"
  • 14.0.24222.0 в папке "Отладка"

У меня установлены эти версии, и Терминал 0.6.2951.0 работает нормально.
Возможно, VC 14.0.27323.0 установлен где-то еще в моей системе, но я думаю, что нет. Где упоминается это требование?

Есть ли у вашего компьютера доступ к MS Store? Мой нет. Недавно я обновился до 1909, откуда, возможно, и взялась моя версия 14.0.26905.0, но я не уверен.

Это ошибка, которую я получаю при попытке установить:

PS C:\> Add-AppPackage -path "C:\Microsoft.WindowsTerminal_0.6.2951.0_8wekyb3d8bbwe.msixbundle"
Add-AppPackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict validation.
Windows cannot install package Microsoft.WindowsTerminal_0.6.2951.0_x64__8wekyb3d8bbwe because this package depends on
a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by
"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor
architecture and minimum version 14.0.27323.0, along with this package to install. The frameworks with name
"Microsoft.VCLibs.140.00.UWPDesktop" currently installed are:
Windows cannot install package Microsoft.WindowsTerminal_0.6.2951.0_x64__8wekyb3d8bbwe because this package depends on
a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by
"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor
architecture and minimum version 14.0.27323.0, along with this package to install. The frameworks with name
"Microsoft.VCLibs.140.00.UWPDesktop" currently installed are:
{Microsoft.VCLibs.140.00.UWPDesktop_14.0.26905.0_x86__8wekyb3d8bbwe
Microsoft.VCLibs.140.00.UWPDesktop_14.0.26905.0_x64__8wekyb3d8bbwe}
NOTE: For additional information, look for [ActivityId] edfb45f8-a09f-0003-a403-fced9fa0d501 in the Event Log or use
the command line Get-AppPackageLog -ActivityID edfb45f8-a09f-0003-a403-fced9fa0d501
At line:1 char:1
+ Add-AppPackage -path "C:\Microsoft.WindowsTerminal_0.6.2951.0_8wekyb3 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (C:\Microsoft.Wi...bbwe.msixbundle:String) [Add-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

Недавно я обновил другой компьютер в той же среде до версии 1909. Мне удалось установить последнюю версию Windows Terminal 0.6.2951.0. Оказывается, на этой машине установлен UWPDesktop v 14.0.27810.0. Я не уверен на 100%, где, когда или как он был установлен, хотя я думаю, что это может быть потому, что на этой машине установлены VS2017 и VS2019.

Кажется, что должно произойти, чтобы эта загрузка
https://www.microsoft.com/en-us/download/details.aspx?id=53175
обновлен до версии 14.0.27810.0 (или новее). Я не уверен, почему эта загрузка застопорилась с 2016 года.

Обновление: у нас есть несколько внутренних разговоров, чтобы решить эту проблему. Следите за обновлениями.

FWIW, я работаю в средах, которые никогда не будут подключены к Интернету. К черту сертификаты, полученные Azure, M365 и т. д. У них просто никогда не будет подключения к интернету.

Терминал Windows был доступен в Scoop . Scoop извлекает файлы из MSIX с помощью 7zip, и это работает хорошо. Итак, я полагаю, Windows Terminal уже переносим? Кажется, не все установщики msix могут так работать.

Это правда, что Терминал сегодня работает без упаковки, но в настоящее время мы не гарантируем, что так будет всегда.

Сбой использования шоколада на сервере Windows 2019:

choco install microsoft-windows-terminal
ОШИБКА: для этого пакета требуется как минимум Windows 10 версии 1903/сборка ОС 18362.x.
Установка microsoft-windows-terminal НЕ была успешной.
image

Существуют ли разные версии Windows Server или все они слишком старые?

@ArgTang Я считаю, что ни одна из версий сервера недоступна: https://github.com/microsoft/terminal/issues/2312#issuecomment -519318609

Конечно! /дубликат #2312.

Привет! Мы определили эту проблему как дубликат другой, которая уже существует в этом инструменте отслеживания проблем. Этот конкретный экземпляр закрывается для отслеживания проблемы в указанном потоке. Спасибо за ваш отчет!

В настоящее время Server недоступен в версиях 1903 и 1909. Извини за это!

Я совершенно не собирался закрывать эту ошибку отслеживания мастеров. Простите всех!

До сих пор я не нашел абсолютно никакого обходного пути на работе.
поскольку предыдущая проблема была закрыта, я обновляю последнюю выпущенную версию:
(скопируйте и вставьте предыдущую проблему здесь, чтобы не потерять трек из # 4424, извините, @DHowett , я думаю, что это полезно, чтобы увидеть поведение каждой выпущенной версии, менялось ли оно время от времени)

результат здесь: проблема https://github.com/microsoft/terminal/issues/4424 была закрыта в пользу этой

Единственная рабочая версия, которая у меня есть, это 0.6xxxx , которую я собрал вручную, у меня происходит сбой mdmerge.exe при попытке собрать 0.8.x либо на 19041 slow ring , либо на 1909 stable


Скопируйте вставку из закрытой проблемы:

Последний WindowsTerminal_0.8.10261.0_x64__8wekyb3d8bbwe msixbundle устанавливается, но приложение вылетает, то же самое, если я устанавливаю с chocolatey

@DHowett

Спасибо за улучшение над msixbundle , так как он не устанавливается, а начинает работать.
Можете ли вы сказать мне, как я могу получить информацию о том, ПОЧЕМУ происходит сбой при запуске, чтобы я мог создать правильную проблему для потенциального решения этой проблемы в более поздней версии?

Я вижу, как граница появляется на полсекунды, затем происходит сбой и это:

image

если я открою достаточно быстро Start Menu , я увижу, что, вероятно, есть что-то вроде MS Store Post Action (индикатор выполнения):
image

Чем могу помочь ?
Интересно, где журналы, чтобы диагностировать это.
Я не уверен, где искать в EventViewer (я пытался проверить, но не нашел ничего похожего на сбой)

[Window Title]
Network Error

[Main Instruction]
Windows cannot access C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_0.8.10261.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe

[Content]
Check the spelling of the name. Otherwise, there might be a problem with your network. To try to identify and resolve network problems, click Diagnose.

[^] Hide details  [Diagnose] [Cancel]

[Expanded Information]
Error code: 0x800704cf
The network location cannot be reached. For information about network troubleshooting, see Windows Help.

Если каким-либо образом текущее состояние установки может помочь, дайте мне знать.

Я еще не нашел способа получить журналы/диагностику/трассировку того, что не найдено, поэтому он может помочь дать отзыв об этом конкретном поведении, чтобы увидеть, можно ли и как это потенциально исправить ^^

Я не возражаю против того, чтобы у меня не было «Обновления магазина», так как… Корпорация заблокировала магазин.
поэтому сейчас я стараюсь использовать msixbundle хотя бы раз ;)
Я бы просто переустановил следующий msixbundle , когда мне нужно обновить

Спасибо всем за терпение в этом вопросе.

Мы полностью понимаем, что здесь происходит, но не хотим предоставлять хакерское решение.

Мы активно работаем с несколькими внутренними командами, чтобы предоставить долгосрочное поддерживаемое решение этой проблемы, и сообщим здесь, как только узнаем, что можно сделать и когда. На самом деле, около 20 минут назад я подал официальный запрос другой команде, чтобы она немного поработала за нас.

Следите за обновлениями.

Извините , @iamdeskoh, я удаляю этот комментарий, так как он рекомендует загружать пакеты из непроверенного, ненадежного источника. Такие практики категорически не рекомендуются. Мы бы не хотели, чтобы кто-то непреднамеренно заразился чем-то неприятным, сделав это.

Будьте уверены, что мы ведем внутреннюю работу над устранением этой проблемы. Пожалуйста, будьте терпеливы с нами.

@bitcrazed

нет, не будет нажимать на эту ссылку

зачем мне пытаться щелкнуть неизвестный / ненадежный домен?
особенно для установки бинарников из неофициального источника

вы можете сначала объяснить, какова цель веб-сайта, прежде чем отправлять ссылку и попросить пользователя щелкнуть по ней. также я полагаю, что то, что он делает за сайтом, является открытым исходным кодом, так что ему можно доверять ^^?

я не говорю, что это не работает, просто вы не можете доверять третьей части, отправляющей волшебные двоичные файлы
Особенно, когда вы можете сначала спросить здесь команду windows/terminal , смогут ли они решить эту проблему.

Мне тоже не очень нравится этот обходной путь, но ссылки для скачивания исходят из домена Microsoft. Похоже, что предоставленный веб-сайт @deskoh просто содержит ссылки на незарегистрированный контент из Магазина Microsoft.
И если бы команда могла предоставить способ установки необходимых зависимостей для своего проекта, людям не пришлось бы пытать счастья с обходным решением, подобным этому...
Но даже после установки достаточно свежей версии Microsoft.VCLibs.140.00.UWPDesktop установка по-прежнему завершается сбоем из-за другой ошибки.

@clement-fischer, с какими ошибками вы столкнулись? Наконец-то мне удалось запустить его в среде с воздушным зазором. Вам понадобится распространяемый пакет VC++. Мне также нужно запустить терминал из каталога WindowsApp.

@deskoh Хотя я пытался установить через Powershell, ошибка, похоже, та же, что и в # 3194.

Я попробовал несколько способов установить msix и appx вручную, и сборки Windows Terminal, по-видимому, заблокированы для более поздних версий Windows 10, чем самая последняя сборка Windows Server 2019.

Это весьма прискорбно.

К сожалению для всех нас, эта функция не будет представлена ​​в версии Terminal 1.0. Таким образом, Terminal по-прежнему будет бесполезен для ИТ-специалистов в реальных производственных средах: https://github.com/microsoft/terminal/milestone/6 .

Если они исправят доступность зависимости, тогда должна быть возможность установить вручную. Проблема № 3097 указана как одна из обязательных проблем для версии 1.0.

Я не могу сказать за других пользователей, но мне бы очень хотелось, чтобы msixbundle работал где угодно, даже если это означает, что мне придется обновить его позже.
Вот как я использую Powershell Core 7.x на работе с момента первого предварительного просмотра.

Кроме того, есть приятное сообщение, информирующее вас ВНУТРИ оболочки (поэтому не навязчивое), что вам не хватает обновления.
Я думаю, что есть также отказ от этого

Что может быть лучше, чем, например, извлечение msixbundle вручную

хорошо работает с совком, мы можем использовать его в профессиональной среде. (с нашего профессионального рабочего стола Windows):
https://github.com/lukesampson/scoop-extras/blob/master/bucket/windows-terminal.json
scoop install windows-terminal

Спасибо за это!

совок самая крутая вещь на свете!
https://youtu.be/a85QLUJ0Wbs

Это такой хороший и полезный инструмент, чувствуешь себя как дома

Am Fr., 24. Apr. 2020 um 12:03 Uhr schrieb Xiang ZHU <
уведомления@github.com>:

Что ж, по-прежнему непригодно для среды Windows Server:

iwr -useb get.scoop.sh | икс
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
совок установить git
совковое ведро добавить ведро экстра
scoop установить windows-терминал
Установка 'windows-терминала' (0.11.1121.0) [64bit]
Microsoft.WindowsTerminal_0.11.1121.0_8wekyb3d8bbwe.msixbundle (16,1 МБ)[===================================] 100%
Проверка хэшаMicrosoft.WindowsTerminal_0.11.1121.0_8wekyb3d8bbwe.msixbundle ... хорошо.
Извлечение dl.7z... сделано.
Запуск скрипта предварительной установки...
Запуск скрипта установки...
*ОШИБКА Требуется по крайней мере Windows 10 18362. *

@gh4chris
То же самое на рабочем столе, верно?
Поскольку терминал зависит от конкретной функции ОС, для него требуется определенный минимальный уровень версии.

image

Вы, вероятно, хотите обновиться до 1903/1909 (2004/20H1 должен приземлиться менее чем через месяц)
image

Понимаете? Это проблематично в профессиональной среде. Обновления включают
много проверок, чтобы не сломать существующие настройки...

Я сомневаюсь, что WT действительно нуждается в таких зависимостях. IT делает весь проект
более-менее смешно

Am пт., 24 апреля 2020 г. 13:10 Uhr schrieb TeBeCo < [email protected]

Насколько я понимаю, у вас возникла проблема с обновлением серверов в вашей компании, это другая проблема, не связанная с развертыванием.
Вы можете связаться с командами на вашей стороне, чтобы обновить их изображение, чтобы получить хотя бы то, что было год назад.

Это немного отличается от "Альтернативы магазину пока нет"

Я бы не сказал, что это блокирует или проблематично. Например, вы можете использовать Enter-PSSession или ssh , и тогда вы будете использовать WT со своего компьютера, пока используете Shell сервера.
Вы даже можете обновить до PSWS 7.x на своем сервере, если хотите, или установить его как dotnet tool

Вы, вероятно, хотите открыть другую проблему, чем Investigate alternative deployment mechanisms for Windows Terminal

Я действительно не хочу вдаваться в назревающий здесь спор о том, что представляет собой «реальная среда».

Но я, конечно, хотел бы, чтобы это работало на Windows Server (любой версии), и его работа в Windows 10 также бесполезна в моих обстоятельствах.

Я бы просто сказал обновиться до Windows Server 2019
но это может быть трудной пилюлей, так как даже портал Azure не предлагает шаблон для него.
(но да, я полагаю, "просто обновить")

Кроме того, поскольку я такой же потребитель, как и вы, можете ли вы открыть проблему, поскольку она не связана с этой?
Может спросите там почему и подробности про минимальную версию ОС
но это не связано с механизмом развертывания

Привет @DHowett , твоя фиксация (которая, как я знаю, еще не выпущена) для объединения депов в терминал должна очень помочь с наличием автономного установщика msixbundle.

Похоже, что после этого основным недостающим элементом для разумного метода автономной установки является наличие статического URL-адреса aka.ms для загрузки последней версии msixbundle, вместо того, чтобы обновлять ваши сценарии с помощью последней версии github.com. и URL загрузки.

Можно ли получить статическую ссылку для скачивания этого пакета?

Можно ли получить статическую ссылку для скачивания этого пакета?

Это неплохая идея, и, вероятно, нам нужно будет сделать это раньше, чем позже.

Я бы предпочел предложить appinstaller (который в значительной степени представляет собой msixbundle с тегом «где я могу найти больше о вас?» (для обновлений!)), но на самом деле это требует этого, так что _пожимайте плечами_.

*ОШИБКА Требуется по крайней мере Windows 10 18362. *

Почему существует такое странное жесткое требование? Нельзя ли снизить зависимость от этого, чтобы его можно было использовать в версиях LTSC?

@kein Это то, что мы подробно обсуждали в этом репозитории ранее .

#1643 (комментарий)

Извиняюсь. Прямо сейчас есть два больших препятствия для принятия 1809 года.

* XAML islands was a technology preview and didn't support high-DPI, DPI changes, or accessibility in 1809. We rely on them heavily.

* 1903 added support for side-by-side WinRT component activation, something deep in the COM stack that lets us find our DLLs when they're right next to our EXE.

Мы просто не можем вернуться в 1809 год.

#1909 (комментарий)

Терминалу Windows ТРЕБУЕТСЯ функция последней версии Windows.

К сожалению, у нас действительно нет доступных обходных путей. XAML Islands — это технология, которую мы используем для размещения пользовательского интерфейса XAML в процессе Win32. Без этого мы не сможем ничего отобразить. Поскольку XAML Islands завершена только в последнем выпуске Windows 10, мы ничего не можем с этим поделать.
Если вы хотите использовать терминал, вам _должна_ быть установлена ​​последняя версия Windows 10.

#841 (комментарий)

#498 (комментарий)

На данный момент планов нет.
Мы зависим от C++/WinRT и XAML Islands (UWP XAML) для нашего пользовательского интерфейса. Мы также используем DX/DWrite для визуализации текста. Если они когда-нибудь не будут перенесены на Linux, то я бы сказал, что у нас очень мало шансов когда-либо поддерживать Linux.
Кроме того, вся наша система сборки основана на MsBuild, и я могу ошибаться, но я не думаю, что наша система сборки будет работать на Linux.

#1893 (комментарий)

#2024 (комментарий)

Это объясняет, почему такая ограниченная поддержка, но не делает недействительным ни один из приведенных здесь аргументов. Большинство пользователей Терминала являются пользователями Сервера и LTSC. Какой смысл в Терминале, ориентированном на домашних пользователей? В конце концов, он исчезнет, ​​будучи привязанным к очень конкретной среде. Прямо сейчас я вернулся к cmder , и если Терминалу не удастся решить эту проблему и он не будет доступен раньше в 2020 году, я тоже забуду об этом.

Большинство пользователей Терминала являются пользователями Сервера и LTSC.

У вас есть доказательства этому утверждению?

Можно ли разделить этот вопрос на 2 вопроса; альтернативный механизм развертывания и минимальная версия?

Есть много других тем, касающихся «минимальной версии», поэтому я просто начну отмечать обсуждение минимальной версии в этой теме как «не по теме».

Наш пример использования: университет, в котором работает ветвь долгосрочной поддержки на 3,5 тыс. рабочих столов Windows 10, у них включено хранилище Windows, поэтому они могут получить терминал. У наших администраторов (тех, кто действительно хотел бы получить выгоду от Терминала) есть рабочие станции Windows, на которых они могут его использовать, но по большей части они используют RDP на многих разнородных серверах Windows, работающих в основном с Server 2016, чтобы затем использовать MMC и PowerShell для настройки. их. Терминал было бы здорово иметь на все это.

Другой способ использования — RDP на один бастионный сервер удаленных рабочих столов Windows, чтобы затем взаимодействовать с другими серверами через Enter-PSSession.

У нас очень мало серверов Windows Core, поскольку сторонние стеки приложений и консультанты, которые регулярно приходят с ними для первоначального развертывания, не понимают этого или приложения не поддерживают его.

У нас есть платформа управления конфигурацией, которую мы используем для доставки в основном MSI как для Windows 10, так и для Server 2016, поэтому доставка ее повсюду была бы легкой, если бы она была в подходящем формате.

@carwyn то же самое здесь. Наша среда, как правило, имеет n-1, поэтому клиент, который мы поддерживаем, только что обновился до 2016.

Я просматривал терминал Windows на рабочем столе на своем домашнем компьютере, и мне это нравится. Я хотел бы использовать его «в производстве» на наших джамп-боксах на работе, чтобы команда могла их использовать, но единственный вариант — Windows Server 2019 означает, что нам придется ждать намного дольше, что немного разочаровывает для замечательного клиента, который Я потенциально могу использовать для замены моего стареющего Windows PowerShell ise.

Извините ребята, меня не устраивают все ограничения и сложности с
установки.
Кажется, я нашел свое решение. Я использую mobaXterm сейчас. Получилось почти все
функции, которые мне нужны, и просто нужно запустить программу установки.
Жизнь может быть легкой

Am Do., 11 июня 2020 г. 10:20 Uhr schrieb weiyentan <
уведомления@github.com>:

Ни одно из упомянутых здесь решений не сработало для меня при установке на Windows Server 2019. Даже при использовании scoop происходит сбой с сообщением «ОШИБКА. Требуется как минимум Windows 10 18362».

Ни одно из упомянутых здесь решений не сработало для меня при установке на Windows Server 2019. Даже при использовании scoop происходит сбой с сообщением «ОШИБКА. Требуется как минимум Windows 10 18362 ».

Правильный. Это не будет работать на сервере 2019. 2019 основан на 1809. И нужен как минимум 1903.

Ни одно из упомянутых здесь решений не сработало для меня при установке на Windows Server 2019. Даже при использовании scoop происходит сбой с сообщением «ОШИБКА. Требуется как минимум Windows 10 18362».

Также вы можете взглянуть на последний комментарий в этом выпуске:
https://github.com/microsoft/terminal/issues/1386#issuecomment-634933002

Привет @DHowett по поводу # 6802
загрузка и двойной щелчок по пакету не устанавливает терминал Microsoft, если доступ к магазину Microsoft ограничен. он показывает следующую ошибку

image

Та же лодка, что и у Санкета. Наша ИТ-группа (по понятным причинам) не склонна к риску и ценит стабильность, а не новые функции. А доступ к Microsoft Store заблокирован из соображений безопасности, поэтому даже после того, как мы получим более современную сборку (1903, 2004), похоже, мы не сможем установить Windows Terminal из пакетов MSIX, если не соберем его из исходного кода (я делала один раз, но долго, не хочется каждый раз так делать).

Можно понять тот факт, что это не игнорируется, а просто отстает. Тем не менее, я надеюсь, что вскоре можно будет развернуть это через SCCM (для клиентов) и другими способами для машин Windows Server.

@JongleurNin @sanket-bhalerao

Это отлично работает, если у вас есть возможности «Загрузить»:
Мы перестали выполнять сборку из исходного кода с версии 0.9 или 0.10, так как теперь это работает:

Вручную:

Автоматизация:

  • создайте функцию pwsh в вашем $PROFILE , чтобы проверить активы списка-релиза
    здесь вы хотите это https://api.github.com/repos/microsoft/terminal/releases/latest
  • вы можете использовать pwsh ConvertFrom-Json
  • получить свойство name , которое заканчивается на msixbundle в списке активов
  • используйте Invoke-WebRequest $ в поле browser_download_url
  • Не забудьте использовать Get-Proxy и ProxyUseDefaultCredentials , если у вас есть прокси NTLM , потому что... CORP ARE FUN
  • используйте функцию Expand-Archive pwsh для распаковки (не уверен, что вам нужно явное переименование)
  • поместите это в Gist для вашего товарища по команде;)
  • xcopy-able exe - это то, что нужно. Электроинструменты, такие как консоль, не нуждаются в установке. Установщик - это излишество, и, пожалуйста, избегайте его. Следовательно, вам не нужно тратить месяцы на тестирование. В прошлый раз, когда я проверял, у Visual Studio была возможность создавать исполняемый файл в режиме выпуска, который должным образом подписан.
  • Нас, опытных пользователей, не впечатлило решение выбрать магазин в качестве основной модели распространения. Потому что вчера я попытался установить эту консоль на свой рабочий компьютер, и угадайте, что магазин настроен с моей учетной записью Hotmail, потому что ему нужна учетная запись Microsoft, которая не является моей рабочей учетной записью, и у меня была возможность установить консоль на моем личном ПК, который была дома. Мне нужна была консоль на моей рабочей машине, а не на моей личной машине.
  • в общем, просто это. Упростите доступ к этому инструменту, чтобы мы могли его использовать. В остальном я доволен ConEmu, которым пользуюсь уже много лет.

Что ж, я полагаю, что единственное объяснение такого количества необоснованных вариантов установки и зависимостей должно быть связано с рынком/политикой. Я предполагаю, что MS хочет, чтобы магазин приложений был единственным законным источником приложений (выглядит голодным и завистливым к бизнес-модели Apple), я думаю, что в какой-то момент это имеет смысл, но это также опасный путь. Пользователи Windows не являются пользователями Apply и не так снисходительны.
Я уверен, что у команды Win Terminal связаны руки (ну, я очень надеюсь, что причина в этом, позвольте мне сказать так!)

@JongleurNin @sanket-bhalerao

Вручную:

* https://github.com/microsoft/terminal/releases/latest

* download `msixbundle` (do not execute it)

* rename to zip

* extract it

* run `WindowsTerminal.exe`

* pin it

Должно ли это работать с v1.1.2021.0?

В zip-файле нет WindowsTerminal.exe !?

вам также нужно разархивировать sub msix
х86 / х64 / АРМ
музыкальный пакет доставляет их все сразу
Это то, о чем вы спрашивали?

Это было не явно, я согласен

вам также нужно разархивировать sub msix

Я разобрался с этим сразу после публикации :) На каких ОС это должно работать? Я пробовал Windows Server 2012R2 и 2016, но не повезло. Не уверен, что я слишком амбициозен или мне нужно что-то установить?

Вы не сможете этого сделать, это задокументировано и обсуждается в нескольких местах в этом репозитории.
WT полагается на очень специфическую функцию самой Windows, что означает наличие минимальной версии.

для тех, кто хочет немного автоматизировать загрузку, вот ОЧЕНЬ НАИВНЫЙ скрипт:

  • не полностью проверить
  • не поддерживает горячую замену, если WT работает => с помощью символической ссылки можно выполнить синее / зеленое обновление?
  • не устанавливает/обновляет $env:PATH
[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 <strong i="11">@params</strong>

    $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

для тех, кто хочет немного автоматизировать загрузку, вот ОЧЕНЬ НАИВНЫЙ скрипт:

* not fully test

* does not support Hot Swap if WT is running => using symlink could do Blue/green update ?

* does not Set/Update `$env:PATH`
[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 <strong i="9">@params</strong>

    $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

Зачем принудительно использовать PowerShell 7? Это делает скрипт менее полезным.

Привет
Большое спасибо, что заметили
Вы хотите, чтобы я обновил его для вас? или у вас уже работает на предыдущей версии?
(см. раздел Dev time ниже)

Почему ?

ТЛ;ДР ? потому что я ленивый и просто использую то, что есть из коробки

Немного контекста, поскольку я потратил свободное время, пытаясь помочь, намеренно ли я потратил время, чтобы попытаться помочь, предоставив невыполнимый скрипт?
Насколько я помню, скрипт использует API, который был добавлен в 7.0 и исправлен в ~7.0.2/3, так что он не должен был никого беспокоить.
Смотрите, этот диск TEMP:\

Все еще застряли на устаревшем powershell ?

Не могли бы вы предоставить эквивалент того, что делает диск TEMP:\ , как сказал, что я ленив, и я просто пытался быстро помочь в свободное время
powershell поставляется только для Windows и будет/будет ограничен версией 5.0 и не будет развиваться
Прошел примерно год с тех пор, как я пробежал powershell TBH.
Что приводит нас к LTS

Использование LTS

в January 2018 была выпущена первая версия pwsh (PowerShell Core) => 6.0.0
_ pwsh 7.0 — текущая LTS _ (она была отправлена ​​4 марта 2020 г.)

Кроме того, как вы, возможно, уже знаете, для WT требуется минимальная версия Windows, поэтому я мог предположить (слишком быстро), что потребитель, желающий использовать wt , может знать о pwsh (powershell ядро) начиная с версии 6.0 (примерно январь 2018 г.)

Время разработки

Что ж, поскольку я стремлюсь убедиться, что инструменты, которые я использую, обновлены, чтобы избежать ошибок, я не заметил, что диск TEMP:\ не существовал в предыдущей версии pwsh или даже не существовал. попробовал powershell .
Этот скрипт использовали несколько товарищей по команде (возможно, это не тот же самый скрипт), и я думаю, что один из них заметил проблему/обновил и поднял вопрос.
Поэтому мы добавили Guard , чтобы правильно проинформировать о требованиях.

Я мог бы добавить входные параметры о папке temp или нажать API CSharp , чтобы получить папку Temp и т. д.
Как уже говорилось, я ленив, и простой "if()/throw" кажется самым быстрым способом найти решение здесь.

Бонусные очки

Также обратите внимание, что pwsh 7+ работает в среде выполнения dotnet core , поэтому он кроссплатформенный.
Это делает его более полезным, если вам нужен скрипт для запуска на Win/Linux/MacOs.
(даже если WT только победа)

Обновление/установка

Вы пытались обновить свой компьютер или у вас возникли проблемы с этим? Как я могу помочь в этом?

Админ верно? или не

Вам не нужны права администратора, чтобы установить его

Различные пути

Если вам нужна помощь по обновлению компьютера с любого

  • msix (двойной щелчок)
  • msixbundle (двойной щелчок)
  • zip (щелкните правой кнопкой мыши > извлечь)
  • dotnet tool instal -g (копировать/вставить)

Официальный гитхаб

если у вас возникли проблемы с его поиском, вот официальный репозиторий
https://github.com/powershell/powershell/релизы/последние

Официальные документы

Если вы предпочитаете документацию по развертыванию и дополнительную подробную информацию:
https://github.com/powershell/powershell/releases/tag/v7.0.3

@tebeco , если вам нужна альтернатива temp:/ , используйте $Env:TEMP .

PS7> set-content temp:/file "hello"
PS7> powershell
WinPS> get-content "$Env:TEMP\file"
hello

спасибо за информацию

Как вы думаете, вы бы приняли PR в этом репозитории, чтобы отправить его в качестве актива?
точно так же, как команда dotnet выпустила dotnet-install.ps1|sh и создала короткую ссылку aka.ms

Я бы с удовольствием сделал пиар, если ты не против

это устранит проблему msixbundle , поскольку пока что ее нельзя использовать во всех корпоративных средах, в которых магазин заблокирован.

я наверное спрошу

  • в какую папку добавить файл
  • имя переменной env, чтобы мы могли ИЛИ НЕ использовать по умолчанию эти var , если аргументы inout не предоставлены
  • где изменить конвейер сборки, чтобы он был индивидуальным

Прошу прощения, но нет! Это будет означать уровень официальной поддержки этого решения, с которым мы еще не готовы согласиться. Но спасибо :smile:

Я могу ошибаться в этом, я понял, что проблема не будет исправлена ​​в краткосрочной перспективе, так как в ней участвует другая команда из Магазина и т. д. Насколько это точно, как вы думаете (~ 6 месяцев / ~ 12, может быть)?
Кроме того, компании заблокировали Store в первую очередь, чтобы избежать установки сторонних компонентов, поэтому они, вероятно, не хотят менять свой «базовый образ Windows» для установки дополнительной третьей части (да, Windows Terminal — это третья часть, если она не поставляется с установкой Windows по умолчанию, что приводит к следующей проблеме, когда Компания не обновляет «основной образ» быстро (~ 1,5 года GAP)

Чтобы добавить больше боли к проблеме, ~ 70% времени это делается (обновление базового образа) в части компании, которую очень трудно найти / связаться / обсудить, и которая всегда найдет «веские» причины, чтобы не делать то, что кто-нибудь еще попросит их сделать это, потому что они хотят быть уверены, что полностью владеют всем, чтобы контролировать (... то, что установлено).

Когда люди пытаются установить WT , они, вероятно, отказываются или пытаются посмотреть здесь и искать решение.
Вероятно, они не смогут найти Gist/Repo в другом месте, так как не будут знать, что он существует.

Как-то странно быть в центре этого

  • Невозможно обсудить с безопасностью блокировку магазина/третьей части/установку Windows
  • Пытаюсь помочь здесь, чтобы скрипт выполнял правильный обходной путь, но я понимаю, что это не ваша долгосрочная цель (скажем, через 2 года)

Если возможно найти обходной путь, начиная с сегодняшнего дня, до той «долгосрочной цели», которая будет выпущена в ближайшие годы.

Как далеко вы пойдете в продвижении решения, которое работает, пока не будет выпущено что-то идеальное и «поддерживаемое»?
Не могли бы вы изменить README этого репозитория так, чтобы любой из них указывал на Gist/Repo, на котором размещен скрипт?
Вы бы по умолчанию отправляли проблему, открытую по этой теме, в этот скрипт репо / gist каждый раз, когда каким-то образом возникает одна и та же проблема?

Я ищу "золотую середину", которая будет продвигаться от команды Windows Terminal , но вы не обязаны иметь "официальную поддержку" на источнике

Была ли эта страница полезной?
0 / 5 - 0 рейтинги