PDA

Показать полную графическую версию : Запуск программы невозможен, так как на компьютере отсутствует COMCTL32.dll


James Douglas
17-01-2015, 12:43
Товарищ притащил ноутбук. Стоит 32 битная Windows 7(сборка OVGorsky) . Все работало нормально, пока он не установил по моей рекомендации антивирус 360 Total Security(cам им пользуюсь, клиентам ставил - никаких проблем не было).
С его слов :После первой же проверки было обнаружено 6 угроз, он нажал исправить. После чего при запуске винды выходит сообщение "Запуск программы невозможен, так как на компьютере отсутствует COMCTL32.dll" , ОС не запускается при этом. Я так понял, 360 Total Security грохнул этот файл. Как быть? Сразу переустановить ОС или, можно обойтись малой кровью?

Amigos
17-01-2015, 16:41
можно обойтись малой кровью? »
загрузится с liveCD ,
открыть wim архив с установочного диска 7 32 бит
Извлечь из этого архива все COMCTL32.dll

Их больше одного, например в x64 7 их
Windows\System32\comctl32.dll
Windows\SysWOW64\comctl32.dll
Windows\winsxs\amd64_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7601.18201_none_97c9d703ee91c7f1\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18201_none_a4d3b9377117c3df\comctl32.dll
Windows\winsxs\amd64_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7601.22376_none_980cc5cd07e3aa05\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.22376_none_a6ba9bf96e3dcd13\comctl32.dll
Windows\winsxs\x86_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7601.22376_none_3bee2a494f8638cf\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.22376_none_ee67d2d082b9f619\comctl32.dll
Windows\winsxs\x86_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7601.18201_none_3bab3b80363456bb\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18201_none_ec80f00e8593ece5\comctl32.dll
Windows\winsxs\amd64_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7601.17514_none_97c2246fee970dbb\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_a4d6a923711520a9\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\comctl32.dll
Windows\winsxs\x86_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7601.17514_none_3ba388ec36399c85\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\comctl32.dll
Windows\winsxs\amd64_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7600.20787_none_961cb3b90ac4540e\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.20787_none_a6357652551c0c2c\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.20787_none_e3967e4730ab1731\comctl32.dll
Windows\winsxs\x86_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7600.20787_none_39fe18355266e2d8\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.20787_none_ede2ad2969983532\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.20787_none_2b43b51e45274037\comctl32.dll
Windows\winsxs\amd64_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7600.16661_none_95a2b509f19be458\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_a44e1fc257f685f6\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16661_none_fa62ad231704eab7\comctl32.dll
Windows\winsxs\x86_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7600.16661_none_39841986393e7322\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16661_none_420fe3fa2b8113bd\comctl32.dll
Windows\winsxs\amd64_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7600.16385_none_959110a7f1a88a21\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16385_none_a44af8ec57f961cf\comctl32.dll
Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_fa645303170382f6\comctl32.dll
Windows\winsxs\x86_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7600.16385_none_39727524394b18eb\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16385_none_ebf82fc36c758ad5\comctl32.dll
Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc\comctl32.dll
в 32 битной должно быть меньше
Положить распакованные comctl32.dll в соответсвующие папки на C:\ , где нет своего comctl32.dll

El Scorpio
18-01-2015, 01:02
Собственно, суть проблемы описана в первых же словах :)
Стоит 32 битная Windows 7(сборка OVGorsky) . »


Я так понял, 360 Total Security грохнул этот файл. »
Да, потому что это был компонент вируса. Множество вирусов сохраняет свои файлы под именами, совпадающими с названиями файлов системных компонентов Windows. Просто размещает свои файлы в других каталогах.
Ну а многие антивирусы при удалении вируса забывают исправлять ссылки в системном реестре, из-за чего возникают подобные ситуации - Windows пытается запустить удалённый файл вируса вместо файла штатного компонента системы.

обойтись малой кровью? »
Запустить LiveDVD, открыть редактор реестра, найти ссылки на этот файл и заменить их правильными путями к исходному системному файлу.
Но лучше всё-таки переустановить систему с оригинального диска - мало ли каких сюрпризов таит в себе сборка...

foontick
03-02-2016, 03:22
Все работало нормально, пока он не установил по моей рекомендации антивирус 360 Total Security(cам им пользуюсь, клиентам ставил - никаких проблем не было). С его слов :После первой же проверки было обнаружено 6 угроз, он нажал исправить. После чего при запуске винды выходит сообщение "Запуск программы невозможен, так как на компьютере отсутствует COMCTL32.dll" , ОС не запускается при этом. Я так понял, 360 Total Security грохнул этот файл.

Вот проблема один в один!!!!!!
На автомате нажал "устранить угрозы" и получил живой ноут с невозможностью запускать программы. Что за хрень 360ts?
Замена dll не помогла. Система стоит хз какой сборки. Заменить на "точно такойже" не представляется возможным. Заменил с другой сборки - не помогло. Не регистрируется и все.
Помогло восстановление системы (удалял ненужные проги и была создана точка восстановления).
После чего запустил докторвеб (свежий) и он ничего не нашел.
Так что поосторожнеее с 360TS

Amigos
03-02-2016, 08:30
Что за хрень 360ts? »Антивирус.
Как и прочие антивирусы, он может своей "борьбой" привести систему в полностью неработоспособное состояние.

Lera149903
30-06-2016, 18:18
Помогите,пожалуйста,как исправить проблему?? Такая же проблема,установила этот антивирус,а теперь пишет эту ошибку,но при этом экран чёрный

joystick8000
12-03-2017, 00:14
Аналогичная проблема после этого антивируса.
Хочу попробовать перерегистрировать библиотеку но нет возможности вызвать regsrv32.
Может кто подскажет как в реестре можно выполнить регистрацию comctl32.dll при помощи liveCD?

Казбек
12-03-2017, 11:49
Может кто подскажет как в реестре можно выполнить регистрацию comctl32.dll при помощи liveCD? »

Такой вариант у людей срабатывал.
How to run chkdsk or System File Checker (SFC) from the Recovery Console
Boot your Vista or Windows 7 installation DVD
When you see "Press any key to boot from CD or DVD", press Enter
At the "Install Windows" screen, click on Repair your computer at lower left
At the System Recovery Options screen, make note of the drive letter assigned to your boot drive (normally C and click Next
At the Chose a Recovery Tool window, click on Command Prompt. You will be sitting at X:\Sources directory
Run chkdsk or SFC
If you did not note the drive letter of your boot disk, you can enter bcdedit and look at the osdevice line to see what it is.
For chkdsk, type chkdsk c: /r and press Enter (use the letter from above if not C.
For sfc, type sfc /scannow /offbootdir=c:\ /offwindir=c:\windows and press Enter (use the letter from above)
Let either run to completion undisturbed.

ruslan...
13-03-2017, 00:13
For sfc, type sfc /scannow /offbootdir=c:\ /offwindir=c:\windows and press Enter »
Или проще говоря Особенности работы средства проверки системных файлов (SFC.exe) в среде Windows RE (http://www.oszone.net/12548/SFC_in_WinRE)

Sirius_kh@twitter
15-04-2020, 21:59
Цитата Казбек:
For sfc, type sfc /scannow /offbootdir=c:\ /offwindir=c:\windows and press Enter »
Или проще говоря Особенности работы средства проверки системных файлов (SFC.exe) в среде Windows RE »

sfc пишет, что нашёл повреждённые файлы, но не смог восстановить, мало того он написал что читайте log и исправляйте вручную, но log судя по записям он тоже изменить не смог

Sirius_kh@twitter
15-04-2020, 22:37
А теперь РЕШЕНИЕ проблемы. Решил написать, поскольку эта проблема до сих пор актуальна. 6 часов провозился перебирая все описанные варианты.

Понадобится:
а) рабочая винда той же битности (в моём случае Windows 7 (x86))
б) придётся подключить диск с неработающей виндой к компу с такой же работающей, или live-винда (я использовал Hiren's boot cd)
в) какой-нибудь портативный Unlocker (в моём случае Unlocker assistant portable)

1. Решение заключается в восстановлении этого файла с помощью рабочей винды. Проблема заключается в том, что файлов COMCTL32.dll не 1, а целых 13. В 64-битной винде их ещё больше. (Спасибо пользователю Amigos за подсказку)
Находятся они в 12 папках в папке Winsxsи 1 в system32. При сопоставлении этих папок оказалось что в нерабочей винде этих файлов не 12, а 11. Лучше всего воспользоваться поисковиком в папке winsxs и сопоставлять. Таким образом находим лишний файл и ищем соответсвующую папку в нерабочей винде. Она оказывается пустой. У этих папок длинные названия состоящие из белиберды, но в обоих виндах названия полностью совпадают. Многие файлы COMCTL32.dll отличались и по размеру и по дате изменения, поэтому я брал файл из соответствующей папки рабочей винды. Я не пробовал копировать туда файл с другим размером или с другой папки, поэтому ничего по этому поводу не скажу.
2. В моём случае, большинство папок в нерабочей винде были заблокированы. Копирование не удавалось, и тут пришлось потанцевать с бубном. Вот здесь понадобится лив-винда и портативный анлокер. Встроенный в Hiren's boot cd анлокер работал только на удаление, а это нам не катит. Другим анлокерам нужно совершить какое-то действие для разблокировки. В нашем случае - переименование. Переименовать ту папку, откуда этот файл был удалён тоже не удастся (скорее всего из за длины названия), поэтому я переименовал winsxs и тогда только удалось вернуть этот файл на место. Теперь переименовываем winsxs назад и перезагружаемся.

Финита

P.S. COMCTL32.dll в папке system32 я тоже заменил, поскольку он оказался изменённый (может быть это и не нужно), а в рабочей винде он датировался 2010м годом.

Iska
16-04-2020, 05:51
Проблема заключается в том, что файлов COMCTL32.dll не 1, а целых 13. »
Это не проблема, и их не тринадцать (см. ниже).

Находятся они в 12 папках в папке Winsxsи 1 в system32. »
В каталоге winsxs находятся версии файла, как оригинальный, так и полученные вместе с обновлениями. В каталоге System32 находится жёсткая ссылка, которая указывает на актуальный установленный файл, находящийся в winsxs.

Таким образом находим лишний файл и ищем соответсвующую папку в нерабочей винде. »
Вот токмо её может и не найтись.

У этих папок длинные названия состоящие из белиберды, »
Это не «белиберда».

Я не пробовал копировать туда файл с другим размером или с другой папки, поэтому ничего по этому поводу не скажу. »
И не пробуйте.

2. В моём случае, большинство папок в нерабочей винде были заблокированы. »
Во всех случаях они не «заблокированы». Просто у Вас нет разрешений для манипуляций с данными файлами (таковые разрешения заданы для учётной записи TrustedInstaller).

В общем, поменьше мифов и сказок.




© OSzone.net 2001-2012