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

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [решено] Параметр ARPSYSTEMCOMPONENT при установке MSI

Ответить
Настройки темы
[решено] Параметр ARPSYSTEMCOMPONENT при установке MSI

Аватара для m0nkrus

Старожил


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

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


Так случилось, что мне нужно установить программу, запакованную в MSI-инсталлер. А еще нужно, чтобы эта программа не светилась для удаления в "Программы и компоненты" в Панели управления. Звучит, вроде просто - прописывай параметр ARPSYSTEMCOMPONENT хотя бы в командной строке вкупе с MSI и все, но есть нюанс...

Инсталлер этот запускается другим инсталлером - ехе-шником. Оба этих инсталлера сами тоже запакованы в самораспаковывающийся ехе-архив, который тоже запускается не сам, а с помощью еще одного ехе-инсталлера. Второй и третий инсталлер не понимают команд, формата Windows Installer. В общем, структура еще та... Не подумайте, что я прячу троян или что-то подобное. Это я описал структуру запуска установки Adobe Muse CC.

Как вы понимаете, воспользоваться параметром ARPSYSTEMCOMPONENT не разворошив весь этот муравейник невозможно. Увы, это не вариант. Отсюда вопрос: Что в реестре нужно вручную проделать, чтобы произвести работу, аналогичную параметру ARPSYSTEMCOMPONENT, то есть сокрытие иконки удаления в "Программы и компоненты", без разрушения самого механизма удаления программы?

Для справки:
ARPSYSTEMCOMPONENT - Prevents display of the application in the Programs List of the Add/Remove Programs in the Control Panel.
Note This only affects the display in the ARP. The Windows Installer is still capable of repairing, installing-on-demand, and uninstalling applications through a command line or the programming interface.

Отправлено: 09:48, 05-08-2014

 

Аватара для m0nkrus

Старожил


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

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


Сам спросил - сам же и отвечу.

Я искал нужный параметр реестра по пути HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall и не находил его. Поэтому и сюда обратился. Я не учел, что программа 32-битная, а система у меня 64-битная. И, следовательно, путь реестра, где находится нужный мне параметр, это HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall.

Отправлено: 10:50, 05-08-2014 | #2



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

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


Аватара для boss911

Alien


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

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


Отредактировать MSI пакет, отключив создание пункта удаления приложения в "Программы и компоненты", например, с помощью ORCA, не вариант? Я так пару раз поступал и ничего страшного, что при этом у MSI слетает цифровая подпись (если она есть), сложности возникают только в том случае, если MSI защищен от редактирования (редкость). Деинсталляция приложения при этом реализовывается таким образом/командой (ярлыком или батником):
Код: Выделить весь код
MSIEXEC.EXE /X {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
А если надо скрыть пункт (иконку) удаления приложения в "Программы и компоненты", в реестр надо добавить следующие (не забываем учитывать разрядность по/ос):
Код: Выделить весь код
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}]
"SystemComponent"=dword:00000001
Только не совсем понятно для чего скрывать, ведь отсутствие этого пункта (записи в реестре), не влияет на деинсталляцию приложения, то есть, что этот пункт скрыт, что в реестре его вообще нет, все равно придется выполнять деинсталляцию вышеуказанным методом (ярлыком или батником).

X - код продукта (Application ID).
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:06, 05-08-2014 | #3


Аватара для m0nkrus

Старожил


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

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


Цитата:
Отредактировать MSI пакет, отключив создание пункта удаления приложения в "Программы и компоненты", например, с помощью ORCA, не вариант?
Не вариант. Нужно оставить всю установочную конструкцию нетронутой. Только внешнее дополнение.
Цитата:
Только не совсем понятно для чего скрывать, ведь отсутствие этого пункта (записи в реестре), не влияет на деинсталляцию приложения
Я делаю сборник из нескольких программ. Удаление там реализовано как общий механизм удаления всего пакета программ с выбором подпунктов для удаления. Хочу избавить конечного юзера он лицезрения дублирующих пунктов удаления в "Программы и компоненты".

Отправлено: 12:31, 05-08-2014 | #4


Аватара для boss911

Alien


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

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


Цитата m0nkrus:
Хочу избавить конечного юзера он лицезрения дублирующих пунктов удаления в "Программы и компоненты". »
Ну тогда проще грохать деинсталляционные ключ(и) в реестре после установки приложения(ий), чем скрывать, потому что все равно:
Цитата m0nkrus:
Удаление там реализовано как общий механизм удаления всего пакета программ с выбором подпунктов для удаления. »
А "общий механизм удаления" будет запускать (поочередно) -
Код: Выделить весь код
MSIEXEC.EXE /X {AppID} /QB-! REBOOT=ReallySuppress

Отправлено: 14:00, 05-08-2014 | #5


Аватара для m0nkrus

Старожил


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

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


boss911, тут есть нюанс. Общий механизм удаления берет параметры удаления как раз-таки из реестра, из той самой ветки Uninstall. Именно поэтому требуется сокрытие, а не удаление. Не все программы в пакете на основе MSI-инсталлера, так что тут единый подход не работает. Впрочем, Muse с этим сверххитрым установщиком умудряется создавать в Uninstall аж два раздела. Один вида {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}, а второй - Adobe Muse. Так вот, если УДАЛИТЬ второй раздел, то общий механизм удаления работает, а персональный для Muse пропадает. То, что мне и нужно.

Отправлено: 19:55, 05-08-2014 | #6



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [решено] Параметр ARPSYSTEMCOMPONENT при установке MSI

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Службы - [решено] Ошибка при дефрагментации диска "Параметр задан неверно. (0x80070057)" Juriyx Microsoft Windows 8 и 8.1 7 11-03-2014 22:28
Квадратики при тихой установке MSI Debugger Автоматическая установка приложений 6 18-04-2013 18:22
Установка - Проблема при установке windows xр-выдает ошибку на установке driver.cap Respektabel Microsoft Windows 2000/XP 2 28-06-2010 10:09
Установка - Зависание windows 7 при установке на ноутбук msi u210 13exe Ноутбуки 2 20-05-2010 20:28
Проблемы при тихой установке *.msi Redvik Автоматическая установка приложений 8 14-09-2008 05:28




 
Переход