Цель

Заметки ИТ которые я не хочу потерять

menu_navigation

Error 1719. Windows Installer Service could not be accessed.

Если у вас при установке или запуске какой-либо программы возникла Ошибка 1719. "Не удалось получить доступ к службе установщика Windows", то скорее всего проблема с msiexec, данный bat файл копирует заранее подготовленный "здоровый" msiexec и библиотеки на проблемный пк, подменяя права и владельца файлов. Запускать от имени администратора. Возможно потребуется перезагрузка.

Для Windows 32bit (использовать файлы msiexec.exe, msi.dll, msihnd.dll той же разрядности)
--------------------------------------------------------------------------------------------------------------------------
@echo on
rem останавливаем службу msiserver
net stop msiserver
rem меняем владельца системных файлов, иначе копирование завершится с ошибкой
takeown /s %computername% /f %systemroot%\System32\msiexec.exe /A
takeown /s %computername% /f %systemroot%\System32\msi.dll /A
takeown /s %computername% /f %systemroot%\System32\msihnd.dll /A
rem заменяем права (указать группу с административными правами)
cacls %systemroot%\System32\msiexec.exe /e /p "Администраторы":F
cacls %systemroot%\System32\msi.dll /e /p "Администраторы":F
cacls %systemroot%\System32\msihnd.dll /e /p "Администраторы":F
rem переименовываем не рабочие файлы
ren %systemroot%\System32\msiexec.exe msiexec.exe_
ren %systemroot%\System32\msi.dll msi.dll_
ren %systemroot%\System32\msihnd.dll msihnd.dll_
rem копирование рабочих файлов
copy \\ваш_путь\msiexec.exe %systemroot%\System32\msiexec.exe
copy \\ваш_путь\msi.dll %systemroot%\System32\msi.dll
copy \\ваш_путь\msihnd.dll %systemroot%\System32\msihnd.dll
rem перерегистрация msiexec
%windir%\system32\msiexec.exe /unregister
%windir%\system32\msiexec.exe /regserver
rem запускаем службу msiserver
net start msiserver
--------------------------------------------------------------------------------------------------------------------------


Для Windows 64bit (используются файлы 32 и 64 разрядности)
--------------------------------------------------------------------------------------------------------------------------
@echo on
rem останавливаем службу msiserver
net stop msiserver
rem меняем владельца системных файлов, иначе копирование завершится с ошибкой
takeown /s %computername% /f %systemroot%\System32\msiexec.exe /A
takeown /s %computername% /f %systemroot%\SysWOW64\msiexec.exe /A
takeown /s %computername% /f %systemroot%\System32\msi.dll /A
takeown /s %computername% /f %systemroot%\SysWOW64\msi.dll /A
takeown /s %computername% /f %systemroot%\System32\msihnd.dll /A
takeown /s %computername% /f %systemroot%\SysWOW64\msihnd.dll /A
rem заменяем права (указать группу с административными правами)
cacls %systemroot%\System32\msiexec.exe /e /p "Администраторы":F
cacls %systemroot%\SysWOW64\msiexec.exe /e /p "Администраторы":F
cacls %systemroot%\System32\msi.dll /e /p "Администраторы":F
cacls %systemroot%\SysWOW64\msi.dll /e /p "Администраторы":F
cacls %systemroot%\System32\msihnd.dll /e /p "Администраторы":F
cacls %systemroot%\SysWOW64\msihnd.dll /e /p "Администраторы":F
rem переименовываем не рабочие файлы
ren %systemroot%\System32\msiexec.exe msiexec.exe_
ren %systemroot%\SysWOW64\msiexec.exe msiexec.exe_
ren %systemroot%\System32\msi.dll msi.dll_
ren %systemroot%\SysWOW64\msi.dll msi.dll_
ren %systemroot%\System32\msihnd.dll msihnd.dll_
ren %systemroot%\SysWOW64\msihnd.dll msihnd.dll_
rem копирование рабочих файлов
copy \\ваш_путь\32битный файл\msiexec.exe %systemroot%\System32\msiexec.exe
copy \\ваш_путь\64битный файл\msiexec.exe %systemroot%\SysWOW64\msiexec.exe
copy \\ваш_путь\32битный файл\msi.dll %systemroot%\System32\msi.dll
copy \\ваш_путь\64битный файл\msi.dll %systemroot%\SysWOW64\msi.dll
copy \\ваш_путь\32битный файл\msihnd.dll %systemroot%\System32\msihnd.dll
copy \\ваш_путь\64битный файл\msihnd.dll %systemroot%\SysWOW64\msihnd.dll
rem перерегистрация msiexec
%windir%\system32\msiexec.exe /unregister
%windir%\syswow64\msiexec.exe /unregister
%windir%\system32\msiexec.exe /regserver
%windir%\syswow64\msiexec.exe /regserver
rem запускаем службу msiserver
net start msiserver
--------------------------------------------------------------------------------------------------------------------------

Комментариев нет:

Отправить комментарий