Перейти к основному содержимому
Certified-сборка

Ручное развёртывание

Установите MSI Certified Build на один компьютер или своим скриптом. Эта процедура не использует установку программ Active Directory. Эта процедура не использует пакет Intune.

  1. Скачайте пакет развёртывания Certified Build из клиентского портала.
  2. Выберите архитектуру целевого компьютера.

Для компьютера amd64 в имени файла стоит x64. Для компьютера arm64 в имени файла стоит arm64.

ФайлНазначение
nvm-windows-<version>-certified-<arch>.msiПакет установщика. <arch> — это x64 или arm64.
nvm-windows-<version>-certified-<arch>.mstНеобязательный transform. Transform принимает EULA для тихой установки.

Сначала выполните Требования.

Развёртывание на парк

Для многих компьютеров используйте Active Directory или Intune.

Повышение прав

MSI Certified Build устанавливается на компьютер. Установка, восстановление, обновление и удаление требуют повышенного приглашения или агента в контексте системы. Файлы устанавливаются в %ProgramFiles%\Author Software\nvm.

Свойства MSI​

У MSI Certified Build два открытых свойства для установки.

СвойствоОбязательно?Назначение
ACCEPT_EULA=1Да для quiet / reduced UIПринимает лицензию без мастера. Нужно для /qn, /qb и same-version repair.
OFFICIALNODEНетВыбрать, что сделать с существующей официальной установкой Node.js. По умолчанию copy. Значения перечислены в Certified Build.

Задавайте параметры среды через Administrative Templates или политику реестра. Не задавайте параметры среды свойствами MSI.

Частые флаги msiexec​

Используйте эти флаги с msiexec.

ФлагЗначение
/i <path.msi>Установка или обновление
/x {PRODUCT-CODE}Удаление. Скопируйте код продукта из MSI, который вы развёртываете.
/qnБез UI (quiet)
/norestartНе перезагружать автоматически
/L*V <path.log>Подробный журнал
TRANSFORMS=<path.mst>Применить MST (см. MST transform)
REINSTALL=ALL REINSTALLMODE=amusВосстановление той же версии (с /i, не /fa)

Для восстановления указывайте абсолютный путь к MSI. Относительный путь может дать ошибку Windows Installer 1619. Служба тогда не может снова открыть пакет.

Не используйте /fa или /famus

/fa и /famus не сохраняют ACCEPT_EULA=1 в сеансе восстановления этого пакета. Используйте /i с REINSTALL=ALL REINSTALLMODE=amus.

Интерактивная установка​

Дважды щёлкните MSI или выполните:

msiexec /i "C:\Packages\nvm-certified\nvm-windows-<version>-certified-x64.msi"

Примите EULA в интерфейсе. Полная установка с интерфейсом не требует свойства ACCEPT_EULA.

Скрипт тихой установки​

Запустите PowerShell с повышенными правами. Передайте ACCEPT_EULA=1 или примените MST (см. ниже).

# Требуется elevation (Запуск от имени администратора)
$msi = 'C:\Packages\nvm-certified\nvm-windows-<version>-certified-x64.msi'
$logDir = Join-Path $env:ProgramData 'Author'
$log = Join-Path $logDir 'nvm-certified-install.log'

New-Item -ItemType Directory -Force -Path $logDir | Out-Null

$arguments = "/i `"$msi`" ACCEPT_EULA=1 /qn /norestart /L*V `"$log`\""
$process = Start-Process msiexec.exe -ArgumentList $arguments -Wait -PassThru
exit $process.ExitCode
  1. Сохраните скрипт как Install-NvmWindows.ps1.
  2. Запустите:
powershell.exe -ExecutionPolicy Bypass -File .\Install-NvmWindows.ps1

Код выхода 0 означает успех. Код выхода 3010 означает успех, и компьютеру нужна перезагрузка.

Восстановление той же версии​

Используйте этот скрипт, чтобы восстановить ту же версию.

$msi = 'C:\Packages\nvm-certified\nvm-windows-<version>-certified-x64.msi'
$logDir = Join-Path $env:ProgramData 'Author'
$log = Join-Path $logDir 'nvm-certified-repair.log'

New-Item -ItemType Directory -Force -Path $logDir | Out-Null

$arguments = "/i `"$msi`" REINSTALL=ALL REINSTALLMODE=amus ACCEPT_EULA=1 /qn /norestart /L*V `"$log`\""
$process = Start-Process msiexec.exe -ArgumentList $arguments -Wait -PassThru
exit $process.ExitCode

Тихое удаление​

msiexec /x "{PRODUCT-CODE-FROM-DEPLOYED-MSI}" /qn /norestart

См. Удаление, чтобы найти код продукта и удалить продукт через GPO или Intune.

MST transform​

MST — это transform установщика Windows. Вы применяете MST вместе с MSI. Разделы ниже показывают, когда нужен transform и как его применить.

Назначение​

Файл .mst Certified Build с портала задаёт ACCEPT_EULA=1. Установка программ групповой политики тогда может установить продукт без интерфейса. Агент, который не может передать свойства MSI, также может установить продукт без интерфейса.

MST не задаёт параметры среды. Для параметров среды используйте ADMX или политику реестра. Не изменяйте двоичный файл .mst.

Когда нужен​

СценарийНужен MST?
Ручной или скриптовый msiexec с ACCEPT_EULA=1 в командной строкеНеобязательно. Достаточно свойства.
Active Directory GPSI (вкладка Modifications)Да. Приложите .mst. См. Развёртывание через Active Directory.
Агент устанавливает MSI, но не может передать открытые свойстваДа. Используйте TRANSFORMS= или список transform агента.

Применить через msiexec​

Положите MSI и MST в одну папку. Используйте абсолютные пути.

$msi = 'C:\Packages\nvm-certified\nvm-windows-<version>-certified-x64.msi'
$mst = 'C:\Packages\nvm-certified\nvm-windows-<version>-certified-x64.mst'
$log = Join-Path $env:ProgramData 'Author\nvm-certified-install.log'

New-Item -ItemType Directory -Force -Path (Split-Path $log) | Out-Null

$arguments = "/i `"$msi`" TRANSFORMS=`"$mst`" /qn /norestart /L*V `"$log`\""
$process = Start-Process msiexec.exe -ArgumentList $arguments -Wait -PassThru
exit $process.ExitCode

MST с портала задаёт ACCEPT_EULA=1. Командная строка не требует ACCEPT_EULA=1, когда вы применяете этот MST. Можно передать оба значения. Установка всё равно завершается успешно.

Проверка​

Подтвердите установку:

Get-Item "$env:ProgramFiles\Author Software\nvm\nvm.exe"
nvm version

После установки откройте новый терминал. Новый терминал показывает обновлённый PATH.

ТемаДокумент
ТребованияТребования
GPO + MSTРазвёртывание через Active Directory
Win32 / IntuneРазвёртывание через Microsoft Intune
УдалениеУдаление
Политики после установкиAdministrative Templates