Процесс msiexec.exe: за что отвечает

При установке, каких программ наиболее часто появляется ошибочное сообщение?

Появляется ошибка пакета Windows Installer при установке файлов с расширением MSI, а также таких программ как Itunes, и Java эмуляторов.

В сообщении, содержащем текст ошибки, при установке Java, находится числовой код – 1721. Он сообщает о том, что в процессе установки программы произошел сбой.

Ошибка 1721

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

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

Установка приложения Itunes, имеет свои особенности, речь о которых, пойдет ниже.

Причины появления ошибки

Сообщение об ошибке появляется, потому что система не может распаковать и произвести установку исполняемого файла с разрешением “.msi”.

При этом обычные файлы формата “.exe” устанавливаются нормально.

Работая с файлами msi, система подключает загрузочную утилиту msiexec.exe, которая может не работать. Тогда не запускается процесс установки.

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

На изображениях ниже указаны варианты всплывающих окон с ошибкой установщика Виндоус:

Сообщение о том, что невозможно запустить. Она может быть не подключена либо настроена неправильно. Также администратор компьютера может запретить использовать установщик другим пользователям системы;

всплывающее окно ошибки доступа к сервису Windows Installer

Внутренняя ошибка чтения из установочного файла msi.

Внутренняя ошибка установщика

Примеры использования свойств

Упомянутую в начале статьи проблему с автоматизацией создания административной точки я решил именно с помощью свойств установщика Windows. Обдумав написанный мной BAT- файл с использованием свойств для указания папки установки административной точки, я понял, что это довольно удобно — предавать ключи в командной строке напрямую msiexec.exe, не используя сценарии MST, которые нельзя отредактировать без специальных программ. Зато строку с TARGETDIR= можно отредактировать в любом текстовом редакторе (архиваторе), настроив путь установки приложения как душе пользователя или администратора угодно.

TARGETDIR=

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

msiexec.exe /a ACDSee9.msi TARGETDIR="%~dp0\adm\ACDSee9"

ALLUSERS=

Определяет установку приложения для одного (текущего) пользователя или для всех пользователей. По умолчанию Windows Installer устанавливает приложение для всех пользователей компьютера. Если для свойства ALLUSERS задано значение 1, пакет установится для всех пользователей компьютера, если задано значение 2 – оно сбросится на нулевое значение («»), и приложение будет установлено для текущего пользователя.

  • 1 — установка для всех пользователей компьютера; необходимы привилегии администратора.
  • 2 — установка только для пользователя, выполняющего программу установки.
  • «» — установка только для пользователя, выполняющего программу установки.
msiexec.exe /i ACDSee9.msi ALLUSERS=””

COMPANYNAME=

Указание названия организации.

msiexec.exe /i ACDSee9.msi USERNAME=”Иван” COMPANYNAME=”Наш офис”

Примечание. У последних двух свойств есть антиподы: NOUSERNAME и NOCOMPANYNAME. Системный администратор может использовать эти свойства при автоматической установке приложений. Если для этих свойств при установке задано значение 1, приложение при первом запуске запросит имя пользователя и название организации.

PIDKEY=

Ввод 25-символьного лицензионного ключа в командной строке программы установки или в файле параметров настройки программы установки. Если задано свойство PIDKEY, от пользователей не требуется ввозить ключ продукта при установке приложения.

msiexec.exe /i ACDSee9.msi PIDKEY=12345-678901-23456-7890-12345

Посмотреть формат ввода ключа можно в другом свойстве PIDTemplate.

REBOOT=

  • Force — принудительная перезагрузка
  • Suppress — отложенная перезагрузка
  • ReallySuppress – без перезагрузки
msiexec.exe /i ACDSee9.msi REBOOT= ReallySuppress

Примеры использования свойств

Упомянутую в начале статьи проблему с автоматизацией создания административной точки я решил именно с помощью свойств установщика Windows. Обдумав написанный мной BAT- файл с использованием свойств для указания папки установки административной точки, я понял, что это довольно удобно — предавать ключи в командной строке напрямую msiexec.exe, не используя сценарии MST, которые нельзя отредактировать без специальных программ. Зато строку с TARGETDIR= можно отредактировать в любом текстовом редакторе (архиваторе), настроив путь установки приложения как душе пользователя или администратора угодно.

TARGETDIR=

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

msiexec.exe /a ACDSee9.msi TARGETDIR="%~dp0\adm\ACDSee9"

ALLUSERS=

Определяет установку приложения для одного (текущего) пользователя или для всех пользователей. По умолчанию Windows Installer устанавливает приложение для всех пользователей компьютера. Если для свойства ALLUSERS задано значение 1, пакет установится для всех пользователей компьютера, если задано значение 2 – оно сбросится на нулевое значение («»), и приложение будет установлено для текущего пользователя.

  • 1 — установка для всех пользователей компьютера; необходимы привилегии администратора.
  • 2 — установка только для пользователя, выполняющего программу установки.
  • «» — установка только для пользователя, выполняющего программу установки.
msiexec.exe /i ACDSee9.msi ALLUSERS=””

COMPANYNAME=

Указание названия организации.

msiexec.exe /i ACDSee9.msi USERNAME=”Иван” COMPANYNAME=”Наш офис”

Примечание. У последних двух свойств есть антиподы: NOUSERNAME и NOCOMPANYNAME. Системный администратор может использовать эти свойства при автоматической установке приложений. Если для этих свойств при установке задано значение 1, приложение при первом запуске запросит имя пользователя и название организации.

PIDKEY=

Ввод 25-символьного лицензионного ключа в командной строке программы установки или в файле параметров настройки программы установки. Если задано свойство PIDKEY, от пользователей не требуется ввозить ключ продукта при установке приложения.

msiexec.exe /i ACDSee9.msi PIDKEY=12345-678901-23456-7890-12345

Посмотреть формат ввода ключа можно в другом свойстве PIDTemplate.

REBOOT=

  • Force — принудительная перезагрузка
  • Suppress — отложенная перезагрузка
  • ReallySuppress – без перезагрузки
msiexec.exe /i ACDSee9.msi REBOOT= ReallySuppress

Psexec в домене

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

PsExec — это утилита командной строки, с возможность вызывать в интерактивном режиме интерфейс командной строки в удаленных системах Windows и удаленно запускать различные команды.

На этом установка PSEXEC можно считать оконченной.

Разберем синтаксис команды:

psexec | @файл]]]] программа

компьютер Указывает программе PsExec, что нужно запустить приложение на заданном компьютере или компьютерах. Если имя компьютера не указано, то программа PsExec запустит приложение в локальной системе, если же вместо имени компьютера задан символ «звездочка» (\*), то программа PsExec запустит приложение на всех компьютерах текущего домена.

@файл Указывает программе PsExec, что нужно запустить приложение на всех компьютерах, перечисленных в заданном текстовом файле.

-a Процессоры, на которых можно запустить приложение, отделяются запятыми, при этом процессоры нумеруются, начиная с 1. Например, чтобы запустить приложение на процессорах втором и четвертом, введите «-a 2,4»

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

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

-e Указанный профиль учетной записи не загружается.

-f Указанная программа копируется в удаленную систему, даже если такой файл в удаленной системе уже есть.

-i Запускаемая программа получает доступ к рабочему столу указанного сеанса в удаленной системе. Если сеанс не задан, то процесс выполняется в консольном сеансе.

-l При запуске процесса пользователю предоставляются ограниченные права (права группы администраторов отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»). В ОС Windows Vista процесс запускается с низким уровнем благонадежности.

-n Позволяет задать задержку подключения к удаленным компьютерам (в секундах).

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

-s Удаленный процесс запускается из системной учетной записи.

-u Позволяет указать необязательное имя пользователя для входа в удаленную систему.

-v Указанный файл копируется в удаленную систему вместо уже имеющегося только при условии, что номер его версии выше или он более новый.

-w Позволяет указать для процесса рабочий каталог (путь внутри удаленной системы).

-x Отображает интерфейс пользователя на рабочем столе Winlogon (только в локальной системе).

-приоритет (приоритет) Позволяет задавать для процесса различные приоритеты: -low (низкий), -belownormal (ниже среднего), -abovenormal (выше среднего), -high (высокий) или -realtime (реального времени).

программа Имя запускаемой программы.

аргументы Передаваемые аргументы (обратите внимание, что пути файлов должны указываться как локальные пути в целевой системе). Примеры работы команды PSEXEC:

Примеры работы команды PSEXEC:

1) Для того чтобы запустить командную строку другого компьютера, необходимо ввестиpsexec \ cmd

например:psexec \WIN782 cmd

после этого можете вводить необходимые вам команды.

2) Для того чтобы запустить какою либо программу (в данном примере test.exe) на удаленном компьютере необходимо выполнить команду, (эта команда копирует программу test.exe в удаленную систему и выполняет ее в интерактивном режиме).

psexec \ -c test.exe

например:psexec \WIN782 -c test.exe

3) Если в удаленной системе такая программа уже установлена и находится не в системном каталоге, укажите полный путь к этой программе

Загрузите и замените файл msiexec.exe

Последнее решение — вручную загрузить и заменить файл msiexec.exe в соответствующей папке на диске. Выберите версию файла, совместимую с вашей операционной системой, и нажмите кнопку «Скачать». Затем перейдите в папку «Загруженные» вашего веб-браузера и скопируйте загруженный файл msiexec.exe.

Перейдите в папку, в которой должен находиться файл, и вставьте загруженный файл. Ниже приведен список путей к каталогу файлов msiexec.exe.

  • Windows 10: C:\Windows\System32\
  • Windows 8.1: C:\Windows\System32\
  • Windows 8: 1: C:\Windows\System32\
  • Windows 7: C:\Windows\System32\
  • Windows 7: C:\Windows\System32\
  • Windows Vista: —
  • Windows Vista: —
  • Windows XP: —

Если действия не помогли решить проблему с файлом msiexec.exe, обратитесь к профессионалу. Существует вероятность того, что ошибка (и) может быть связана с устройством и, следовательно, должна быть устранена на аппаратном уровне. Может потребоваться новая установка операционной системы — неправильный процесс установки системы может привести к потере данных.

Функции Установщика Windows (C++)

для полноты, я думаю, мы должны упомянуть ядро всего этого-до-металлического пути:Win32 Windows Installer API функции. Это вероятно, функции, используемые большинством, если не всеми другими подходами, перечисленными выше «под капотом». Они главным образом использованы применениями или разрешениями общаясь сразу с MSI как технология.

есть ответ на serverfault.com что может представлять интерес как (функции com Automation, .NET, Win32 installer).

ниже вы найдете фрагмент C++, показывающий, как удалить по коду продукта с помощью вызова функция MsiConfigureProductEx. Чтобы удалить другой продукт, замените GUID, указанный для С одним для вашего продукта. Чтобы найти код продукта см. Этот ответ:

удаление произойдет в полном режиме GUI. Для работы в беззвучном режиме или в каком-либо другом режиме GUI (reduced, basic и т. д…), см.: MsiSetInternalUI функция.

фрагмент был сделан и протестирован с последней версией Visual Studio 2017 по состоянию на сентябрь 2018:

  1. создайте новое «консольное приложение Windows» из Visual C++ => рабочий стол Windows.
  2. скопируйте и вставьте вышеуказанный код в ваш основной файл CPP (заменив все, что там есть).
  3. что нужно, чтобы иметь возможность запускать код. Возможно, установить точку останова, построить и бежать.

    • остерегайтесь изменений шаблонов по умолчанию в VS2017 и странных ошибок, которые могут привести:существует слишком много ошибок для IntelliSense engine, чтобы функционировать правильно.
    • обновление сентября 2018: Шаблоны снова изменились. Я больше не вижу вышеуказанного вопроса.
    • ссылка MSDN в коде перечисляет возможные сообщения об ошибках, возвращенные из команду msiexec.исполняемый.

Что такое Windows installer

Windows installer это специальная служба операционной системы Windows, благодаря которой вы можете устанавливать или удалять приложения в ОС.

Причины ошибки windows 1719

Для начала нужно понять, от чего лечить систему, я вам уже озвучил выше, что windows installer service could not be accessed я получал при установке skype и при удалении программы КриптоПРО, но могу точно вам сказать, что выскочит она везде и при любой попытке инсталляции в Windows 10. Вот как это выглядит.

windows installer service could not be accessed. Contact your support personnel to verify that it is property registered and enabled

Еще ошибка 1719 может иметь формулировку Служба установщика Windows недоступна в Windows 10, я такое ловил при установке драйверов рутокен. Нечто похожее мы с вами уже видели, когда Служба установщика Windows недоступна в безопасном режиме

В любом случае проблему устранить нужно, так как мы потеряли возможность, что либо ставить или удалять в Windows 10.

Причина ошибки установщика Windows

Теперь стоит рассмотреть ситуацию, когда установка приложения невозможна по причине ошибок в самом Windows Installer’e. Если процесс установки не начинается, какое бы приложение вы не пытались инсталлировать, то скорее всего проблема в самой службе установщика. Могут появляться системные сообщения об ошибках, в которых присутствуют соответствующие фразы, наподобие: Ошибка пакета установщика или Windows Installer Error. Причиной тому могут быть как ошибки в системном реестре, так и вирусная атака. Начнем с проверки состояния службы Windows Installer и типа ее запуска. С этой целью мы в строке Выполнить (Win+R) вводим команду services.msc, a в открывшейся консоли находим искомый пункт – «Установщик Windows (Windows Installer)».


Смотрим, работает ли она и какой у нее Тип запуска (должен быть задан Вручную) Если же служба не работает и имеет другой тип запуска, то запускаем (нажимаем «Запустить», можно – «Перезапустить») ее, а в свойствах изменяем тип запуска на «Вручную». В случае запуска службы проверим ситуацию и введем в строке «Выполнить» команду msiexec – если все ОК, то вместо ошибки вы увидите окно с параметрами запуска установщика Windows и номером его версии.

Дальнейшее устранение проблемы я вижу в исправлении поврежденных системных файлов операционной системы. Чтобы реализовать это, в строке «Выполнить» исполним команду sfcscannow (заблаговременно подготовьте диск, с которого устанавливалась ваша операционная система, он может быть востребован в этом процессе) и после перезагружаем компьютер. Проблема по идее должна исчезнуть.

Также данная проблема поднимается на сайте Microsoft с вариантом решения. Пройдите по этой ссылке и запустите «родную» утилиту FixIt. Следуйте указаниям в сопровождении, это должно помочь в устранении проблемы.

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

В случае, если на вашем компьютере установлены такие ОС, как Windows Server 2000, Windows XP попробуйте инсталлировать свежую версию Windows Installer. В случае, если проблема остается, можно заново перерегистрировать компоненты. Выполняем команду cmd и в черном окне сначала вводим команду: msiexecunregister, а затем: msiexecunregister. Для большей уверенности можно еще ввести regsvr32 msi.dll, после чего черное окно можно закрыть.

Как вариант, можете на своем компьютере запустить «батник» msi_error.bat из вот этого архива, очень многим помогло исправить подобную ситуацию. Также неплохо было бы обновить пакет «.NET Framework» на свежий, т. к. большое количество приложений использует его в своей работе.

В заключение хочу согласиться с тем, как бывает сложно устранить проблемы с Windows Installer. У самого бывали ситуации, когда испробовав практически все доступные методы уже был готов снести Windows, чтобы переустановить по новой. Порой это единственное решение, стоит признать. Но никогда не торопитесь, ведь не все так плохо и существуют многие форумы – настоящие кладези знаний. Пообщайтесь, почитайте, поспрашивайте – очень многие проблемы именно так нашли свое решение! Удачи вам, не отчаивайтесь и подписывайтесь на мои обновления!

Передача свойств установочным пакетам

Файлы пакетов обновлений (MSP) также обрабатываются msiexec.exe, и это позволяет применять к MSI- пакету допустимые свойства наряду с обновлениями.

Чтобы применить обновление к установочному административному пакету, используйте следующую команду:

Msiexec.exe /pUpdate.msp /aExample.msi СВОЙСТВА

Обычно, установочные MSI-пакеты распространяются запакованными в EXE- файл. Как правило, им можно передавать публичные свойства, однако делать это, в отличие от msiexec.exe, надо немного по-другому:

ACDSee.exe /s /v”TRANSFORMS=unatend.mst /qn”

Поскольку файл исполняемый, вызывать msiexec.exe нет необходимости. Далее идет необязательный ключ /s — аналог ключа /qn для «тихой» установки. Этот ключ дает команду не показывать предварительные окна установщика Windows (ключ /qn служит тем же целям в MSI- пакете). И, наконец, нужный нам ключ /v как раз служит для передачи аргументов в MSI- пакет. В кавычках по порядку указываются аргументы. После ключа не должно быть пробелов.

Зачастую авторы установочных пакетов MSI пакуют их в EXE- файлы сторонними установщиками либо умышленно ограничивают количество свойств, которые можно передать пакету. В таком случае в командной строке придется использовать распакованный MSI-пакет.

Using a cleanup tool such as msizap or similar

  • Для полноты картины следует упомянуть msizap.exe, хотя он устарел, не поддерживается и устарел . Он не должен использоваться ни на каких более новых версиях Windows
  • Этот инструмент командной строки (msizap.exe) также имел в наличии GUI ( MSICUU2.exe ). оба инструмента устарели.
  • Предназначение этих инструментов состояло в том, чтобы очистить неудачные деинсталляции :
  • Как правило, в том редком случае, когда кэшированный MSI со случайным именем ошибочно отсутствует и деинсталляция завершается неудачей по этой причине при запросе исходного MSI. Это редкая проблема, но я видел ее сам. Всего несколько потенциальных причин: перешли к этому ответу .

    • Ключевые слова: помехи восстановления системы, плохие приложения очистки, сбой msiexec.exe, отключение питания, помехи программного обеспечения безопасности, ошибки отладки разработки MSI (идентичные коды пакетов и т. д.), пользовательское вмешательство и взлом (что здесь? сэкономить место?) и т. д…
    • Он также может быть использован для zap любой установки MSI, хотя это, очевидно, не рекомендуется.
    • Дополнительная информация: почему MSI требует, чтобы исходный файл .msi был удален?

  • Этот новый инструмент поддержки (теперь он также устарел) можно попробовать на последних версиях Windows, если у вас есть несуществующие пакеты MSI, нуждающиеся в удалении.
  • Некоторые предложили использовать инструмент, связанный здесь с saschabeaumont: Uninstall without an MSI file . Если вы попробуете это сделать и это сработает, пожалуйста, обязательно сообщите нам об этом.
  • Если у вас есть доступ к исходному MSI, который фактически использовался для установки продукта,вы можете использовать его для запуска удаления. Это должен быть точный MSI, который был использован, а не просто похожий.

Using system restore («installation undo» — last resort IMHO)

Строго говоря, это не способ «удалить», а «отменить» последнюю установку или несколько установок, если уж на то пошло.

Восстановление через точку восстановления возвращает систему в предыдущее состояние установки (вы можете найти видео-демонстрации этого на YouTube или аналогичном сайте).

Обратите внимание, что эта функция может быть отключена полностью или частично — ее можно отключить навсегда для всей машины или adhoc для каждой установки.

Я видел новые, неразрешимые проблемы установки, возникающие в результате восстановления системы, но обычно это работает OK. Очевидно, что вы не используете эту функцию для развлечения

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

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

Имейте в виду, что восстановление системы может повлиять на обновления Windows, которые затем должны быть повторно применены, а также на многие другие системные настройки. Помимо чистого раздражения, это также может привести к возникновению проблем безопасности, и вы можете захотеть запустить специальную проверку безопасности на целевом поле(окнах) с помощью Microsoft Baseline Security Analyzer или аналогичных инструментов.

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

Вывод

Проблема с Windows Installer возникает достаточно часто. Для ее устранения необходимо определить тип ошибки. Это может быть как ошибка пакета Windows Installer.

Ошибка пакета Windows Installer может мешать корректной установке приложения Itunes. Для решения этой проблемы, нужно корректно переустановить «музыкальное» приложение.

Для устранения неисправности, связанной с установщиком Windows Installer, необходимо дать файлу необходимые права.

При осуществлении вышеперечисленных действий, нужно отключить антивирусную программу. Либо в ее настройках, внести необходимые файлы в список исключений.

Эти действия надо осуществлять осторожно. Ненадежные файлы могут нанести компьютеру вред

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: