#Когда применима инструкция
Один и тот же MSI запускается вручную, но завершается с ошибкой, когда его вызывает «Планировщик заданий». Контекст службы, права пользователя, рабочий каталог и отсутствие интерактивного рабочего стола в задачах влияют на установку. Не запускайте MSI с невидимым интерфейсом в фоновом задании, если он требует вопросов пользователя. Не используйте пароли в командной строке и скриптах.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет интерактивного рабочего столаMSI ожидает окно или согласие пользователя, но задача исполняется без входа. | В задаче включено «Выполнять вне зависимости от входа», MSI зависает на диалоге. | Использовать поддерживаемый режим установки у производителя. |
| Неверный путь/рабочий каталогЗадача запускается не из каталога установщика. | Путь относительный, лог сообщает отсутствие CAB/MST. | Указать абсолютные пути. |
| Недостаточно разрешенийЗадача работает под служебной учётной записью, не имеющей доступа к источнику/папке. | Есть отказ доступа, в обычном сеансе установка успешна. | Согласовать роль задачи с ИТ-службой. |
#Подробная диагностика и решение
- Зафиксируйте версию Windows и точный симптомНажмите Win+R →
winver→ Enter, запишите версию и сборку Windows. Уточните название и версию устанавливаемой программы, расширение исходного файла.msiлибо.exe, дату, время и полный текст ошибки. Если ошибку показывает уже установленная программа, сначала установите, относится ли она вообще к Windows Installer: совпадение слов «ошибка установки» не доказывает участие MSI. Не выдавайте предположения за диагностический результат.
- Подготовьте безопасную копию и исходный пакетСохраните открытые документы, настройки и данные программы на отдельный носитель либо в другое надёжное расположение. Используйте только официальный дистрибутив или пакет из корпоративного каталога; если приложение уже установлено, не удаляйте его до подтверждения резервной копии и возможности восстановления лицензии. Не удаляйте содержимое
C:\Windows\Installer, не меняйте права системных папок массово и не отключайте защиту ради повторного запуска.
- Сопоставьте событие установки с конкретным временемНажмите Win+R →
eventvwr.msc→ Enter → «Журналы Windows» → «Приложение». Найдите события источникаMsiInstallerв момент попытки, если они появились, запишите номер события, имя продукта и код. При падении Setup.exe/программы ищите отдельноApplication Errorи имя сбойного EXE. При отсутствии события не подставляйте типовой «1603»: он не следует из отсутствия журнала.
- Найдите проблемное заданиеWin+R →
taskschd.msc→ слева «Библиотека планировщика заданий»; найдите задачу по имени программы. Вкладка «Общие» покажет учётную запись и условия входа, «Действия» — программу, аргументы и рабочую папку. Сначала только читайте параметры, не изменяйте корпоративные задания.
- Проверьте поле действия и путьВ «Действия» откройте запись и посмотрите, указан ли
msiexec.exeи абсолютный путь к пакету после/i. Относительные пути могут разрешаться иначе, а UNC-путь может требовать иных прав. Не добавляйте/quiet, пока не подтверждён поддерживаемый беззвучный режим.
- Проверьте историю задачиВключите отображение «Истории», если оно доступно и разрешено политикой; посмотрите время последнего запуска и «Результат последнего выполнения». Значение
0x0относится к запуску задачи, но само по себе не доказывает, что вложенная программа успешно установлена.
- Сверьте пользователя и сетевой источникВ «Общие» узнайте, выполняется ли задание от имени SYSTEM, другого пользователя или текущего. Не меняйте учётные данные на свои без согласия. Если MSI расположен на сетевой папке, у служебного контекста может не быть доступа.
- Добавьте журнал только в согласованный запускАдминистратор может настроить параметр
/L*Vс абсолютным локальным путём лога в доступный каталог. Журнал содержит пути и свойства установщика, поэтому храните его с ограниченным доступом. Для пользовательской задачи без прав администратора не включайте «Наивысшие права» автоматически. - Обычная командная строка: показывает справку установщика, не устанавливает приложениеWindows · Командная строка (CMD)КомандаОбычная командная строка: показывает справку установщика, не устанавливает приложение. Для автоматизации администратору нужно указать корректные абсолютные пути и отдельный файл журнала; не прятать интерактивные окна тихой установкой без поддержки изготовителя.
msiexec.exe /?
- Сопоставьте результат задания с журналом MSIНайдите итоговый код и сбойное действие MSI; если не было доступа к пакету — исправьте источник, если ожидалось окно — используйте штатную систему развёртывания, если 1618 — дождитесь завершения параллельной установки. Проверьте одну тестовую задачу в согласованное окно, не создавая бесконечных повторов.
- Подтвердите исправление именно исходного случаяПосле изменения одного доказанного условия повторите действие «ошибка возникает только при запуске из задачи планировщика» на тестовом файле или в согласованное окно обслуживания. Проверьте не только исчезновение предупреждения, но и фактическую установку/запуск необходимой функции, а также отсутствие прежнего кода в свежем журнале с новым временем. Если сбой повторился, остановитесь, верните безрезультатные временные настройки и передайте поддержке исходный код, журнал, версию ОС и путь к подтверждённому пакету; удалите из журнала учётные данные и секреты.
#Чего не делать при этой ошибке
Не используйте сторонние «очистители MSI», не очищайте вручную C:\Windows\Installer, не запускайте бесконечно установку после одинакового отказа и не сбрасывайте Windows без диагностики. Не меняйте msiserver на автоматический запуск просто из-за состояния «Остановлена»: при отсутствии установки это допустимо. Код 1603 — общий отказ, причину ищите в подробном журнале и документации изготовителя.
#Как документировать результат
Запишите последовательно: версию программы и Windows, дату, шаг, на котором возник отказ, оригинальный код, изменённое условие, новый код и проверку работы нужной функции. Если проблему не удалось повторить, укажите это отдельно: однократный успех ещё не доказывает устойчивое исправление.