Hresult 0x8007007e ошибка как исправить

Пользователи ОС Windows 10 иногда сталкиваются с ошибкой 0x8007007e, препятствующей нормальному использованию принтера. В одних случаях проблема возникает локально (например, при запуске печати страницы из браузера). В других распространяется на печать конкретных типов файлов (например, PDF). В третьих возникает на постоянной основе при попытке печати любых документов.

Сегодня мы рассмотрим основные причины появления ошибки принтера 0x8007007e, а главное, приведем проверенные решения, позволяющие забыть о надписи «На принтере возникла непредвиденная проблема с конфигурацией 0x8007007e». Укажем эффективные методы исправления упомянутой ошибки с подробным пояснением к каждому представленному способу.

Появление упомянутого кода объясняется множеством причин, вызванных действиями пользователя ПК или установленного им программного обеспечения. Проблема конфигурации 0x8007007e обычно возникает по таким причинам:

  • недавно выполненные обновления Windows;
  • повреждение или отсутствие необходимых файлов;
  • неправильное расположение файла PrintConfig.dll;
  • действие вредоносных программ, в том числе вирусов;
  • другие причины программного характера.

Появление ошибки всегда сопровождается системным сообщением с указанием кода 0x8007007e. Благодаря этому обстоятельству пользователи знают, с какой конкретно проблемой столкнулись, за счет чего могут быстро найти решение и восстановить возможность печати с минимальными затратами времени и сил.

В следующих разделах мы расскажем, что делать, если на принтере возникла непредвиденная проблема с конфигурацией 0x8007007e. Рассматривать будем исключительно проверенные варианты, которые помогли многим людям. Надеемся, что они принесут пользу и читателям нашего блога!

На принтере возникла непредвиденная проблема с конфигурацией 0x8007007e

Как исправить ошибку 0x8007007e с помощью удаления или установки обновлений для Windows 10

Периодически компания «Microsoft» выпускает обновления, улучшающие работу операционной системы и исправляющие известные системные ошибки. Причем у большинства пользователей установка обновлений производится автоматически. И если проблема 0x8007007e появилась после очередного апдейта, то сначала следует удалить последнее установленное обновление. Для достижения цели последуйте инструкции:

  1. Нажмите кнопку Пуск, а затем последовательно выберите опции Настройки –> Обновление и безопасность –> Центр обновления Windows.
  2. Нажмите Просмотр журнала обновлений -> Удалить обновления.
  3. Удалите самое последнее обновление (можно проверить по дате), затем перезагрузите компьютер.

Если ошибка 0x8007007e исчезла, примите наши искренние поздравления! Если нет – попробуйте, наоборот, установить обновления (также актуально для людей, которые не обновляли систему в течение длительного периода времени). Высока вероятность, что это действие поможет избавиться от проблемы. Для установки обновлений выполните такие шаги:

  1. Зайдите в Центр обновления Windows (инструкция выше).
  2. Проверьте наличие неустановленных обновлений и (при положительном результате) дождитесь их автоматической установки.
  3. Перезагрузите ПК и попробуйте распечатать документ.

В подавляющем большинстве случаев представленные в этом разделе решения помогают исправить ошибку принтера 0x8007007e. Если этого не случилось, выполните другие представленные в статье рекомендации.

Как устранить ошибку 0x8007007e на Windows 10 с помощью обновления драйверов принтера

Установка свежих драйверов – одно из универсальных решений. Поэтому при появлении ошибки принтера 0x8007007e целесообразно сразу обновить драйверы одним из доступных способов:

  1. Через Диспетчер устройств. Необходимо найти в Диспетчере принтер и нажать на его название правой кнопкой мыши. После этого нужно активировать опцию Обновить драйвер и следовать подсказкам системы.
  2. Через сайт производителя принтера. Надо перейти на сайт, найти софт для конкретного принтера и загрузить драйверы. После загрузки останется установить их.
  3. Через специальные утилиты. Существуют специализированные программы (например, DriverPack Solution), позволяющие обновлять драйверы в режимах онлайн и оффлайн.

В идеале стоит установить новые драйверы как для принтеров, так и для других устройств. На случай, если проблема заключается не только в ПО для принтера.

Как избавиться от ошибки 0x8007007e путем перемещения файла PrintConfig.dll

Упомянутый файл отвечает за корректное функционирование печати, но по различным причинам он часто оказывается вне «родной» директории. Поэтому, прежде чем приступить к далее упомянутым способам исправления ошибки 0x8007007e, надо убедиться, что PrintConfig.dll размещен в нужной папке. Он должен находиться по адресу C:WindowsSystem32SpoolDriversx643. Если его там нет, то следует запустить поиск PrintConfig.dll в директории C:…Drivers. Затем останется выбрать самый новый из найденных файлов и скопировать его в упомянутую папку C:…x643.

После выполнения перечисленных действий и последующей перезагрузки ПК непредвиденная проблема с конфигурацией 0x8007007e на принтере обычно исчезает. Если же и эти шаги не помогли, то придется приступать к сканированию системы внешними или встроенными утилитами.

Решение непредвиденной проблемы с конфигурацией 0x8007007e путем удаления вирусов

Вредоносное программное обеспечение заметно тормозит работу системы и вызывает неработоспособность некоторых базовых опций. Поэтому если принтер не печатает из-за ошибки 0x8007007e, то проверить ПК на предмет наличия вирусов лишним не будет.

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

Устранение ошибки принтера 0x8007007e с помощью системной проверки целостности файлов

Для устранения множества распространенных проблем существует специальный системный инструмент, определяющий отсутствующие/поврежденные файлы, а затем устанавливающий/восстанавливающий их. В результате периодического использования этого инструмента можно устранить многие ошибки, в том числе проблему 0x8007007e.

Для запуска сканирования надо открыть командную строку (одновременно нажать клавиши Win+R, ввести cmd.exe и нажать Enter). Далее в открывшемся окне нужно напечатать sfc / scannow, дождаться окончания сканирования системы и перезагрузить ПК. Вероятность исправления ошибки 0x8007007e небольшая, но она есть. Попробовать стоит.

Приведение параметров службы Диспетчер печати к значениям по умолчанию

Используя этот способ, можно попытаться устранить ошибку принтера 0x8007007e путем восстановления базовых настроек Диспетчера печати. Чтобы сделать это, выполните такие шаги:

  1. Нажмите Пуск правой кнопкой мыши, выберите Управление компьютером.
  2. Перейдите в раздел Службы и приложения -> Службы.
  3. Найдите Диспетчер печати и зайдите в его свойства двойным нажатием левой кнопки мыши.
  4. Нажмите Остановить и OK.
  5. В отдельном окне откройте директорию C:WindowsSystem32SpoolPRINTERS, а затем удалите ее содержимое.
  6. Вернитесь к Диспетчеру печати. Активируйте службу нажатием Запустить. В поле Тип запуска установите значение Автоматически. Подтвердите действие нажатием OK.

Приведенные шаги помогут откатить службу к начальным настройкам и с некоторым (небольшим) шансом устранят ошибку принтера 0x8007007e.

Как исправить ошибку принтера 0x8007007e на Windows 10 через настройки Диспетчера печати

Порядок применения способов исправления ошибки 0x8007007e

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


Ваше Имя:


Ваш вопрос:


Внимание: HTML не поддерживается! Используйте обычный текст.


Оценка:


Плохо
 

 

 

 

 

 

Хорошо


Введите код, указанный на картинке:


Получить ошибку 0x8007007e вы можете при обновлении до Windows 10, либо же во время установки какого-то обновления для операционной системы Windows. Вместе с ошибкой может быть также приложено сообщение, в котором говориться, что Windows столкнулась с неизвестной ей ошибкой, или же что установка обновления/билда закончилась неудачно.

Что же могло вызвать появление ошибки 0x8007007e? Обычно, выделяют две причины:

  • Стороннее программное обеспечение, которое может помешать процессу обновления. Особенно довольно часто в этом виновато стороннее антивирусное ПО, которое, по каким бы то ни было причинам, блокирует процесс установки обновления.
  • Повреждение файловой системы Windows или записей Реестра, из-за чего и создается конфликт с устанавливаемым обновлением.

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

Как исправить ошибку 0x8007007e при обновлении до Windows 10?

0x8007007e

Метод №1 Отключить стороннее Антивирусное программное обеспечение

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

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

Метод №2 Вручную сбросить компоненты Центра обновления

В том случае, если ваш Антивирус не является виновником ошибки 0x8007007e, то можно попробовать сбросить различные компоненты Центра обновления Windows. Для этого сделайте следующее:

  • Нажмите комбинацию клавиш Win+X и выберите из контекстного меню пункт “Командная строка(администратор)”.
  • Впишите команду net stop wuauserv и нажмите Enter.
  • Впишите команду net stop cryptSvc и нажмите Enter.
  • Впишите команду net stop bits и нажмите Enter.
  • Впишите команду net stop msiserver и нажмите Enter.
  • Впишите команду ren C:WindowsSoftwareDistribution SoftwareDistribution.old и нажмите Enter.
  • Впишите команду ren C:WindowsSystem32catroot2 Catroot2.old и нажмите Enter.
  • Впишите команду net start wuauserv и нажмите Enter.
  • Впишите команду net start cryptSvc и нажмите Enter.
  • Впишите команду net start bits и нажмите Enter.
  • Впишите команду net start msiserver и нажмите Enter.
  • Закройте Командную строку.

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

Метод №3 Чистая загрузка

Что же, если все предыдущие методы не смогли решить проблему с ошибкой 0x8007007e, то можно попробовать выполнить Чистую загрузку. Этот метод загрузки позволит запустить вашу систему только с самыми необходимыми компонентами для ее работы, т.е. стороннее программное обеспечение будет полностью отключено. Для выполнения Чистой загрузки выполните следующие шаги:

  • Нажмите комбинацию клавиш Win+Rчтобы открыть окошко “Выполнить”.
  • Впишите в строку msconfig и нажмите Enter.
  • Переключитесь на вкладку “Службы”.
  • Поставьте галочку напротив опции “Скрыть все службы от Microsoft”.
  • Как только вы скроете все важные службы, нажмите кнопку “Отключить все”. Таким образом вы выключите все сторонние и ненужные для запуска операционной системы службы.
  • Далее зайдите в Диспетчер задач.
  • Перейдите во вкладку Автозагрузка и отключите все приложения, которые будут там находиться.
  • Перезагрузите ваш компьютер.

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

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

Ошибка 0x8007007e в основном появляется тогда, когда происходит апдейт Windows 10. Иногда ошибка данная ошибка может происходить в результате изменений, переустановки различных программ и сервисов, касающихся конкретно операционной системы.

Ошибка 0x8007007e в Windows 10: 3 лучших способа решения

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

Что же может быть причиной появления на экране сообщения подобного рода. Среди всех возможных причин выделяют две главные:

  1. По каким-либо причинам был поврежден один из файлов Виндовс либо отчет памяти реестра, именно вследствие этого может происходить несоответствие файлов друг с другом или с устанавливаемым файлом, который, по каким-либо причинам, не может подходить установленной ОС, так как предназначен совсем для других характеристик.
  2. Дополнительное, вспомогательное программное обеспечение, которое очень часто может вызывать ошибки, сбои во время работы устройства либо загрузки. Очень часто виной всему выступают антивирусные программы, автоматически останавливающие сам процесс загрузки файла, делается это все в целях безопасности и надежности. Для того, чтобы выйти из сложившейся ситуации вопрос может решаться несколькими способами. Рассмотрим наиболее актуальные из всех возможных.

Способы устранения ошибки 0x8007007e

  1. Одним из самых простых способов устранения ошибки является простое отключение установленной антивирусной программы либо других приложений, вызывающих подвис либо неправильную загрузку файлов. После отключения программы следует удостовериться в том, что метод действительно оказался действенным. Это будет сразу заметно по работе самой ОС. Для того, чтобы отключить расширение необходимо кликнуть на соответствующую иконку, открыть меню опции и найти кнопку Выйти. После чего рекомендуется начать заново обновление системы или установку желаемой программы, сервиса. Если результата никакого не последовало, следует, что причина крылась не в этом и пробовать проверять второй способ.
  2. Необходимо самому вернуть настройки Центра обновлений к дефолтному виду. В тот момент, когда антивирус, установленный в гаджет не источник возникновения ошибки 0x8007007e, то необходимо возвратиться в начальному виду и попробовать установить, переключить различные настройки Центра обновления. Высока вероятность того, что, используя другие настройки, получиться исправить сложившуюся ситуацию. Для реализации данного способа необходима кликнуть WIN-X и найти раздел Командная строка, после чего включить опцию net stop wuauserv, установить параметр net stop cryptSvc, самостоятельно в командной строке ввести комбинацию net stop bits и нажать Ввод. При этом следует обозначить тип настройки net stop msiserver, после чего опять нажать клавишу Ввод. Записывается опция с раздела ren C:WindowsSoftwareDistribution SoftwareDistribution.old, указывается параметр ren C:WindowsSystem32catroot2 Catroot2.old, набирается net start wuauserv и все эти действия подтверждаются простым нажатием на клавишу Enter. Не забудьте выключить консоль. После всех выполненных мероприятий, указанных выше, стоит опять выполнить апдейт операционной системы либо расшифровать какую-либо модификацию. Если применение и данного метода не помогло справиться с насущной проблемой, то самое время испробовать заключительный метод.
  3. Данный способ можно обозначить, как чистая загрузка. Применять его следует только в тех случаях, когда вышеуказанные способы не привели ни к какому результату. Данный способ загрузки всей информации в автоматическом режиме запускает саму операционную систему со всеми ее основными и ключевыми составляющими, грубо говоря, все дополнительные и вспомогательные программы, которые хоть как-то могут повлиять на загрузку либо модификацию, отключаются, в процессе участвуют только самые нужные сервисы.

Для того, чтобы перейти к данному процессу необходимо нажать комбинацию WIN-R, в выскочившем окне вводится команда msconfig, после чего действие подтверждается.

Далее необходимо найти раздел Службы, галочкой отметить пункт Скрыть службы Майкрософт, после чего нажать Отключить все. Теперь можно смело переходить к установке, так как все ненужные и дополнительные программы отключаются.

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

I have a dll library with unmanaged C++ API code I need to use in my .NET 4.0 application. But every method I try to load my dll I get an error:

Unable to load DLL ‘MyOwn.dll’: The specified module could not be found. (Exception from HRESULT: 0x8007007E)

I have read and tried several solutions I have found on the internet. Nothing works..

I have tried using following methods:

[DllImport("MyOwn.dll",  CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs((UnmanagedType.I4))]
public static extern Int32 MyProIni(string DBname, string DBuser_pass,
    string WorkDirectory, ref StringBuilder ErrorMessage);

When I tried following this article and when I run this example (from the downloaded code) it runs without a problem (the dll used is in the bin/debug folder)

I have copied my dll (along with all the files the it depends on into my bin folder).

I also tried this approach but got the same error:

[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")]
[return: MarshalAs(UnmanagedType.I4)]
public static extern  int MyproIni(string DBname, string DBuser_pass, 
    string WorkDirectory, ref StringBuilder ErrorMessage);

Any suggestions?

Chronicler's user avatar

asked Jan 25, 2012 at 12:55

Ingimar Andresson's user avatar

From what I remember on Windows the search order for a dll is:

  1. Current Directory
  2. System folder, C:windowssystem32 or c:windowsSysWOW64 (for 32-bit process on 64-bit box).
  3. Reading from the Path environment variable

In addition I’d check the dependencies of the DLL, the dependency walker provided with Visual Studio can help you out here, it can also be downloaded for free: http://www.dependencywalker.com

Graviton's user avatar

Graviton

81.4k143 gold badges420 silver badges602 bronze badges

answered Jan 25, 2012 at 13:11

display101's user avatar

5

You can use the dumpbin tool to find out the required DLL dependencies:

dumpbin /DEPENDENTS my.dll

This will tell you which DLLs your DLL needs to load. Particularly look out for MSVCR*.dll. I have seen your error code occur when the correct Visual C++ Redistributable is not installed.

You can get the «Visual C++ Redistributable Packages for Visual Studio 2013» from the Microsoft website. It installs c:windowssystem32MSVCR120.dll

In the file name, 120 = 12.0 = Visual Studio 2013.

Be careful that you have the right Visual Studio version (10.0 = VS 10, 11 = VS 2012, 12.0 = VS 2013…) right architecture (x64 or x86) for your DLL’s target platform, and also you need to be careful around debug builds. The debug build of a DLL depends on MSVCR120d.dll which is a debug version of the library, which is installed with Visual Studio but not by the Redistributable Package.

answered Sep 5, 2014 at 11:34

Anthony Hayward's user avatar

5

The DLL has to be in the bin folder.

In Visual Studio, I add the dll to my project NOT in References, but «Add existing file». Then set the «Copy to Output Directory» Property for the dll to «Copy if newer».

answered Mar 4, 2016 at 5:28

Jeremy Thompson's user avatar

Jeremy ThompsonJeremy Thompson

61.1k33 gold badges186 silver badges318 bronze badges

1

This is a ‘kludge’ but you could at least use it to sanity-test:
Try hard-coding the path to the DLL in your code

[DllImport(@"C:\mycompany\MyDLL.dll")]

Having said that; in my case running dumpbin /DEPENDENTS as suggested by @anthony-hayward, and copying over 32-bit versions of the DLLs listed there into my working directory solved this problem for me.

The message is just a bit misleading, becuase it isn’t «my» dll that can’t be loaded — it’s the dependencies

answered Sep 14, 2017 at 14:09

Black's user avatar

BlackBlack

4,9906 gold badges62 silver badges90 bronze badges

Try to enter the full-path of the dll.
If it doesn’t work, try to copy the dll into the system32 folder.

answered Jan 25, 2012 at 13:00

Headpuster's user avatar

HeadpusterHeadpuster

2691 gold badge2 silver badges9 bronze badges

2

«Unable to load DLL ‘xxx.dll’: The specified module could not be found. (Exception from HRESULT: 0x8007007E)» means the file CAN be found BUT it’s not able to load it. Try to copy the DLL file to the root folder of your application, some DLL libraries need to be available in the root folder of the application in order for it to work. Or check if there are any other depending DLL files required by it.

«Cannot find DLL ‘xxx.dll’: …» means the file CANNOT be found. Try to check the path. For example, [DllImport(@"LibrariesFolderxxx.dll")]

answered Mar 23, 2021 at 4:34

JeeShen Lee's user avatar

JeeShen LeeJeeShen Lee

3,3865 gold badges38 silver badges59 bronze badges

1

Ensure that all dependencies of your own dll are present near the dll, or in System32.

answered Jan 25, 2012 at 13:10

Felice Pollano's user avatar

Felice PollanoFelice Pollano

32.7k9 gold badges75 silver badges115 bronze badges

Turn on the fusion logging, see this question for lots of advice on how to do that. Debugging mixed-mode apps loading problems can be a right royal pain. The fusion logging can be a big help.

Community's user avatar

answered Jan 25, 2012 at 13:36

Chris O's user avatar

Chris OChris O

5,0193 gold badges35 silver badges42 bronze badges

Make sure you set the Build Platform Target to x86 or x64 so that it is compatible with your DLL — which might be compiled for a 32 bit platform.

answered Sep 22, 2014 at 18:49

Grantly's user avatar

GrantlyGrantly

2,5392 gold badges20 silver badges31 bronze badges

There is one very funny thing (and has a technical relevance) which might waste your hours so thought of sharing it here —

I created a console application project ConsoleApplication1 and a class library project ClassLibrary1.

All the code which was making the p/invoke was present in ClassLibrary1.dll. So before debugging the application from visual studio I simply copied the C++ unmanaged assembly (myUnmanagedFunctions.dll) into the bindebug directory of ClassLibrary1 project so that it can be loaded at run-time by the CLR.

I kept getting the

Unable to load DLL

error for hours. Later on I realized that all such unmanaged assemblies which are to be loaded need to be copied into the bindebug directory of the start-up project ConsoleApplication1 which is usually a win form, console or web application.

So please be cautious the Current Directory in the accepted answer actually means Current Directory of main executable from where you application process is starting. Looks like an obvious thing but might not be so at times.

Lesson Learnt — Always place the unamanaged dlls in the same directory as the start-up executable to ensure that it can be found.

answered Jan 17, 2017 at 9:09

RBT's user avatar

RBTRBT

23.7k21 gold badges158 silver badges240 bronze badges

3

I had the same problem when I deployed my application to test PC. The problem was development PC had msvcp110d.dll and msvcr110d.dll but not the test PC.

I added «Visual Studio C++ 11.0 DebugCRT (x86)» merge module in InstalledSheild and it worked. Hope this will be helpful for someone else.

answered Feb 1, 2016 at 11:56

kakopappa's user avatar

kakopappakakopappa

5,0235 gold badges54 silver badges73 bronze badges

In my case one unmanaged dll was depending on another which was missing. In that case the error will point to the existing dll instead of the missing one which can be really confusing.

That is exactly what had happen in my case. Hope this helps someone else.

answered Feb 22, 2019 at 14:05

Rahatur's user avatar

RahaturRahatur

3,1273 gold badges33 silver badges47 bronze badges

If the DLL and the .NET projects are in the same solution and you want to compile and run both every time, you can right click the properties of the .NET project, Build events, then add something like the following to Post-build event command line:

copy $(SolutionDir)DebugMyOwn.dll .

It’s basically a DOS line, and you can tweak based on where your DLL is being built to.

answered Dec 18, 2014 at 15:07

SharpC's user avatar

SharpCSharpC

6,8464 gold badges45 silver badges40 bronze badges

I think your unmanaged library needs a manifest.
Here is how to add it to your binary. and here is why.

In summary, several Redistributable library versions can be installed in your box but only one of them should satisfy your App, and it might not be the default, so you need to tell the system the version your library needs, that’s why the manifest.

Community's user avatar

answered May 27, 2015 at 15:50

Eugenio Miró's user avatar

Eugenio MiróEugenio Miró

2,3902 gold badges28 silver badges38 bronze badges

Setup: 32-bit Windows 7

Context: Installed a PCI-GPIB driver that I was unable to communicate through due to the aforementioned issue.

Short Answer: Reinstall the driver.

Long Answer:
I also used Dependency Walker, which identified several missing dependency modules. Immediately, I thought that it must have been a botched driver installation. I didn’t want to check and restore each missing file.

The fact that I was unable to find the uninstaller under Programs and Features of the Control Panel is another indicator of bad installation. I had to manually delete a couple of *.dll in system32 and registry keys to allow for driver re-installation.

Issue fixed.

The unexpected part was that not all dependency modules were resolved. Nevertheless, the *.dll of interest can now be referenced.

answered Oct 20, 2016 at 16:15

icernos's user avatar

icernosicernos

3973 silver badges6 bronze badges

I have come across the same problem, In my case I had two 32 bit pcs.
One with .NET4.5 installed and other one was fresh PC.

my 32-bit cpp dll(Release mode build) was working fine with .NET installed PC but Not with fresh PC where I got the below error

Unable to load DLL ‘PrinterSettings.dll’: The specified module could not be
found. (Exception from HRESULT: 0x8007007E)

finally,

I just built my project in Debug mode configuration and this time my
cpp dll was working fine.

answered Jan 25, 2018 at 7:58

Abu Muhammad's user avatar

0

Also faced the same problem when using unmanaged c/c++ dll file in c# environment.

1.Checked the compatibility of dll with 32bit or 64bit CPU.

2.Checked the correct paths of DLL .bin folder, system32/sysWOW64 , or given path.

3.Checked if PDB(Programme Database) files are missing.This video gives you ans best
undestand about pdb files.

When running 32-bit C/C++ binary code in 64bit system, could arise this because of platform incompatibility. You can change it from Build>Configuration manager.

answered Jan 17, 2019 at 4:41

Yuresh Karunanayake's user avatar

I faced the same problem when import C++ Dll in .Net Framework +4, I unchecked Project->Properties->Build->Prefer 32-bit and it solved for me.

answered Mar 24, 2020 at 17:14

Mamo Ghandi's user avatar

Mamo GhandiMamo Ghandi

772 silver badges10 bronze badges

It has nothing to do with dependencies if you checked all dependencies and you know you got them all, it has nothing to do with the file being in the wrong directory either or incorrect ARGUMENTS passed to dll, the DLL Fails to load using LoadLibrary itself.. you could check the address returned from LoadLibrary is always 0x0000000 (not loaded).

I couldn’t figure this error out either it worked fine on Windows 7, but on Windows 10 it doesn’t work. I fixed the problem though it had nothing to do with missing dependencies or Runtime redistributable packs.

The problem was I had to pack the DLL with upx and it started working again.

Something with the file being unpacked and compiled on old Windows XP operating system created a bad PE Header or Bad file format or something, but packing it with UPX did the trick works fine now and the DLL got 3x smaller haha.

answered Jul 4, 2021 at 22:43

SSpoke's user avatar

SSpokeSSpoke

5,64010 gold badges71 silver badges123 bronze badges

I got this error for one C++ project in our solution, and only on our buildmaster’s machine. The rest of us could build it with no problem.

In our case it was because that particular project had <WindowsTargetPlatformVersion> in the .vcxproj file set to «10.0» vs. «10.0.18362.0» as in all our other C++ projects.

Not specifying the entire SDK version number seems to have allowed MSBuild to choose the newest(?) SDK and associated build tools.

Our buildmaster likely had the remnants of a newer SDK on his machine, and MSBuild was trying to use it (and thus RC.exe was not found).

In any case, bringing up the project’s property page and changing Configuration Properties > General > Windows SDK Version to «10.0.18362.0» (or whichever specific version of the SDK you have installed) for all of the project’s configurations/platforms did the trick.

answered Aug 14, 2021 at 1:32

Scott Smith's user avatar

Scott SmithScott Smith

3,8702 gold badges31 silver badges63 bronze badges

На чтение 2 мин. Просмотров 3.3k. Опубликовано 03.09.2019

Ошибка 0x8007007e обычно возникает при попытке загрузить обновления Windows. Это может быть большой проблемой и сделать вашу систему уязвимой и устаревшей, поэтому сегодня мы собираемся показать вам, как это исправить раз и навсегда.

Как исправить ошибку 0x8007007e в Windows 10? Эта ошибка обычно возникает, если возникают какие-либо проблемы со службами Центра обновления Windows. Чтобы это исправить, вам нужно запустить командную строку и перезапустить эти службы. Если это не работает, попробуйте отключить все службы запуска и приложения или временно отключить антивирусную защиту.

Содержание

  1. Как исправить ошибку 0x8007007e Windows Update?
  2. 1. Перезапустите компоненты Центра обновления Windows.
  3. 2. Выполните Чистую загрузку
  4. 3. Отключить сторонний антивирус

Как исправить ошибку 0x8007007e Windows Update?

  1. Перезапустите компоненты Центра обновления Windows .
  2. Выполнить чистую загрузку
  3. Отключить сторонний антивирус

1. Перезапустите компоненты Центра обновления Windows.

Чтобы исправить ошибку обновления Windows 0x8007007e, необходимо перезапустить криптографическую систему, программу установки NMSI, службы BITS, службы обновления Windows и некоторые другие необходимые службы. Вы можете сделать это, выполнив следующие действия:

  1. Сначала нажмите клавишу Windows и удерживайте клавишу X . Нажмите Командная строка (Администратор) .
  2. Выполните следующие команды одну за другой:

    • net stop wuauserv
    • net stop cryptSvc
    • чистые стоповые биты
    • net stop msiserve
    •   C:  Windows  SoftwareDistribution SoftwareDistribution.ol  
    •   C:  Windows  System32  catroot2 Catroot2.old  
    • net start wuauserv
    • net start cryptSvc
    • чистые стартовые биты
    • net start msiserver
  3. Наконец, закройте командную строку.

2. Выполните Чистую загрузку

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

  1. Сначала нажмите клавишу Windows и клавишу R .
  2. Теперь введите msconfig и нажмите Enter .
  3. Затем перейдите на вкладку “Услуги” .
  4. Установите флажок Скрыть все службы Microsoft и нажмите Отключить все .
  5. Теперь перейдите на вкладку “Автозагрузка” и нажмите Открыть диспетчер задач .
  6. Отключить все задачи в диспетчере задач.

Перезагрузите компьютер и проверьте, сохраняется ли проблема.

3. Отключить сторонний антивирус

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

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

Вот вам три простых решения. Обязательно попробуйте все эти решения и сообщите нам, помогли ли они вам исправить ошибку обновления Windows 0x8007007e.

Ошибка 0x8007007e в основном появляется тогда, когда происходит апдейт Windows 10. Иногда ошибка данная ошибка может происходить в результате изменений, переустановки различных программ и сервисов, касающихся конкретно операционной системы.

Ошибка 0x8007007e в Windows 10: 3 лучших способа решения

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

Что же может быть причиной появления на экране сообщения подобного рода. Среди всех возможных причин выделяют две главные:

  1. По каким-либо причинам был поврежден один из файлов Виндовс либо отчет памяти реестра, именно вследствие этого может происходить несоответствие файлов друг с другом или с устанавливаемым файлом, который, по каким-либо причинам, не может подходить установленной ОС, так как предназначен совсем для других характеристик.
  2. Дополнительное, вспомогательное программное обеспечение, которое очень часто может вызывать ошибки, сбои во время работы устройства либо загрузки. Очень часто виной всему выступают антивирусные программы, автоматически останавливающие сам процесс загрузки файла, делается это все в целях безопасности и надежности. Для того, чтобы выйти из сложившейся ситуации вопрос может решаться несколькими способами. Рассмотрим наиболее актуальные из всех возможных.
  1. Одним из самых простых способов устранения ошибки является простое отключение установленной антивирусной программы либо других приложений, вызывающих подвис либо неправильную загрузку файлов. После отключения программы следует удостовериться в том, что метод действительно оказался действенным. Это будет сразу заметно по работе самой ОС. Для того, чтобы отключить расширение необходимо кликнуть на соответствующую иконку, открыть меню опции и найти кнопку Выйти. После чего рекомендуется начать заново обновление системы или установку желаемой программы, сервиса. Если результата никакого не последовало, следует, что причина крылась не в этом и пробовать проверять второй способ.
  2. Необходимо самому вернуть настройки Центра обновлений к дефолтному виду. В тот момент, когда антивирус, установленный в гаджет не источник возникновения ошибки 0x8007007e, то необходимо возвратиться в начальному виду и попробовать установить, переключить различные настройки Центра обновления. Высока вероятность того, что, используя другие настройки, получиться исправить сложившуюся ситуацию. Для реализации данного способа необходима кликнуть WIN-X и найти раздел Командная строка, после чего включить опцию net stop wuauserv, установить параметр net stop cryptSvc, самостоятельно в командной строке ввести комбинацию net stop bits и нажать Ввод. При этом следует обозначить тип настройки net stop msiserver, после чего опять нажать клавишу Ввод. Записывается опция с раздела ren C:WindowsSoftwareDistribution SoftwareDistribution.old, указывается параметр ren C:WindowsSystem32catroot2 Catroot2.old, набирается net start wuauserv и все эти действия подтверждаются простым нажатием на клавишу Enter. Не забудьте выключить консоль. После всех выполненных мероприятий, указанных выше, стоит опять выполнить апдейт операционной системы либо расшифровать какую-либо модификацию. Если применение и данного метода не помогло справиться с насущной проблемой, то самое время испробовать заключительный метод.
  3. Данный способ можно обозначить, как чистая загрузка. Применять его следует только в тех случаях, когда вышеуказанные способы не привели ни к какому результату. Данный способ загрузки всей информации в автоматическом режиме запускает саму операционную систему со всеми ее основными и ключевыми составляющими, грубо говоря, все дополнительные и вспомогательные программы, которые хоть как-то могут повлиять на загрузку либо модификацию, отключаются, в процессе участвуют только самые нужные сервисы.

Для того, чтобы перейти к данному процессу необходимо нажать комбинацию WIN-R, в выскочившем окне вводится команда msconfig, после чего действие подтверждается.

Далее необходимо найти раздел Службы, галочкой отметить пункт Скрыть службы Майкрософт, после чего нажать Отключить все. Теперь можно смело переходить к установке, так как все ненужные и дополнительные программы отключаются.

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

Получить ошибку 0x8007007e вы можете при обновлении до Windows 10, либо же во время установки какого-то обновления для операционной системы Windows. Вместе с ошибкой может быть также приложено сообщение, в котором говориться, что Windows столкнулась с неизвестной ей ошибкой, или же что установка обновления/билда закончилась неудачно.

Что же могло вызвать появление ошибки 0x8007007e? Обычно, выделяют две причины:

  • Стороннее программное обеспечение, которое может помешать процессу обновления. Особенно довольно часто в этом виновато стороннее антивирусное ПО, которое, по каким бы то ни было причинам, блокирует процесс установки обновления.
  • Повреждение файловой системы Windows или записей Реестра, из-за чего и создается конфликт с устанавливаемым обновлением.

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

Как исправить ошибку 0x8007007e при обновлении до Windows 10?

0x8007007e

Метод №1 Отключить стороннее Антивирусное программное обеспечение

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

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

Метод №2 Вручную сбросить компоненты Центра обновления

В том случае, если ваш Антивирус не является виновником ошибки 0x8007007e, то можно попробовать сбросить различные компоненты Центра обновления Windows. Для этого сделайте следующее:

  • Нажмите комбинацию клавиш Win+X и выберите из контекстного меню пункт “Командная строка(администратор)”.
  • Впишите команду net stop wuauserv и нажмите Enter.
  • Впишите команду net stop cryptSvc и нажмите Enter.
  • Впишите команду net stop bits и нажмите Enter.
  • Впишите команду net stop msiserver и нажмите Enter.
  • Впишите команду ren C:WindowsSoftwareDistribution SoftwareDistribution.old и нажмите Enter.
  • Впишите команду ren C:WindowsSystem32catroot2 Catroot2.old и нажмите Enter.
  • Впишите команду net start wuauserv и нажмите Enter.
  • Впишите команду net start cryptSvc и нажмите Enter.
  • Впишите команду net start bits и нажмите Enter.
  • Впишите команду net start msiserver и нажмите Enter.
  • Закройте Командную строку.

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

Метод №3 Чистая загрузка

Что же, если все предыдущие методы не смогли решить проблему с ошибкой 0x8007007e, то можно попробовать выполнить Чистую загрузку. Этот метод загрузки позволит запустить вашу систему только с самыми необходимыми компонентами для ее работы, т.е. стороннее программное обеспечение будет полностью отключено. Для выполнения Чистой загрузки выполните следующие шаги:

  • Нажмите комбинацию клавиш Win+Rчтобы открыть окошко “Выполнить”.
  • Впишите в строку msconfig и нажмите Enter.
  • Переключитесь на вкладку “Службы”.
  • Поставьте галочку напротив опции “Скрыть все службы от Microsoft”.
  • Как только вы скроете все важные службы, нажмите кнопку “Отключить все”. Таким образом вы выключите все сторонние и ненужные для запуска операционной системы службы.
  • Далее зайдите в Диспетчер задач.
  • Перейдите во вкладку Автозагрузка и отключите все приложения, которые будут там находиться.
  • Перезагрузите ваш компьютер.

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

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

На чтение 2 мин. Просмотров 3.1k. Опубликовано 03.09.2019

Ошибка 0x8007007e обычно возникает при попытке загрузить обновления Windows. Это может быть большой проблемой и сделать вашу систему уязвимой и устаревшей, поэтому сегодня мы собираемся показать вам, как это исправить раз и навсегда.

Как исправить ошибку 0x8007007e в Windows 10? Эта ошибка обычно возникает, если возникают какие-либо проблемы со службами Центра обновления Windows. Чтобы это исправить, вам нужно запустить командную строку и перезапустить эти службы. Если это не работает, попробуйте отключить все службы запуска и приложения или временно отключить антивирусную защиту.

Содержание

  1. Как исправить ошибку 0x8007007e Windows Update?
  2. 1. Перезапустите компоненты Центра обновления Windows.
  3. 2. Выполните Чистую загрузку
  4. 3. Отключить сторонний антивирус

Как исправить ошибку 0x8007007e Windows Update?

  1. Перезапустите компоненты Центра обновления Windows .
  2. Выполнить чистую загрузку
  3. Отключить сторонний антивирус

1. Перезапустите компоненты Центра обновления Windows.

Чтобы исправить ошибку обновления Windows 0x8007007e, необходимо перезапустить криптографическую систему, программу установки NMSI, службы BITS, службы обновления Windows и некоторые другие необходимые службы. Вы можете сделать это, выполнив следующие действия:

  1. Сначала нажмите клавишу Windows и удерживайте клавишу X . Нажмите Командная строка (Администратор) .
  2. Выполните следующие команды одну за другой:

    • net stop wuauserv
    • net stop cryptSvc
    • чистые стоповые биты
    • net stop msiserve
    •   C:  Windows  SoftwareDistribution SoftwareDistribution.ol  
    •   C:  Windows  System32  catroot2 Catroot2.old  
    • net start wuauserv
    • net start cryptSvc
    • чистые стартовые биты
    • net start msiserver
  3. Наконец, закройте командную строку.

2. Выполните Чистую загрузку

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

  1. Сначала нажмите клавишу Windows и клавишу R .
  2. Теперь введите msconfig и нажмите Enter .
  3. Затем перейдите на вкладку “Услуги” .
  4. Установите флажок Скрыть все службы Microsoft и нажмите Отключить все .
  5. Теперь перейдите на вкладку “Автозагрузка” и нажмите Открыть диспетчер задач .
  6. Отключить все задачи в диспетчере задач.

Перезагрузите компьютер и проверьте, сохраняется ли проблема.

3. Отключить сторонний антивирус

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

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

Вот вам три простых решения. Обязательно попробуйте все эти решения и сообщите нам, помогли ли они вам исправить ошибку обновления Windows 0x8007007e.

0x8007007e ошибка принтера является основной проблемой, с которой сталкиваются пользователи Windows 10 уже с 2019 года. Она мешает людям печатать документы и другие файлы, говоря что в работе принтера возникла проблема и он не может завершить работу. Фактически, эта проблема представляет большую трудность для многих людей, которые привыкли печатать много бумаги для каких-либо целей. Существует множество причин, которые могут вызывать ошибку 0x8007007e, например, неправильная конфигурация ПО для печати, вредоносное ПО, ошибочные обновления и другие возможные причины. Нам удалось найти и протестировать наиболее эффективные способы борьбы с этой проблемой и вернуть ваш принтер в нормальное состояние.

0x8007007e printer error

0x8007007e ошибка принтера

0x8007007e printer error (german)

0x8007007e ошибка принтера (немецкий)

1. Установите / скачайте свежие обновления

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

  1. Щелкните левой кнопкой мыши на Меню Пуск в нижнем левом углу экрана и выберите Настройки. Или используйте Windows Key + I сочетания клавиш.
  2. Затем выберите Обновление и безопасность.
  3. На левой панели выберите Центр обновления Windows.
  4. Теперь нажмите Проверка наличия обновлений.
  5. Подождите, пока Windows просканирует обновления и установит их, если они будут найдены.
  6. После завершения перезагрузите компьютер и проверьте, сохраняется ли проблема.

Чтобы удалить последние обновления:

  1. Вернитесь в Центр обновления Windows меню.
  2. Найдите и нажмите на Просмотр журнала обновлений , а затем Удалить обновления.
  3. Появится новое окно со списком установленных обновлений.
  4. Выберите обновление по последней дате, щелкните на него правой кнопкой мыши и выберите Удалить.
  5. Перезагрузите компьютер и посмотрите, помогло ли это решить проблему.

2. Обновите драйверы принтера.

Еще одно потенциальное решение, которое может устранить проблему, — это проверка актуальности драйверов принтера. Иногда драйверы могут быть устаревшими и больше не поддерживаться, поэтому рекомендуется обновлять их по мере развития технологий.

  1. Щелкните левой кнопкой мыши на Меню Пуск и выберите Диспетчер устройств.
  2. Найдите Принтер устройство и разверните окно. Щелкните правой кнопкой мыши на каждый адаптер и выберите Обновить драйвер. Иногда неисправные драйверы помечаются желтым треугольником.
  3. Позвольте Windows найти новые драйверы и загрузить их, следуя инструкциям на экране.

Driver Booster start screen

Стартовый экран Driver Booster

Driver Booster scan results

Результаты сканирования Driver Booster

Driver Booster tools section

Раздел инструментов Driver Booster

Драйверы очень важны для правильной реализации любого процесса на вашем компьютере. Они обеспечивают стабильность и поддержание системы в пользу лучшей производительности. Драйверы принтера отвечают за стабильность и безошибочную работу печатающих устройств. Здесь вы можете скачать лучшую утилиту для обновления драйверов — Driver Booster от IObit:

Скачать Driver Booster

3. Найдите и переместите PrintConfig.dll в его исходную папку.

Эксперты обнаружили, что PrintConfig.dll, отвечающий за правильную работу печати, может быть вне своей родной папки. По неизвестным причинам он находится не в том месте, где должен быть. Таким образом, мы его найдем и скопируем обратно в нужное место:

  1. Нажмите Windows + R сочетания клавиш.
  2. В открывшемся окне введите spool и нажмите Enter.
  3. Затем перейдите во вкладку Drivers папку и напишите printconfig.dll в строке поиска вверху справа.
  4. После этого щелкните правой кнопкой мыши на printconfig.dll , а затем выберите Копировать.
  5. Теперь вернитесь в Drivers папку и найдите папку под названием 3.
  6. Вставьте printconfig.dll в нее и перезагрузите компьютер, чтобы решить проблему.

Надеюсь, это решит проблему, так как статистика указывает на наибольшую эффективность этого способа.

4. Сканирование на наличие вредоносных программ.

Мы продолжаем повторять, что вредоносное программное обеспечение всегда было причиной многих проблем. Начиная с потенциально нежелательных программ и заканчивая более ужасными примерами, такими как программы-вымогатели или трояны. Даже вредоносные расширения, установленные в вашем браузере, могут изменить определенные настройки и привести к проблемам с принтером. Поэтому мы советуем вам запустить полную проверку вашей системы. Вы можете сделать это либо с помощью встроенного антивируса от Microsoft, либо с помощью сторонних утилит, таких как Norton Antivirus или Spyhunter 5. Они просты в установке и не занимают много места на вашем диске. Кроме того, вам не нужно платить за полную активацию, потому что она предлагает бесплатное одноразовое удаление. Вот ссылки для их загрузки.

Скачать антивирус Нортон

5. Выполните сканирование с помощью средства проверки системных файлов (SFC).

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

  1. Откройте Командная строка как мы делали в описанном выше методе.
  2. После этого введите sfc /scannow команду и нажмите Enter.
  3. Когда процесс исправления будет завершен, перезагрузите компьютер и проверьте, устранило ли это проблему.

6. Восстановите службы Диспетчера печати.

Последний, но не менее важный метод, который может помочь в решении ошибки 0x8007007e, — это откат служб принтера к конфигурации по умолчанию. Официальное руководство Windows предлагает сделать это в соответствии со следующими шагами:

  1. Введите и откройте services в строке поиска рядом с Меню Пуск.
  2. Выберите Стандартный вкладку, а затем дважды нажмите на Диспетчер печати в списке служб.
  3. Нажмите Stop, а затем OK.
  4. Теперь введите и откройте %WINDIR%system32spoolPRINTERS в строке поиска и удалите все файлы внутри нее.
  5. Вернитесь в Услуги и дважды щелкните по Диспетчер печати снова.
  6. Выберите Начать, наведите на Автоматически в Тип запуска поле, а затем нажмите OK.

Заключение

Вот собственно и все. 6 шагов, которые помогут в решении ошибки принтера 0x8007007e. Если у вас возникают проблемы с печатью даже после выполнения описанных выше шагов, мы рекомендуем повторно подключить или восстановить настройки самого принтера. Дополнительную информацию о том, как это сделать, можно найти в Интернете.

Если вы получили код ошибки 0x8007007E на компьютере Windows 10/8/7, то вы ищете решение, и вы попали в нужное место. Код ошибки 0x8007007E может появиться в следующих трех сценариях, и в этом посте предлагаются некоторые рекомендации, которые могут помочь вам решить вашу проблему:

  1. Запуск Центра обновления Windows
  2. Отправить/получить в Outlook
  3. Подключение к принтеру.

Содержание

  1. Код ошибки 0x8007007E
  2. Ошибка Центра обновления Windows 0x8007007E
  3. Ошибка 0x8007007E в Outlook
  4. Ошибка 0x8007007E в принтере

Код ошибки 0x8007007E

Давайте посмотрим на возможные исправления для трех разных сценариев.

Ошибка Центра обновления Windows 0x8007007E

Windows 10 Update Error Code 0x8007007E возникает, когда обновления не синхронизированы. Это происходит как для автономных компьютеров с Windows 10, так и при подключении к Enterprise. Windows Server управляет обновлениями на всех компьютерах в сети предприятия.

Microsoft указывает, что, когда исправление не установлено перед синхронизацией, это происходит.

Происходит при сбое синхронизации обновления, поскольку у вас не установлено исправление до включения синхронизации обновления. В частности, операция CopyToCache не выполняется на клиентах, которые уже загрузили обновление. Это связано с тем, что службы обновления Windows Server содержат неверные метаданные, связанные с обновлением.

Чтобы это исправить, нам нужно восстановить службы Windows Server Update Services. Для предприятия, если у вас есть несколько серверов WSUS, вам нужно повторить то же самое на каждом сервере. Вы также можете запустить его только на тех серверах, которые синхронизировали метаданные перед установкой исправления. IT Pro может проверить журнал WSUS с помощью консоли администратора WSUS или API. Это может помочь им выяснить, есть ли статус синхронизации метаданных.

1] Удалить содержимое папки распространения программного обеспечения вручную

Windows загрузит все файлы обновлений в эту папку. Он действует как буфер перед установкой на компьютер с Windows 10. Обязательно удалите содержимое папки распространения программного обеспечения (C: Windows SoftwareDistribution DataStore) вручную. Вам придется остановить службы Центра обновления Windows, прежде чем удалять эти файлы. После этого перезапустите службу Windows Update.

Это относится как к автономным компьютерам, так и к корпоративным компьютерам.

2] Запустите средство устранения неполадок Центра обновления Windows .

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

Как только компьютер синхронизируется с сервером обновлений (Microsoft Update Server или Enterprise Server), все необходимые обновления будут установлены в первую очередь. Остальные обновления будут опубликованы позже.

Ошибка 0x8007007E в Outlook

Когда эта ошибка появляется в клиенте Microsoft Outlook, она запрещает пользователю отправлять или получать любые электронные письма. Обычно это происходит по двум причинам – [1], когда конечный пользователь пытается перейти на Windows 10 и [2], если пользователь обновляется до следующей версии Office. Есть два способа решить эту проблему:

1] Восстановить/переустановить клиент Office Outlook:

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

2] Запустите Outlook от имени администратора.

Найдите Outlook в меню программы, затем нажмите Shift + правой кнопкой мыши и выберите «Запуск от имени администратора».

Ошибка 0x8007007E в принтере

Эта ошибка появляется, когда клиентский компьютер пытается подключиться к удаленному принтеру. Вы увидите сообщение об ошибке, в котором будет сказано «Указанный модуль не найден». Также это происходит в среде сервер-клиент.

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

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

HKLM SYSTEM CurrentControlSet Control Print Printers CopyFiles биди.

Чтобы решить эту проблему, просто удалите этот ключ. Отправьте это, когда запрос сделан 64-битным клиентом, больше не будет сказано, что ему нужно скопировать неправильный файл.

Сообщите нам, помогло ли это исправить ошибку 0x8007007E на вашем компьютере.

I downloaded zlib and compiled the library as both Windows 32-bit and Windows 64-bit dll. I now have zlibwapi.dll and zlibwapi64.dll.

The dlls are copied into my application folder and are referenced as follows:

[DllImport(@"zlibwapi.dll",   EntryPoint = "uncompress", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, ExactSpelling = true, SetLastError = false)]
private static extern int uncompress32(
    IntPtr dest,
    ref uint destLen,
    [In(), MarshalAs(UnmanagedType.LPArray)] byte[] source,
    uint sourceLen
);

[DllImport(@"zlibwapi64.dll", EntryPoint = "uncompress", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, ExactSpelling = true, SetLastError = false)]
private static extern int uncompress64(
    IntPtr dest,
    ref uint destLen,
    [In(), MarshalAs(UnmanagedType.LPArray)] byte[] source,
    uint sourceLen
);

At runtime I check whether I’m 32-bit or 64-bit, and call appropriate version.

This works fine if I’m 32-bit, but the 64-bit version gives

Cannot load DLL «zlibwapi64.dll»: Module not found. (HRESULT exception: 0x8007007E)

I’ve found many similar questions on the Internet, and the suggested reason was that the library depends on some other libraries, and it is those libraries that may not be found.
This does not seem to the case:

  • zlibwapi64.dll only depends on Kernel32.dll and MSVCR90.dll. I do have VS2008 C++ runtimes installed, both 32 and 64 bit.
  • When I try to load zlibwapi64.dll from a non-managed C++ application, it loads no problem. It is C# that fails to load it.

I have tried setting absolute path to the 64-bit dll, it does not help.

How do I make it work?

У меня есть библиотека dll с неуправляемым кодом С++ API, который мне нужно использовать в моем приложении .NET 4.0. Но каждый метод, который я пытаюсь загрузить с моей DLL, я получаю:

Невозможно загрузить DLL ‘MyOwn.dll’: указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)

Я прочитал и попробовал решения severa, которые я нашел в Интернете. Ничего не работает.

Я попытался использовать следующие методы:

[DllImport("MyOwn.dll",  CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs((UnmanagedType.I4))]
public static extern Int32 MyProIni(string DBname, string DBuser_pass,
    string WorkDirectory, ref StringBuilder ErrorMessage);

Когда я попытался выполнить эту статью, и когда я запускаю этот пример (из загруженного кода), он запускается без проблем (используемая dll находится в bin/debug папка)

Я скопировал свою dll (вместе со всеми файлами в зависимости от моей папки bin).

Я также пробовал этот подход, но получил ту же ошибку:

[DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")]
[return: MarshalAs(UnmanagedType.I4)]
public static extern  int MyproIni(string DBname, string DBuser_pass, 
    string WorkDirectory, ref StringBuilder ErrorMessage);

Любые предложения?

25 янв. 2012, в 14:11

Поделиться

Источник

15 ответов

Из того, что я помню в Windows, порядок поиска для dll:

  • Текущий каталог
  • Системная папка, C:windowssystem32 or c:windowsSysWOW64 (для 32-разрядного процесса в 64-битной ячейке).
  • Чтение из переменной среды Path

Кроме того, я бы проверял зависимости DLL, хост зависимостей, предоставляемый Visual Studio, может помочь вам здесь, он также может быть загружен бесплатно: http://www.dependencywalker.com

display101
25 янв. 2012, в 13:23

Поделиться

Вы можете использовать инструмент dumpbin для поиска необходимых зависимостей DLL:

dumpbin /DEPENDENTS my.dll

Это расскажет вам, какие DLL файлы должны загружать DLL. Особенно обратите внимание на MSVCR *.dll. Я видел, что ваш код ошибки возникает, когда не установлен Redistributable Visual С++.

Вы можете получить «Распространяемые пакеты Visual С++ для Visual Studio 2013» с веб-сайта Microsoft. Он устанавливает c:windowssystem32MSVCR120.dll

В имени файла 120 = 12.0 = Visual Studio 2013.

Будьте осторожны, чтобы у вас была правильная версия Visual Studio (10.0 = VS 10, 11 = VS 2012, 12.0 = VS 2013…), правильная архитектура (x64 или x86) для вашей целевой платформы DLL, а также вам нужно будьте осторожны в сборке отладки. Отладочная сборка DLL зависит от MSVCR120d.dll, которая является отладочной версией библиотеки, которая устанавливается с помощью Visual Studio, но не с помощью распространяемого пакета.

Anthony Hayward
05 сен. 2014, в 12:00

Поделиться

DLL должна находиться в папке bin.

В Visual Studio я добавляю dll в свой проект (НЕ в ссылках, но «Добавить существующий файл» ). Затем установите для свойства «Копировать в выходной каталог» для dll значение «Копировать, если новое».

Jeremy Thompson
04 март 2016, в 06:58

Поделиться

Попробуйте ввести полный путь к dll.
Если это не сработает, попробуйте скопировать dll в папку system32.

Headpuster
25 янв. 2012, в 13:04

Поделиться

Есть одна очень забавная вещь (и имеет техническую значимость), которая может растратить ваши часы, поэтому подумал о том, чтобы поделиться ею здесь —

Я создал проект консольного приложения ConsoleApplication1 и проект библиотеки классов ClassLibrary1.

Весь код, который делал p/invoke, присутствовал в ClassLibrary1.dll. Поэтому перед отладкой приложения из visual studio я просто скопировал неуправляемую сборку С++ (myUnmanagedFunctions.dll) в каталог bindebug проекта ClassLibrary1, чтобы он мог быть загружен в среду выполнения CLR.

Я продолжал получать

Невозможно загрузить DLL

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

Итак, будьте осторожны, Current Directory в принятом ответе фактически означает Current Directory основного исполняемого файла, с которого начинается процесс приложения. Похоже на очевидную вещь, но иногда это может быть не так.

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

RBT
17 янв. 2017, в 09:21

Поделиться

Убедитесь, что все зависимости вашей собственной DLL находятся рядом с dll или в System32.

Felice Pollano
25 янв. 2012, в 14:04

Поделиться

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

[DllImport(@"C:\mycompany\MyDLL.dll")]

Сказав это; в моем случае с запуском dumpbin /DEPENDENTS, как было предложено @anthony-hayward, и копирование через 32-разрядных версий DLL, перечисленных там в моем рабочем каталоге, решило эту проблему для меня.

Сообщение просто немного вводит в заблуждение, потому что это не «моя» DLL, которая не может быть загружена — это зависимости

Black
14 сен. 2017, в 14:53

Поделиться

У меня была такая же проблема, когда я развернул свое приложение для тестирования ПК. Проблема заключалась в разработке ПК с msvcp110d.dll и msvcr110d.dll, но не на тестовом ПК.

Я добавил «Слиточный модуль Visual Studio С++ 11.0 DebugCRT (x86)» в InstalledSheild, и он сработал. Надеюсь, это будет полезно для кого-то другого.

kakopappa
01 фев. 2016, в 13:55

Поделиться

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

copy $(SolutionDir)DebugMyOwn.dll .

В основном это строка DOS, и вы можете настроить ее на основе того, где строится ваша DLL.

SharpC
18 дек. 2014, в 15:32

Поделиться

Убедитесь, что вы устанавливаете платформу Build Platform Target на x86 или x64, чтобы она была совместима с вашей DLL, которая может быть скомпилирована для 32-битной платформы.

Grantly
22 сен. 2014, в 19:26

Поделиться

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

Chris O
25 янв. 2012, в 14:52

Поделиться

Я столкнулся с той же проблемой, в моем случае у меня было два 32-битных ПК. Один с установленным .NET4.5, а другой был свежим ПК.

Мой 32-битный cpp dll (Release mode build) работал нормально с установленным ПК .NET, но не со свежим ПК, где я получил следующую ошибку

Невозможно загрузить DLL «PrinterSettings.dll»: указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)

в конце концов,

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

Abu Muhammad
25 янв. 2018, в 09:47

Поделиться

Настройка: 32-разрядная версия Windows 7

Контекст: установлен драйвер PCI-GPIB, с которым я не смог связаться из-за вышеупомянутой проблемы.

Короткий ответ: переустановите драйвер.

Длительный ответ:
Я также использовал Dependency Walker, в котором было указано несколько отсутствующих модулей зависимостей. Сразу же я подумал, что это была неудачная установка драйвера. Я не хотел проверять и восстанавливать каждый отсутствующий файл.

Тот факт, что я не смог найти деинсталлятор в разделе «Программы и функции панели управления», является еще одним показателем плохой установки. Мне пришлось вручную удалить пару *.dll в system32 и ключи реестра, чтобы разрешить повторную установку драйвера.

Исправлена ​​проблема.

Неожиданная часть заключалась в том, что не все модули зависимостей были разрешены. Тем не менее, теперь можно указать *.dll интерес.

icernos
20 окт. 2016, в 17:53

Поделиться

Также столкнулся с той же проблемой при использовании неуправляемого файла dll c/c++ в среде С#.

1.Проверил совместимость dll с 32-битным или 64-битным процессором.

2.Проверены правильные пути к папке DLL.bin, system32/sysWOW64 или указанному пути.

3.Проверено, отсутствуют ли файлы PDB (база данных программ). Это видео дает вам лучшее представление о файлах pdb.

При запуске 32-битного двоичного кода C/c++ в 64-битной системе это может произойти из-за несовместимости платформы. Вы можете изменить его из Build> Configuration manager.

Yuresh Karunanayake
17 янв. 2019, в 05:19

Поделиться

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

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

Eugenio Miró
27 май 2015, в 16:09

Поделиться

Ещё вопросы

  • 0Как я могу передать свой заводской результат другому контроллеру?
  • 1Получить дамп потока в браузере JS?
  • 1Использование конкретных номеров для достижения целевого числа
  • 0Я не могу отобразить свой угловой код на моей странице HTML
  • 1ASP.net MVC параметры маршрутизации
  • 1nodejs — дождитесь завершения fs.stat
  • 0Как установить цвет фона в Geany для области видимости PHP, отличной от области видимости HTML?
  • 0пакет udp не получен в QThread
  • 0Правильный способ получения данных из многомерного массива
  • 0Как очистить список, если ответ ложный
  • 1как удалить пользовательскую команду ввода после ответа
  • 0C ++: При удалении динамически размещенного класса удаляются ли частные члены, которых нет в куче?
  • 1openshift — как получить конечную точку веб-сервиса
  • 0Получить параметры динамического выбора
  • 1JavaScript. Ссылка на переменную, которая создается динамически
  • 0Библиотека разметки каскадных сеток
  • 0Элемент таргетинга в jquery
  • 0Почему эта операция не дает мне большей точности?
  • 0Программа перестает работать при вызове функции.
  • 1Как добавить строку в сценарии Java с предварительным увеличением в той же строке
  • 1Спиннер не работает в моем фрагменте Kotlin
  • 1Почему вывод int?
  • 0Добавление анимации слайдов для повторения
  • 1Сохранение перетаскивания позиций
  • 1Фрагмент не полностью отображается в Activity
  • 0spl_autoload_register создавать экземпляры классов
  • 1Storage Access Framework: сохранить права доступа к файлам после отзыва дерева разрешений
  • 1Нумерация страниц с помощью startAt () при заказе ребенком
  • 1Этот код дает мне ошибку несовместимых типов. Он говорит, что требуется сканер, но обнаружил строку. Я не понимаю, как я могу это исправить
  • 1Как использовать asp: BoundField в коде позади
  • 0отправка почты с использованием бесплатной функции codignator, доставляемой как спам
  • 1Как разрешить передачу пустого значения в MVC WebApi для двойного типа
  • 0захват URL-адреса со страницы PHP встроен в
  • 0Как я могу создать новые экземпляры разных классов хорошим способом?
  • 1Функция module.exports не является функцией
  • 0Перерыв на слово в iOS7
  • 0Зеркало сортируемого списка пользовательского интерфейса jQuery
  • 0JQUERY установить clearInterval через время
  • 1Невозможно заставить свинг отменить / повторить работу системы для простой программы рисования.
  • 0Распределение памяти кучи глобального массива в онлайн-платформе судей
  • 0Как генерировать числа со странным рисунком в C ++
  • 1Использование System.Diagnostic.Process.Start и присвоение параметров во внешнем .exe файле
  • 0Как сделать вставку PHP с использованием ключевого слова SQL «Default» для автоматического увеличения первичного ключа
  • 0Переменная поля формы электронной почты
  • 0C ++ Статическая Декларация
  • 0Как использовать миллисекунды в сиквелизировании стандартного поля созданного на месте?
  • 0Невозможно получить доступ к элементу из класса сортировки c ++
  • 0Как использовать PHP монолог
  • 0Выберите Distinct, добавляя кортежи вместе в SQL

Сообщество Overcoder

Понравилась статья? Поделить с друзьями:
  • Hr v honda ошибка коды ошибок
  • Hpsf exe прекратил работу как исправить ошибку
  • Hpmsn101 dll ошибка при печати hp 1536
  • Hpdia0101e обнаружен неожиданный код ошибки
  • Hp фатальная ошибка при установке драйверов