Мастер бытовой техники
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд

Fix: is Missing When Launching Applications on Windows 7

Fix: COMCTL32.DLL is Missing When Launching Applications on Windows 7

A Windows 7 user can fall prey to an issue where every single time they try to launch certain applications (applications such as Google Chrome) they receive an error message – something along the lines of the following:


A Windows 7 user affected by this issue simply loses their ability to launch and use a significant portion of the applications that they have on their computer as their computer becomes unable to locate and/or access the COMCTL32.DLL file – a file without which quite a few applications can’t function.

Like most other DLL files, the COMCTL32.DLL file is supposed to reside in C:WindowsSystem32, and when most users affected by this issue navigate to C:WindowsSystem32, they see that the COMCTL32.DLL file is there. Why do these users still get the error messages, then? Well, the COMCTL32.DLL files on their computer are corrupt, and what Windows means by it not being able to find the COMCTL32.DLL is that it was unable to find a complete, healthy version of the COMCTL32.DLL file.

Being unable to use a good few of the applications on your computer because your computer does not have the COMCTL32.DLL file or your computer’s COMCTL32.DLL file has been corrupted can be a real pain. This is especially the case when your go-to internet browser depends heavily on the COMCTL32.DLL file, and this issue renders you unable to use it. Thankfully, though, there are quite a few solutions that have proven to be able to fix this problem, and the following are the absolute most effective ones:

Solution 1: Run an SFC scan

An SFC (System File Checker) scan analyzes all of the system files on a computer for damage and corruptions. If the SFC scan finds any corrupted or damaged system files, it fixes the issues by replacing the damaged and/or corrupted system files with healthy, cached backups of the files. The SFC utility is a built-in Windows utility present in all versions of the Windows Operating System, and that includes Windows 7. In order to run an SFC scan on a Windows 7 computer, you need to:

  1. Open the Start Menu.
  2. Search for “cmd”.
  3. Right-click on the search result titled cmd and click on Run as administrator.
  4. Type sfc /scannow into the elevated Command Prompt and press Enter to initiate the SFC scan.
  5. Wait for the SFC scan to run. The SFC scan may take a considerable amount of time to complete.
  6. Once the SFC scan has been completed, close the elevated Command Prompt, restart the computer and check to see if the issue still persists once the computer boots up.


Solution 2: Replace the corrupted COMCTL32.DLL file with a healthy one

This issue can be fixed in almost all cases by simply replacing the corrupted or missing COMCTL32.DLL file with a healthy one. In order to replace the corrupted COMCTL32.DLL file with a healthy one, however, you are first going to have to get your hands on a healthy COMCTL32.DLL file. You can acquire a healthy COMCTL32.DLL file by simply clicking here and downloading it. Alternatively, you can also get a healthy COMCTL32.DLL file from another computer running on the same version and architecture of Windows 7 as your computer – just hop on such a computer, navigate to C:WindowsSystem32, locate the COMCTL32.DLL file and copy it to a USB or other storage device.

Once you have obtained a healthy COMCTL32.DLL file by downloading one or from another Windows 7 computer, move it to a readily accessible and memorable location on your computer and then:

  1. Open the Start Menu.
  2. Search for “cmd”.
  3. Right-click on the search result titled cmd and click on Run as administrator.
  4. Type each of the following into the elevated Command Prompt, pressing Enter after typing in each one:

Note: If Windows is installed on a partition of your computer’s HDD/SSD other than C, you are going to have to adjust the directories in these commands accordingly.

  1. Type the following into the elevated Command Prompt and press Enter:
Читайте так же:
CrystalDiskMark для Windows

Note: In the command above, SOURCE_FILE_PATH is to be replaced with the path and file name of the healthy COMCTL32.DLL file, and DESTINATION_PATH is to be replaced with the path and file name of the corrupted COMCTL32.DLL file. The final product should look something like this:

  1. Once the command has been executed, close the elevated Command Prompt.
  2. Restart the computer.

Once the computer boots up, try launching one of the affected applications to see whether or not the problem has been fixed.

Solution 3: Perform a System Restore

If all else fails, you can still perform a System Restore and restore your computer to the exact state it was in before it became infected with this issue, effectively undoing what caused this issue in the first place. However, this issue will only work if a system restore point was created before your computer started suffering from this problem. In order to perform a System Restore on a Windows 7 computer, you need to:

  1. Press the Windows Logo key + R to open a Run
  2. Type exe into the Run dialog and press Enter to launch the System Restore utility.
  3. Click on Next. If System Restore recommends that you restore your computer to an automatically chosen restore point on this screen, select the Choose a different restore point option and then click on Next.
  4. Click on your desired restore point from the list provided to select it, and then click on Next. Be sure to select a restore point that was created well before your computer started suffering from this problem.
  5. On the Confirm your restore point screen, click on Finish.
  6. Click on Yes in the dialog box that pops up to begin the System Restore.

Windows will restart and begin restoring the computer to the chosen restore point. The whole process may take a considerable amount of time, so all you need to do is be patient, and once the process is complete, check to see whether or not the System Restore managed to get rid of the problem.

Установка библиотеки DLL

Сначала мы советуем вам проверить наличие библиотеки COMCTL32.dll в системных папках. Если у вас 32-битная ОС, то ищите данный файл в каталоге System32. А пользователи 64-битной Windows должны отыскать библиотеку в SysWOW64.

Установка библиотеки DLL

Если вы не нашли данный файл в указанных каталогах, то его необходимо установить самостоятельно. Чтобы не скачивать системную библиотеку со сторонних ресурсов, сделайте загрузочную флешку с дистрибутивом ОС. С ее помощью запустите процедуру восстановления Windows 7, в ходе которой утилита установит недостающие компоненты.

Отсутствует библиотека comctl32.dll — что делать?

nticompass Level 1
Level 1Posts: 6 Joined: Sun Sep 03, 2017 11:06 am

Wine can’t load comctl32.dll

Post by nticompass » Sun Sep 03, 2017 11:21 am

I am using wine-2.3 (Staging) on Gentoo, compiled with gcc 6.3.0. I have both the 32- and 64-bit versions installed. (More info, like USE flags and such:

I am having an issue opening pretty much any wine exe (like `wine notepad`), including winecfg. This is what I am seeing:

Bob Wya Level 12
Level 12Posts: 3046 Joined: Sat Oct 16, 2010 7:40 pm Location: Scotland Contact:

Re: Wine can’t load comctl32.dll

Post by Bob Wya » Sun Sep 03, 2017 4:05 pm

=sys-devel/gcc-6.3.0 is what I’m using to build Wine / Wine Staging with no noticeable issues.
I simply haven’t bothered yet with the 6.4.0 release upgrade.
Using clang on the other hand could lead to some subtle compilation issues — since it isn’t as widely tested.

I’d probably have to see the full app-emulation/wine build log — to see if there is any suspect items in the build process.

Any reason you’re not using a newer version of Wine? Version 2.3 is quite old now. The current Wine Staging release is 2.15.

Читайте так же:
DupKiller 0.8.2

nticompass Level 1
Level 1Posts: 6 Joined: Sun Sep 03, 2017 11:06 am

Re: Wine can’t load comctl32.dll

Post by nticompass » Sun Sep 03, 2017 4:22 pm

I do have `CC=»clang»` set globally, but I have it overridden for wine. wine uses `CC=»gcc»`. I tried compiling wine with clang, but it failed and instead of debugging it, I just changed it to use gcc.

I am using 2.3 because any newer versions are currently masked in Gentoo. I could use 2.12 or 2.13, but I’d have to unmask it first.

It doesn’t look like I have the build log, I’m not sure it saves logs from good builds, only failed ones.

Bob Wya Level 12
Level 12Posts: 3046 Joined: Sat Oct 16, 2010 7:40 pm Location: Scotland Contact:

Re: Wine can’t load comctl32.dll

Post by Bob Wya » Mon Sep 04, 2017 11:43 am

The: app-emulation/wine package has been depreciated for months — in the main Gentoo Portage tree.
See Gentoo Wiki: Wine — New Packaging .
Most Gentoo users, including myself, have moved over to the newer multi-slot Wine packages.

The newer Gentoo Wine packages: app-emulation/wine- ; are only masked against one bug.
A bug I cannot even reproduce — winegcc not working when using multi-slot Wine.
See Gentoo Bugzilla: Bug 625560 — app-emulation/wine- && app-eselect/wine: winegcc fails to link when using a variant symlink other than /usr/bin/winegcc for the details.

I’ve got both versions (multislot Wine and the older single slot Wine) in my Overlay ::bobwya .
My multislot Wine implementation/fork has a lot of extra features — that the main Gentoo version doesn’t support.
I aim for same day release updates — in my Wine packages.
No Gallium D3D9 support however — as I’m a 100% Nvidia «shop» here.

That will log all Portage builds to the directory: «/var/log/portage/build» (example only!!) with gzip compression.
This directory should be owned by: portage:portage.
I’ve also got a Cron job to recompress these files with xz compression — as 2+ years worth of build logs can be a SSD/HDD space hog!
But realistically most people could delete build logs >1-2 weeks old.

Anyway I’d need to take a look at the app-emulation/wine build log to be able to help you any more.
But you’d need to be building a supported Wine package (either my own single slotted Wine package — which is maintained — or one of the newer mutlislotted Wine packages).

Personally I think using a mixed toolchain, like you are, is going to lead to a world of extra pain — for little benefit.

Исправлено: COMCTL32.DLL отсутствует при запуске приложений в Windows 7 —

Пользователь Windows 7 может стать жертвой проблемы, когда каждый раз, когда он пытается запустить определенные приложения (приложения, такие как Google Chrome), он получает сообщение об ошибке — что-то вроде следующего:

«COMCTL32.DLL отсутствует»
«COMCTL32.DLL не найден»
«Не удается найти COMCTL32.DLL»
«Отсутствует необходимый компонент: COMCTL32.DLL»
«Это приложение не удалось запустить, потому что COMCTL32.DLL не был найден. Переустановка приложения может решить проблему»


Пользователь Windows 7, затронутый этой проблемой, просто теряет способность запускать и использовать значительную часть приложений, которые они имеют на своем компьютере, так как его компьютер не может найти и / или получить доступ к COMCTL32.DLL файл — файл, без которого не могут работать многие приложения.

Как и большинство других файлов DLL, COMCTL32.DLL файл должен находиться в C: Windows System32, и когда большинство пользователей, затронутых этой проблемой, переходят к C: Windows System32, они видят, что COMCTL32.DLL файл есть. Почему эти пользователи все еще получают сообщения об ошибках, тогда? Ну, то COMCTL32.DLL файлы на их компьютере повреждены, и что Windows означает, что не может найти COMCTL32.DLL является то, что он не смог найти полную, здоровую версию COMCTL32.DLL файл.

Будучи не в состоянии использовать большое количество приложений на вашем компьютере, потому что ваш компьютер не имеет COMCTL32.DLL файл или ваш компьютер COMCTL32.DLL Файл был поврежден может быть реальной болью. Это особенно актуально, когда ваш интернет-браузер сильно зависит от COMCTL32.DLL файл, и эта проблема делает вас не в состоянии использовать его. К счастью, есть довольно много решений, которые могут решить эту проблему, и следующие являются наиболее эффективными:

Читайте так же:
Альтернативы для Notepad++

Решение 1. Запустите сканирование SFC

Сканирование SFC (Проверка системных файлов) анализирует все системные файлы на компьютере на наличие повреждений и повреждений. Если сканирование SFC обнаруживает какие-либо поврежденные или поврежденные системные файлы, это устраняет проблемы, заменяя поврежденные и / или поврежденные системные файлы исправными, кэшированными резервными копиями файлов. Утилита SFC — это встроенная утилита Windows, присутствующая во всех версиях операционной системы Windows, в том числе Windows 7. Чтобы запустить сканирование SFC на компьютере под управлением Windows 7, вам необходимо:

  1. Открой Стартовое меню.
  2. Ищи «CMD».
  3. Нажмите правой кнопкой мыши на результат поиска под названием CMD и нажмите на Запустить от имени администратора.
  4. Тип SFC / SCANNOW в возвышенный Командная строка и нажмите Войти начать сканирование SFC.
  5. Дождитесь запуска сканирования SFC. Сканирование SFC может занять значительное время для завершения.
  6. После завершения сканирования SFC закройте повышенную Командная строка, запустить снова компьютер и проверьте, сохраняется ли проблема после загрузки компьютера.


Решение 2: заменить поврежденный COMCTL32.DLL файл со здоровым

Эту проблему можно исправить почти во всех случаях, просто заменив поврежденную или отсутствующую COMCTL32.DLL файл со здоровым. Для того, чтобы заменить поврежденный COMCTL32.DLL файл с здоровым, однако, вы сначала должны получить в свои руки здоровый COMCTL32.DLL файл. Вы можете приобрести здоровый COMCTL32.DLL файл, просто нажав Вот и скачать его. Кроме того, вы также можете получить здоровую COMCTL32.DLL файл с другого компьютера, работающего в той же версии и архитектуре Windows 7, что и ваш компьютер — просто прыгайте на таком компьютере, перейдите к C: Windows System32, найдите COMCTL32.DLL файл и скопируйте его на USB или другое устройство хранения.

Как только вы получили здоровый COMCTL32.DLL файл, загрузив один или с другого компьютера с Windows 7, переместите его в легкодоступное и запоминающееся место на вашем компьютере и затем:

  1. Открой Стартовое меню.
  2. Ищи «CMD».
  3. Нажмите правой кнопкой мыши на результат поиска под названием CMD и нажмите на Запустить от имени администратора.
  4. Введите каждый из следующих в повышенных Командная строка, прессование Войти после ввода в каждом:

takeown / f c: windows system32 comctl32.dll
icacls c: windows system32 comctl32.dll / АДМИНИСТРАТОРЫ ГРАНТА: F

Замечания: Если Windows установлена ​​на раздел жесткого диска / SSD вашего компьютера, кроме С, вам придется соответствующим образом настроить каталоги в этих командах.

  1. Введите следующее в повышенных Командная строка и нажмите Войти:


Замечания: В приведенной выше команде SOURCE_FILE_PATH должен быть заменен путем и именем файла здорового COMCTL32.DLL файл и DESTINATION_PATH должен быть заменен путем и именем файла поврежденного COMCTL32.DLL файл. Конечный продукт должен выглядеть примерно так:

скопируйте d: downloads comctl32.dll c: windows system32 comctl32.dll

  1. Как только команда будет выполнена, закройте повышенную Командная строка.
  2. Запустить снова компьютер.

Как только компьютер загрузится, попробуйте запустить одно из уязвимых приложений, чтобы увидеть, была ли проблема решена.

Решение 3. Выполните восстановление системы

Если ничего не помогает, вы все равно можете выполнить Восстановление системы и восстановите ваш компьютер до того состояния, в котором он находился до того, как он заразился этой проблемой, эффективно устраняя причину этой проблемы. Однако эта проблема будет работать только в том случае, если точка восстановления системы была создана до того, как компьютер начал страдать от этой проблемы. Для того, чтобы выполнить Восстановление системы на компьютере с Windows 7 вам необходимо:

  1. нажмите Windows Logo ключ + р открыть Бежать
  2. Тип EXE в Бежать диалог и нажмите Войти запустить Восстановление системы полезность.
  3. Нажмите на следующий. Если Восстановление системы рекомендует восстановить на компьютере автоматически выбранную точку восстановления на этом экране, выберите Выберите другую точку восстановления вариант, а затем нажмите на следующий.
  4. Нажмите на нужную точку восстановления в списке, чтобы выбрать ее, а затем нажмите на следующий. Обязательно выберите точку восстановления, созданную задолго до того, как компьютер начал страдать от этой проблемы.
  5. На Подтвердите вашу точку восстановления экран, нажмите на Конец.
  6. Нажмите на да в диалоговом окне, которое появляется, чтобы начать Восстановление системы.
Читайте так же:
9 способов отправить большие файлы по Интернету

Windows будет запустить снова и начните восстановление компьютера до выбранной точки восстановления. Весь процесс может занять значительное количество времени, поэтому все, что вам нужно сделать, это набраться терпения, и, как только процесс завершится, проверьте, действительно ли Восстановление системы удалось избавиться от проблемы.

Отсутствует comctl32.dll: причины ошибки

Все ошибки с файлом comctl32.dll вызваны либо его повреждением или отсутствием на компьютере, либо конфликтом современных программ и игр с устаревшим оборудованием или версией Windows.

Динамическая библиотека comctl32.dll содержит элементы графического интерфейса пользователя. Библиотека старая она появилась еще во времена Internet Explorer 4.0. С тех пор многие приложения стали в разы интенсивнее использовать возможности графического адаптера, что привело к росту проблем и несовместимости. Обычно ошибки начинают появляться после конкретных действий пользователя, поэтому выявить проблему и заняться решением не составляет труда.

Наиболее частые ошибки:

  1. Порядковый номер N не найден в библиотеке comctl32.dll.
  2. Файл comctl32.dll не найден.
  3. Не удалось запустить приложение, так как файл comctl32.dll не найден.
  4. Запуск программы невозможен, так как на компьютере отсутствует comctl32.dll. Попробуйте переустановить программу.

Отсутствие библиотеки и ошибки в ней обычно вызываются следующими причинами:

  1. Устаревше ПО или старая версия Windows. К примеру, на Windows XP такая ошибка будет возникать при запуске современных игр, требующих графики с поддержкой DirectX 10 или 11, если видеокартой или системой данные драйвера не поддерживаются.
  2. Повреждение файла вирусами или троянами. Одна из самых частых проблем, причем зачастую вирусы заносятся на компьютер в момент скачивания программы. Приложения не могут достать нужную информацию из поврежденной библиотеки, в результате чего начинают появляться ошибки.
  3. Файл может быть ошибочно удален или по другой причине отсутствовать в нужной директории системы. В этом случае Windows просто не находит файл и выдает соответствующее сообщение при запуске системы или программы.
  4. Ошибки в реестре. Если в последнее время чистился реестр или удалялись вирусы, атакующие реестр Windows, после перезагрузки ПК могут начать появляться ошибки. Во избежание подобных недоразумений следует делать резервные копии (бекапы) перед любыми изменениями в реестре.

Иногда не помогает ни переустановка программы, ни скачивание и замена проблемного файла. Чтобы не нанести вред компьютеру и избавиться от ошибки, следует начать решение проблемы с поиска её причины.

Библиотека отсутствует в Windows

Файл comctl32.dll может быть удален или отсутствовать в нужной директории Windows. Для исправления ситуации нужно выполнить следующую последовательность действий:

  1. Проверить папку C:WindowsSystem32 (для Windows 7, XP и Vista) или C:WindowsSysWOW64 (для 64-разрядных версий Windows 7, 8 и 10) на предмет наличия файла comctl32.dll.
  2. Если его нет, перекинуть файл с другого компьютера или скачать нужную версию на Следует скачивать именно ZIP-архив с нужной версией библиотеки, а не установщик их программы (он попросту не требуется).
  3. Положить файл в нужную папку в зависимости от того, х32 или х64-битная версия системы используется.
  4. Перезагрузить компьютер и попробовать заново запустить программу.

Если ошибка продолжает появляться, нужно зарегистрировать новую библиотеку. Делается это в несколько шагов:

  1. Нажать Пуск Выполнить.
  2. Открыть командную строку: ввести cmd.exe и нажать Enter.
  3. Ввести regsvr32 comctl32.dll (без кавычек) и нажать еще раз Enter.

Если есть шанс вирусного заражения компьютера, все действия лучше производить в безопасном режиме Windows с поддержкой командной строки. После регистрации библиотеки может потребоваться повторная перезагрузка компьютера, чтобы изменения вступили в силу.

Файл удален вирусом или в карантине

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

Для решения проблемы следует:

  1. Проверить карантин антивирусных программ на наличие файла comctl32.dll.
  2. Если файл находится в карантине, его можно попробовать вылечить средствами антивируса.
  3. Проверить компьютер на наличие оставшихся вирусов. Можно использовать бесплатное ПО DrWeb CureIt! и Kaspersky Virus Removal Tool.
  4. Открыть командную строку Windows и ввести sfc /scannow. Дождаться окончания автоматической проверки системы. Во многих случаях Windows сможет самостоятельно восстановить поврежденные файлы и библиотеки, если работа троянов и вирусов больше не мешает.
Читайте так же:
Как объединить внутреннюю и внешнюю память на Android-смартфоне

После очистки компьютера можно воспользоваться указанной выше ссылкой для скачивания новой версии файла. Также можно просто перенести библиотеку с другого, нормально работающего компьютера с такой же версией Windows (7, 8, XP, 10 и другие). Следует помнить о переносе именно той версии библиотеки (х32 или х64), которая поддерживается конкретной системой.

ПО устарело или несовместимо

Если ошибка с файлом comctl32.dll возникает при попытке запуска современных игр на старых компьютерах и версиях Windows, значит новое приложение попросту не поддерживает устаревшие библиотеки графических данных. В такой ситуации нет универсального способа решить проблему, но можно попробовать устранить несовместимость.

Что можно сделать:

  1. Использовать перечисленные выше способы: очистить систему от вирусов, обновить библиотеку, провести диагностику системы.
  2. Обновить драйвера всех устройств, в особенности графического адаптера (видеокарты).
  3. Попробовать обновить DirectX, поставив версию из комплекта с игрой или ПО. Следует помнить, что 10 и 11 версии DirectX не поддерживаются старыми видеокартами, однако требуются новыми играми.
  4. Очистить реестр от мусора при помощи CCleaner или аналогичных программ.
  5. Использовать точку восстановления системы, если проблема начала появляться без видимых причин и остальные способы решения не помогают.

Если ничего из указанных выше способов не помогло, то варианта остается два: удалить проблемное приложение и не пользоваться им (если ошибка возникает только в 1 программе), либо переустановить Windows с нуля. После переустановки Windows нужно будет скачать последние версии драйверов и DirectX с официального сайта Microsoft.

Почему я получаю сообщение об ошибке «Не удалось найти точку входа в процедуру»?

Динамические библиотеки ссылок (DLL) — это внешние коды памяти для приложений. Большинство приложений на самом деле неполны сами по себе, то есть им не хватает некоторых частей в установочных папках. Когда возникает необходимость в некотором коде, приложение извлекает необходимый код и загружает их в память для использования приложения.

Если программное обеспечение или ваша операционная система не может найти необходимые файлы DLL или файлы DLL повреждены, вы можете столкнуться с ‘точка входа в процедуру‘ ошибка.

Смысл регистрации библиотек и элементов управления

По какой причине для использования функций DLL в системе непременно требуется их регистрация? Я думаю, вполне уместно будет привести аналогию с системной переменной пути (%PATH%). Как Вы помните, файлы, которые располагаются в директориях, указанных в переменной %PATH%, можно запускать из командной строки без указания полного пути к файлу, в противном случае их невозможно будет запустить из произвольной директории системы, командный интерпретатор их попросту не найдет. По аналогии и библиотеки, которые содержат функции, широко используемые различными программами, должны быть «объявлены» в системе, иначе программы не смогут их найти. Можно утверждать, что при вызове функции из образа исполняемого файла, загрузчик Windows (менеджер, который отвечает за выделение памяти, подключение различных функций из образов памяти и прч.) должен знать откуда можно подгрузить библиотеку, содержащую требуемую функцию.Но что такое регистрация в системе применительно к библиотеке DLL? Это определенный алгоритм действий по модификации различных разделов реестра и каталогов файловой системы, результатом которого является «видимость» библиотеки приложениями. Если библиотека «сторонняя» (не системная), то регистрация библиотеки выполняется на этапе инсталляции приложения, для обслуживания функций которого она предназначается. В большинстве случаев сам процесс регистрации библиотеки выполняется при помощью вызова внешних специализированных системных утилит, либо определенной последовательности специализированных функций Windows API.

Зачастую нет необходимости самостоятельно (вручную) регистрировать DLL, практически всегда это выполняется автоматически при инсталляции компонентов системы/программы. Необходимость в ручной регистрации возникает, как правило, в случае каких-либо ошибок в системе: проблем инсталляции/деинсталляции программ, сбоях, либо в случае самостоятельно разрабатываемых DLL, которые необходимо оттестировать.

Можно рассмотреть простой пример, когда произвольно установленная в системе программа использует функцию из библиотеки, не «объявленной» в системе. В подобной ситуации загрузчик Windows на начальной стадии инициализации виртуального адресного пространства процесса выполняет импорт всех библиотек, требуемых загружаемой на выполнение программе. Если одна из библиотек, прописанных в таблице импорта исполняемого образа, отсутствует, то загрузчик выдает такое вот сообщение об ошибке:

Рейтинг статьи
Ссылка на основную публикацию