Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как избежать ошибки при удалении с помощью MsiExec

Ответить
Настройки темы
CMD/BAT - Как избежать ошибки при удалении с помощью MsiExec

Старожил


Сообщения: 488
Благодарности: 13


Конфигурация

Профиль | Отправить PM | Цитировать


есть файл такого содержания:

MsiExec.exe /I{2D270A67-B7CD-4281-B2FE-60DF18D19B8E}
MsiExec.exe /I{45E557D6-2271-4F13-8101-C620B4285AB0}
MsiExec.exe /I{560985FB-4B76-4121-9189-7A2CDC7886D6}
MsiExec.exe /I{45E557D6-2271-4F13-8101-C620B4285AB0}
MsiExec.exe /I{66F1F013-008F-4875-B283-5A814B820347}

это список продуктов среди которых нужно найти тот который на самом деле есть в системе и предложить его удалить/восстановить, но при запуске он не находит один из них и пишет ошибку "Это действие допускается только для установленных продуктов", как избежать ошибки?

Отправлено: 16:21, 19-07-2012

 

Старожил


Сообщения: 488
Благодарности: 13

Профиль | Отправить PM | Цитировать


***

Отправлено: 00:45, 20-07-2012 | #2



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

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


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Valek271183, какие это продукты? Перечислите их названия.

Отправлено: 12:14, 20-07-2012 | #3


Старожил


Сообщения: 488
Благодарности: 13

Профиль | Отправить PM | Цитировать


это касперский разных версий, bat будет запускаться когда программа обнаружит одну из версий и запустит эти команды, только вот когда одна из них не подходит выводится на экран ошибка, пробовал несколько команд типа /passive, /q, /qn и т.п но при этом ошибки нет но и ничего не происходит

Отправлено: 14:28, 20-07-2012 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Valek271183, Вы отвечаете не на мой вопрос. Ещё раз:
Цитата Iska:
Перечислите их названия. »
Суть в том, что можно ориентироваться по общей части названий:
Код: Выделить весь код
for /f "usebackq skip=1" %i in (`wmic.exe Product where "Name LIKE '%%Общая часть названий для потребных продуктов «Касперский»%%'" get IdentifyingNumber`) do @start "" msiexec.exe /i%i

Отправлено: 15:11, 20-07-2012 | #5


Старожил


Сообщения: 488
Благодарности: 13

Профиль | Отправить PM | Цитировать


прикрепил файлы реестра с разделами Uninstall от некоторых версий касперского, в них есть одна общая строчка "Publisher"="Лаборатория Касперского", это поможет?

Отправлено: 15:21, 20-07-2012 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Valek271183:
прикрепил файлы реестра с разделами Uninstall от некоторых версий касперского »
В данном случае он бесполезен.

1. Получите весь список установленных посредством Windows Installer продуктов:
Код: Выделить весь код
wmic.exe Product
2. Найдите в полученном результате части, однозначно выделяющие потребный продукт разных версий.

3. Составьте достаточное условие вместо «"Name LIKE '%%Общая часть названий для потребных продуктов «Касперский»%%'"» в:
Код: Выделить весь код
for /f "usebackq skip=1" %i in (`wmic.exe Product where "Name LIKE '%%Общая часть названий для потребных продуктов «Касперский»%%'" get IdentifyingNumber`) do @start "" msiexec.exe /i%i
и пользуйтесь.

Последний раз редактировалось Iska, 20-07-2012 в 15:47.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:42, 20-07-2012 | #7


Старожил


Сообщения: 488
Благодарности: 13

Профиль | Отправить PM | Цитировать


Большое спасибо, вроде всё понятно, буду разбираться

Отправлено: 15:46, 20-07-2012 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Valek271183, мне только сейчас пришло в голову [почему только сейчас, а не сразу — вопрос, объяснению слабо поддающийся, должно быть, сказывается косность моего мышления], что у Вас ведь уже есть это:
Цитата Iska:
Найдите в полученном результате части, однозначно выделяющие потребный продукт разных версий. »
— разве что, не «общая часть», а перечень:
Цитата Valek271183:
есть файл такого содержания:
MsiExec.exe /I{2D270A67-B7CD-4281-B2FE-60DF18D19B8E}
MsiExec.exe /I{45E557D6-2271-4F13-8101-C620B4285AB0}
MsiExec.exe /I{560985FB-4B76-4121-9189-7A2CDC7886D6}
MsiExec.exe /I{45E557D6-2271-4F13-8101-C620B4285AB0}
MsiExec.exe /I{66F1F013-008F-4875-B283-5A814B820347} »
Т.е., должно получиться нечто подобное:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sValue=

for /f "usebackq skip=1 tokens=3" %%i in (
	`type "%~f0" ^| find.exe /i "rem # "`
) do (
	set sValue=!sValue! OR IdentifyingNumber='%%i'
)

set sСondition=%sValue:~4%

for /f "usebackq skip=1" %%i in (
	`wmic.exe Product where "%sСondition%" get IdentifyingNumber 2^>nul`
) do (
	start "" msiexec.exe /i%%i
)

endlocal
exit /b 0

rem # {2D270A67-B7CD-4281-B2FE-60DF18D19B8E}
rem # {45E557D6-2271-4F13-8101-C620B4285AB0}
rem # {560985FB-4B76-4121-9189-7A2CDC7886D6}
rem # {45E557D6-2271-4F13-8101-C620B4285AB0}
rem # {66F1F013-008F-4875-B283-5A814B820347}
Приношу Вам свои извинения.

Отправлено: 00:14, 21-07-2012 | #9


Старожил


Сообщения: 488
Благодарности: 13

Профиль | Отправить PM | Цитировать


Iska, спасибо за подсказку. При запуске появляется окно установщика Windows с таким содержанием: Невозможно открыть этот установочный пакет. Проверьте что пакет существует и к нему есть доступ и т.д.
Но нужную команду всё таки он запускает. Можно ли избавиться от ошибки?

Отправлено: 12:09, 21-07-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как избежать ошибки при удалении с помощью MsiExec

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Msiexec - список ключей и свойств volk1234 Автоматическая установка приложений 34 02-10-2012 14:26
Установка - проблемы с msiexec.exe LEHA2008 Microsoft Windows Vista 2 02-11-2010 13:27
Вопрос - Возникающие ошибки при шифровании и дешифровке данных с помощью BitLocker Edgecrasher Защита компьютерных систем 0 26-05-2010 07:08
Распространение программ без инсталятора msiexec farlow Microsoft Windows NT/2000/2003 18 15-08-2007 15:03
не работает msiexec.exe /i XYZ.msi /qb- PIDKEY=XXX LICENSE_MODEL=Full koyra Автоматическая установка приложений 0 28-12-2006 11:42




 
Переход