понедельник, 26 января 2009 г.

Обновление Adobe Flash Player

Adobe жжет в своем стиле. Это просто умопомрачительно, почему софт от саманной компании не может быть поставлен без бубна. Тем не менее, я таки победил установку Flash Player 10-ой версии.

Началось с того, что вдруг отказал Flash Player. Вдруг потерялся ненароком. Не проблема, инет под рукой. Было принято решение сходить на adobe.com и обновиться. Однако плагин не ставился ни в какую. Ругался и отсылал куда-то там на Adobe KB. Поинтересовавшись у гугла, я понял, что обсуждение этой проблемы интересует, как минимум, одну шестую населения интернета. И, что самое интересное, правильных ответов не было видно. Одни голоса вопиющих в пустыне.

Всякие отсылки к Adobe KB у меня сразу вызвали подозрение. Что-то ни разу uninstall утилиты не помогали грамотно снести их продукты. Поэтому пошел на ручном управлении.
Команда regsvr32 flash10a.ocx давала ошибку ‘0x80070005’

А это означает:

Cry about...
MS-Windows Troubleshooting
DllRegisterServer in COM failed.
Return code was: 0x80070005
Symptom:

When attempting to register a COM object (e.g. Active-X component or OCX) with ‘Regsvr32’, i.e.:

regsvr32 COM

it fails with a message box displaying:

DllRegisterServer in COM failed.
Return code was: 0x80070005

Where ‘COM’ is the name of the COM object file.
Cause:

The error value ‘0x80070005’ means ‘Access Denied’.

This means that an attempt has been made to update part of the registry that you do not have permissions to update. There are many parts of the registry that can be read but not updated (except by ‘system’ or the local administrator).
Possibly Remedies:
* Check that you have local administration rights.
* If you are a local administrator (i.e. a member of the ‘Administrators’ group on the workstation) then most likely someone or some application has modified (intentionally or unintentionally) the permissions on one or more registry keys and that this is preventing access. (Alternately, it may be that the key that is failing is one that normally only ‘system’ can update.) To identify which registry key is causing the problem use Regmon (a freeware tool published by System Internals). Use Regmon to capture all registry access when regsvr32 is run. If an ‘OpenKey’ request fails with ‘Access Denied’ (which is listed by Regmon as ‘ACCDENIED’) then run regedt32 and check the permissions on that registry key. If necessary change the permissions on the key to grant local Administrators ‘Full Control’. They try registering the COM object again. The only times I have encountered this problem it affected more than one key, so be prepared to repeat this process.



Так оно и оказалось. Поставив regmon на анализ по маске *Fl*, отследил все ACCESS DENIED, ручками в реестре назначил полные разрешения и снес эти ветки к чертовой матери. 4 или 5 веток.

И после этого получил желаемый результат:
Папка установки: C:\WINDOWS\system32\Macromed\Flash
Извлечение: Flash10a.ocx
Извлечение: FlashUtil10a.exe
Регистрация: C:\WINDOWS\system32\Macromed\Flash\Flash10a.ocx
Создание программы удаления: C:\WINDOWS\system32\Macromed\Flash\uninstall_activeX.exe
Готово

1 комментарий:

ivtech комментирует...

Здравствуйте!
Вы очень правы, кажется, уже у половины flash player не показывает. Правильно ли я понял: после деинсталяции флэш-плейера нужно набрать в реестре поиск на "flash" и удалить все ветки, где он встречается? Действительно ли все ветки нужно удалять? ShockwaveFlash тоже? Заранее вас благодарю, Иван. info@ivtech.de