Delphi ошибка при запуске приложения 0xc000007b

The main problem, of course, is that a DLL file is missing, or, even more likely, corrupt. If this is the case, then I have some pretty good ideas (especially if you’ve downloaded and installed a DLL manually!)…

TLDR: Delete every manually copy/pasted DLL you’ve done, uninstall old redistributable installs, and reinstall new redistributables for both 32-bit and 64-bit installs.

What To Do

This solution of copying/pasting missing DLL’s into system32, etc., used to work since I can remember in the 1990’s, but it doesn’t seem to work anymore (2020). So if you run into this problem recently, I suggest:

  • Within windowssystem32 and windowsSysWOW64, delete all files that match ms*.dll, that the operating system will allow you delete as admin.
  • Uninstall all Visual C++ Redistributables that you have with Windows. This prevents the «You already have this!» dialogue showing up upon reinstall, as detailed in the next step when we re-install.
  • Reinstall the 2015-2019 Visual C++ Redistributable from a regularly available download site. If this does not work, download and install the others, but personally, the 2015-2019 covered everything for me. Regardless of your machine, install both x32 and x64 packages! (All Download Links: Collected VC++ Download Links; MSVCR120.dll Fix; MFC140U.dll Fix.)

How You Know It’s Working

There’s a lot of variation in coders experiencing this, so, the idea that there’s one single, possible solution is often discarded, but let’s be positive!

  • If deleting the matching ms*.dll files worked, then you will no longer get an error about error code 0xc000007b. Instead, you’ll get a message about a missing .dll. This tells you that you’re hitting the right code path!
  • If installing the redistributable works, then certain popular, DLL files should appear in the above-mentioned system32 and SysWO64 folders. For instance: MSVCR120.dll, MSVCR140.dll, MSVCR100.dll, MSVCP100.dll, MSVCP120.dll, MSVCP140.dll, and friends.

Last, Possible Best Chances

Sometimes things don’t work according to plan (as we all in the Windows world know). You can also try the following!

  • Open the «Turn Windows Features on or off» tab in Windows (supported in Windows 8-10). Uncheck the .NET Framework installations. You’ll see a small installation go by.
  • Restart the system. Go to the above feature again, recheck .NET Framework, and click «okay». If this works, you’ll see a «installing and updating .NET framework» message that takes maybe a minute or so to go by. Once this is done, I recommend a reboot again.

Good luck!

Содержание

  1. Описание проблемы
  2. Решение
  3. Проблемы с файлами dll в DirectX или C++
  4. Проблема с патчем или пиратской программой
  5. Исключение декомпрессии
  6. Неправильный exe-файл был изменен вирусом
  7. Несовместимость игры с текущей системой
  8. Режим отладки программного обеспечения
  9. Ошибка 0xc000007b на синем экране
  10. Решение
  11. Ошибка 0x0000007b появляется на синем экране
  12. Драйвер видеокарты обновлен?
  13. Вы импортировали информацию реестра?
  14. Англоязычная директория
  15. Решение
  16. Включено ли прямое ускорение?
  17. Вы установили PhyX?
  18. Режим совместимости
  19. Ваша игра для Windows Live установлена?
  20. Установлен ли ваш Microsoft .NET Framework?
  21. Замена операционной системы
  22. Аппаратное обеспечение
  23. Часто задаваемые вопросы

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

0xc000007b означает, что код ошибки возникает из-за ненормального вызова файла dll. Часто игры или программы, которые мы планируем запустить, используют библиотеки и компоненты распространенных ПО — DirectX (часто версии 9.0) и распространяемый пакет Visual C++.

Описание проблемы

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

Ошибка 0xc000007b в Windows

Ошибка при запуске приложения (0xc000007b). Для выхода из приложения нажмите кнопку «ОК».

Решение

Часто для решения проблемы 0xc000007b, нужно установить последнюю версию компонентов DirectX и C++. Это правда, что обновление файлов один за другим поможет устранить уведомления ошибки, пользователи, которые уже искали Visual C в Интернете, наверняка знают, что их существует много версий.

Переходите по ссылке для скачивания DirectX и C++ или испробуйте все способы решения данной проблемы. Выберите необходимые вам и устанавливайте на свой ПК.

Переустановка новых версий не помогла?

Проблемы с файлами dll в DirectX или C++

Эта ситуация является наиболее распространенной. Dll-файлы компонентов DirectX или компонентов C++ в вашей системе все еще имеют аномалии. Скорее всего, версия утилиты была не полная или не последняя. Новый билд обычно обновляет пакет данных и улучшает возможность исправления 0xc000007b. Если какие-то файлы постоянно не восстанавливаются, то, скорее всего, причина в том, что файлы заняты. Рекомендуется перезагрузить компьютер и закрыть все бесполезные программы (включая антивирус, QQ, браузер и завершить процесс QQProtect.exe в диспетчере задач и т. д.).

Проблема с патчем или пиратской программой

Причина в том, что пиратское ПО для взлома изменяет некоторую информацию в исходном файле exe/dll. Игра или программное обеспечение имеют большой размер, а патч для взлома относительно невелик. Обычно, заменив exe или steam_api.dll и другие файлы, злоумышленники производят нарушения, изменив несколько МБ. Так что если причина в этом, то рекомендуется повторно скачать ваш патч, проверив контрольные суммы для исключения сторонних встроек. Если dll другой, то перейдите по ссылке, чтобы загрузить любой необходимый.

Исключение декомпрессии

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

Решение

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

Распаковка приложения или игры из архива в Windows

Неправильный exe-файл был изменен вирусом

Эта ситуация имеет определенную вероятность возникновения, и некоторые пользователи также сталкивались с этой проблемой. В похожем случае в системе есть вирус, который заражает exe-файл. Поэтому он не может запуститься. Этот тип вируса может изменять только исполняемые файлы без цифровой подписи. Поэтому средство восстановления DirectX на вашем компьютере и некоторые небольшие программы в Интернете могут не работать. Однако собственные программы Windows и некоторые с цифровыми подписями от крупных компаний все еще могут нормально функционировать. Если ошибка 0xc000007b возникает во многих программах на вашем компьютере, скорее всего, это так.

Решение

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

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

Защита от вирусов и угроз в Windows

Несовместимость игры с текущей системой

Пользователи Windows 7 получают ошибки 0xc000007b при запуске некоторых последних игр (особенно игр 2020 года и более поздних версий).

Решение

  • Пожалуйста, зайдите на официальный сайт игры (или steam).
  • Посмотрите, что написано в графе операционная система в минимальной конфигурации, необходимой для игры.
    • Сравните с той которая у вас. Если Необходимо обновить ОС, установите необходимую, например Windows 11 последней конфигурации с нашего ресурса.
  • Кроме версии системы, также советуем проверить требования к оборудованию.
    • Кроме покупки нового качественного «железа» выхода нет.

Режим отладки программного обеспечения

Если вы используете Visual Studio и другое программное обеспечение для разработки программ, особенно в режиме отладки, появится ошибка 0xc000007b. Её уже не решишь простым обновлением Компонентов Диеркс и C++.

  1. Попробуйте найти параметр «SATA Mode Selection» в интерфейсе BIOS и измените режим «AHCI» на режим «iDE».
  2. Для этого при включении ПК нажмите на клавишу «del, F2,F9,F12 (в зависимости от того, какой клавишей запускается загрузчик — BIOS именно у вас. Это будет на секунду написано на экране)».
  3. Перейдите в раздел «Advaced».
  4. Затем найдите «SATA Configuration». Иногда этого пункта нет, в сразу можно увидеть «SATA Mode Selection».
  5. Поменяйте значение на «iDE». Как показано на скриншотах из разных загрузчиков в галерее ниже.
  6. В командной строке орт имени администратора, введите команду «sfc /scannow». Подождите сканирования и восстановления. Это действие будет выглядеть как на скриншоте ниже галереи.

SATA Configuration в BIOS 1 SATA Configuration в BIOS 2 SATA Configuration в BIOS 3 SATA Configuration в BIOS 6 SATA Configuration в BIOS 5 SATA Configuration в BIOS 4 sfc /scannow в командной строке Wndows

Ошибка 0xc000007b на синем экране

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

Решение

  • Предлагается переустановить систему напрямую, чтобы решить эту проблему.

Ошибка 0x0000007b появляется на синем экране

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

  • Например, если у вас изначально была IDE, а вы зашли в биос и изменили его на AHCI, то перезапуск обязательно приведет к синему экрану 0x0000007b.
  • Также возможно, когда вы не проявляли инициативу по изменению режима жесткого диска, а обновили BIOS и изменили режим ЖД по умолчанию.

Решение

  • При включении ПК нажмите на клавишу «del, F2,F9,F12 (в зависимости от того, какой клавишей запускается загрузчик — BIOS именно у вас. Это будет на секунду написано на экране)»
  • Перейдите в раздел «Advaced».
  • Затем найдите «SATA Configuration». Иногда этого пункта нет, в сразу можно увидеть «SATA Mode Selection».
  • Поменяйте значение на «iDE». Как показано на скриншотах из разных загрузчиков в галерее ниже.

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

SATA Configuration в BIOS 1 SATA Configuration в BIOS 2 SATA Configuration в BIOS 3 SATA Configuration в BIOS 6 SATA Configuration в BIOS 5 SATA Configuration в BIOS 4

Драйвер видеокарты обновлен?

Если это не последняя версия драйвера или вы не знаете, является ли она крайней.

Решение

  • Перейдите на официальный веб-сайт вашей видеокарты, чтобы загрузить и установить ее.
  • Либо наберите в поисковике Windows «Диспетчер устройств».
  • В открывшемся окне, выберите «Видеоадаптеры».
  • Кликните ПКМ и в выпадающем меню отройте «Свойства».
  • Внутри щелкните по вкладке «Драйвер».
  • Нажмите «Обновить».

Обновление драйвера видеокарты в Windows

Вы импортировали информацию реестра?

Вообще говоря, версия игры имеют один или несколько файлов информации реестра с расширением *.reg. Эти документы необходимо показать для правильной работы приложений. Особенно после переустановки компьютера.

Решение

Запустите его, чтобы импортировать информацию. В противном случае может быть невозможно запустить игру.

Часто все очень просто и достаточно кликнуть два раза левой кнопкой мыши и дать разрешение на изменение реестра.

Англоязычная директория

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

Решение

  • Например, измените название пути на «C:/game/…».
  • Вы должны убедиться, что пользователь Windows, которого вы используете в настоящее время, именован английскими символами.
    • Иначе рекомендуется создать нового пользователя.

Кириллица в пути Windows

Включено ли прямое ускорение?

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

Решение

  • Зажимаем «Win+R».
  • Вводим «dxdiag».
  • Переходим в вкладку «Дисплей».
  • Находим поле «Возможности DirectX».
  • Все должно быть включено так, как на картинке ниже.

Если что то выключено, то проблема скрывается в в следующем:

  • Битые драйвера;
    • Проверьте в «Диспетчере устройств» и обновите все драйвера через меню «Свойства».
  • Не новый Дирекс;
    • Обновите до версии указанной в системных требованиях.
  • Ускорение железа;
  • Сторонние программы для ускорения;
  • Электронные компоненты перестали работать или не соответствуют требованиям.

Средство диагностики DirectX в Windows

Вы установили PhyX?

Многие игры теперь поддерживают PhyX, хотя только NVIDIA могут его включать.

Ошибка PhyX в Windows

Решение

Для пользователей видеокарт ATI для запуска игры необходимо всего лишь установить драйверы PhyX. Сам physxloader.dll подставится автоматически при установке драйвера.

  • Иногда physxloader.dll нужно скопировать в корень с игрой, заменив уже существующий и в системную папку «C:WindowsSystem32».
  • После чего это «*.dll» необходимо зарегистрировать, для этого:
    • Нажмите «Win+R».
    • Введите «regsvr32.exe physxloader.dll».

Выполнение команды regsvr32.exe physxloader.dll в Windows

Режим совместимости

Некоторые старые игры не запускаются. Потому что при программировании не учитывались особенности новой версии Windows. Поэтому можно попробовать запустить игру в режиме совместимости.

Решение

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

Режим совместимости в Windows

Ваша игра для Windows Live установлена?

Сейчас многим старым играм нужна поддержка Game For Windows Live, и их надо установить (не запускать через ОЗУ, как раньше), чтобы играть. Иначе в некоторых системах будет указано, что файл xlive.dll отсутствует, в то время как в других системах будет указано 0xc000007b. Так что Game For Windows Live нельзя игнорировать.

Установлен ли ваш Microsoft .NET Framework?

В оригинальные Vista, и в Windows 7 встроен .NET Framework, а вот о пиратской версии сказать сложно. Взломки часто кастрируют некоторый контент, и никто не может узнать, как это повлияет на структуру системы. Так что если ваша система не официальная, то вы можете попробовать установить Фреймворк самостоятельно.

Решение

Кликните на ссылку и скачивайте .NET Framework с нашего сайта или испробуйте все способы из приведенной инструкции и перейдите на страницу загрузки платформы внизу инструкции.

Net Framework для Windows

Замена операционной системы

По запросам заметно, что эта проблема очень распространена на 64-битных компьютерах, и в редких случаях она встречается и на системах x32. Поэтому рассмотрите возможность перехода на 32-битную ОС. Вероятность этой проблемы будет значительно снижена.

Аппаратное обеспечение

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

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

Часто задаваемые вопросы

Игры, которые я запускаю, имеют спецэффекты DirectX 11, будет ли это иметь какое-то отношение к Дирекс 9?

На самом деле, ради совместимости приложений компании часто разрабатывают игрушки на основе 9-ой версии, а затем добавляют специальные эффекты от 10-ки и 11-ой.

Есть ли проблема с DirectX, которая влияет на последние игры?

Да, дело в том, что Windows старых версий поддерживают самые основные компоненты Дирекс, а игре часто нужны более продвинутые (такие как d3dx9_42.dll, xinput1_3.dll…). В системе отсутствуют эти ключевые файлы, из-за чего игра не запустится или появится ошибка 0xc000007b.

Некоторые люди могут спросить: я уже установил DirectX 9.0 и C++, но они все равно не работают?

Здесь кроется важная вещь: 32-битные системы должны устанавливать 32-битные файлы библиотек DirectX и C++, а 64-битные системы должны устанавливать файлы библиотек с типом разрядности данных как x32-а, так и x64-е бита, что является ключом к решению этой проблемы.

montukxd

8 / 8 / 3

Регистрация: 21.02.2014

Сообщений: 71

1

02.12.2014, 21:20. Показов 3367. Ответов 2

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Пытаюсь запустить любой исходник из примеров bass24 выходит ошибка — «Ошибка при запуске приложения (0xc000007b). Для выхода из приложения нажмите кнопку «ок».
bass.dll и bass.pas лежат рядом с exe’шником.

Вот код с помощью которого я пытаюсь воспроизвести онлайн поток —

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.Button1Click(Sender: TObject);
begin
BASS_Init(-1, 44100, 0, Handle, nil);
BASS_SetConfig(BASS_CONFIG_NET_PLAYLIST, 1);
chan := BASS_StreamCreateURL ('http://radio.eve-play.ru/ruseveradio.m3u',0,0,nil,0);
BASS_ChannelPlay(chan, false);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
if Chan <> 0 then
    begin
      bass_channelStop(Chan);
      chan:=0;
    end;
end;

в uses bass Тоже написан.
windows7, delphi xe5.

Помогите плз.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

02.12.2014, 21:20

Ответы с готовыми решениями:

Bass.dll.net — Ошибка инициализации при обращении к Bass.dll
Создаю тестовое консольное приложение в точности по гайду:…

Куда закинуть bass.dll,bass.h,bass.lib
Ребят, пересмотрел темы на форуме, гуглил, толком ничего не нашел. Собственно такая проблема, вот я…

Ошибка 0xc000007b
При открытии Origin вылезает ошибка 0xc000007b, такое было замечено при открытии пиратской ГТА5, по…

Ошибка 0xc000007b
Релизнул прогу разными версиями 5.6.2 — 5.8.0, после запуска exe выдавало ошибку, что отсутствует…

2

Zombi_sib

378 / 331 / 89

Регистрация: 26.05.2010

Сообщений: 750

03.12.2014, 16:20

2

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, bass, Vcl.StdCtrls;
 
type
  TForm2 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
  chan: HSTREAM;
implementation
 
{$R *.dfm}
 
procedure TForm2.Button1Click(Sender: TObject);
var
 url:AnsiString;
begin
 
  BASS_Init(-1, 44100, 0, Handle, nil);
  BASS_SetConfig(BASS_CONFIG_NET_PLAYLIST, 1);
  chan := BASS_StreamCreateURL (PAnsiChar( AnsiString('http://radio.eve-play.ru/ruseveradio.m3u')),0,0,nil,0);
 
    BASS_ChannelPlay(chan, FALSE);
    if chan = 0 then
 begin
   ShowMessage('Нет соединения с сервером!');
   Exit;
end;
end;

у меня работает посмотри чем отличается



0



montukxd

8 / 8 / 3

Регистрация: 21.02.2014

Сообщений: 71

03.12.2014, 19:15

 [ТС]

3

[dcc32 Fatal Error] bass.pas(835): F1026 File not found: ‘C:Users****DesktopradioBASSFX.dcu’

Добавлено через 21 минуту
Сделал, теперь ругается вот так — [dcc32 Error] Unit1.pas(36): E2010 Incompatible types: ‘PWideChar’ and ‘PAnsiChar’

Добавлено через 14 секунд
а именно на строчку — chan := BASS_StreamCreateURL (PAnsiChar( AnsiString(‘http://radio.eve-play.ru/ruseveradio.m3u’)),0,0,nil,0);

Вот весь мой код —

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, bass, Vcl.StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  chan: HSTREAM;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
 url:AnsiString;
begin
  BASS_Init(-1, 44100, 0, Handle, nil);
  BASS_SetConfig(BASS_CONFIG_NET_PLAYLIST, 1);
  chan := BASS_StreamCreateURL (PAnsiChar( AnsiString('http://radio.eve-play.ru/ruseveradio.m3u')),0,0,nil,0);
 
    BASS_ChannelPlay(chan, FALSE);
    if chan = 0 then
 begin
   ShowMessage('Нет соединения с сервером!');
   Exit;
end;
end;
 
end.



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

03.12.2014, 19:15

Помогаю со студенческими работами здесь

Ошибка 0xc000007b
Здравствуйте, у меня при запуске приложения(python3) выскакивает окно с ошибкой 0xc000007b, гуглил…

Ошибка 0xc000007b
Всем здрасьте !
У меня есть проект скомпилированный в Visual Studio 2013 и который нормально…

Ошибка 0xc000007b
Добрый день. Помогите найти проблемный файл, пожалуйста.
Вот лог:
И скажите, чей это файл….

ошибка 0xc000007b
Создал программу в Visual Studio 2012

#include &lt;iostream&gt;

using namespace std;

int…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

3

Topic: what is Erro Code 0xc000007b ?  (Read 6409 times)

Hi all,

I wrote a application on win7/32bit system. It works well. Then I copied the source files to a win7/64bit system and compiled it to run. But after it’s smooth compling and linking, the application did not run. A dialog showed to say «Application can not run (0xc000007b), please click «ok» to close it».

I checked the project configuration and the «Target OS», «Target CPU Familiy» are both «Default». And I can see a folder named «libx86-64-win64» was created automatically under my source file folder. Everything looks normal, but the application didn’t run, even when I double click the generated .exe file.

How to solve this problem?

Roy


Logged

I use Win10 + Lazarus 2.2.0 + FPC 3.2.2. All 64bit.


Usually this means you should run the application with elevated rights, e.g. administrator. At least that’s where I encountered it the most.
Plz report back if that works. In such a case you can add a manifest resource to your application with the requested rights, so you don’t need to run it as administrator explicitly.

There are more causes, though:

1. This error occurs due to lack of some system or program files that include DDL files.
2. It also occurs when the file could be damaged, to run the application or the software that can’t start correctly.
3. At the same time, it may also happen due to virus infection, registry errors, etc.
4. There are chances to see this type of errors 0xc000007b error while you are not running the software as administrator.
5. Outdated Microsoft .NET Framework or Microsoft Visual C++ is one of the reasons to cause this type of error.
6. Even when you migrate from Windows 7 to Windows 8, 8.1 or Windows 10, then you see this error when launching the old applications.
7. However, there is also another reason that may cause this Error Code 0xc000007b that include interrupted installation of updates, the incorrect shutdown of the computer, as well as deletion of the program directly from the installation folder.
8. Wrong dll version, although that usually comes with a more descriptive error.
9. Sometimes by this error codes effect may differ from one app to other and hence, it may block access to apps like Skype, Messenger, Microsoft Office package and even any game.

« Last Edit: July 30, 2019, 07:47:13 am by Thaddy »


Logged

I actually get compliments for being rude… (well, Dutch, but that is the same)


It seems not related to the administrator right, but something related to a 32bit dll file I used in the application. I do not have a 64 bit version or the source file of that dll file (writen in C language). Any solution?


Logged

I use Win10 + Lazarus 2.2.0 + FPC 3.2.2. All 64bit.


I edited my answer above to describe all possible causes.
Note you can not use a 32 bit dll with 64 bit applications (without thunking, that is), but I expect you already understood that.
OTOH this  «libx86-64-win64»  suggests you compiled for 64 bit.  You should compile for 32 bit. (Isn’t it  «libx86_64-win64» ? note the underscore)

« Last Edit: July 30, 2019, 07:54:40 am by Thaddy »


Logged

I actually get compliments for being rude… (well, Dutch, but that is the same)


It seems not related to the administrator right, but something related to a 32bit dll file I used in the application. I do not have a 64 bit version or the source file of that dll file (writen in C language). Any solution?

From MSDN

0xC000007B

STATUS_INVALID_IMAGE_FORMAT

{Bad Image} %hs is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support.

There is probably a setting incompatible with another one that causes the compiler to produce an executable the Windows loader will not load.

From the description you provided in your original post, the likely contradictory setting is the «Target Processor», change that to «default» as well, recompile and try again.

ETA:

Another possibility is that your 64bit program is trying to load a 32bit dll (the dll you mention is written in C), in that case, just make sure the dll being loaded matches the bitness of your executable.

Also, you are correct that, that error has nothing to do with elevated rights or administrator rights.

« Last Edit: July 30, 2019, 08:02:58 am by 440bx »


Logged

FPC v3.0.4 and Lazarus 1.8.2 on Windows 7 SP1 64bit.


« Last Edit: July 30, 2019, 08:31:16 am by Thaddy »


Logged

I actually get compliments for being rude… (well, Dutch, but that is the same)


It can be caused if the image or one of the components used (dll, ocx) has insufficient rights to run. That would make it an invalid image for user mode context.

Do you have an article from a credible source to support that statement ? … if you do, I’d like to read it.


Logged

FPC v3.0.4 and Lazarus 1.8.2 on Windows 7 SP1 64bit.


« Last Edit: July 30, 2019, 08:44:42 am by Thaddy »


Logged

I actually get compliments for being rude… (well, Dutch, but that is the same)


I do have to give you credit for providing some links that support what you stated.


Logged

FPC v3.0.4 and Lazarus 1.8.2 on Windows 7 SP1 64bit.


Found this when searching for an explanation to the erroir code I am getting when building then running the examples from this github IPC project, which uses a unit provided with FPC itself.

I have started a thread on using IPC communication on this forum. The replies steered me to the GitHub project linked above.

So I retrieved the project and built its target dll and then the demo-lazarus projects with a simple client and a server.
All using Lazarus 2.2.4/Fpc 3.2.2 on Windows 10 x64.

No matter what I do I get the error 0xc000007b when I try to start the server but not the client, both using the same dll compiled as step 1.

I wonder if there was a solution to this problem found in this thread?


Logged


Bo Berglund
Sweden


No matter what I do I get the error 0xc000007b when I try to start the server but not the client, both using the same dll compiled as step 1.

I wonder if there was a solution to this problem found in this thread?

You implicity gave the answer yourself: rights, security. A client needs less rights, a server needs more rights.
Simple.

Also, a server needs to be up to date, a client may lag behind.
Protocols.

Came to mind a really stupid question this week, which got really nice — patient — answer.
( I will ask Remy to drop anything below TLS 1.2 anyway. I have no patience)

« Last Edit: March 31, 2023, 06:25:35 pm by Thaddy »


Logged

I actually get compliments for being rude… (well, Dutch, but that is the same)


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

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

Причины возникновения

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

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

В зависимости от причины, которая приводит к сбою, применяется определенный метод решения проблемы. Часто возникает данная ошибка при запуске приложения. Например, часто мешает запуску itunes .

Как исправить ошибку 0xc000007b при запуске игры или программы? Методы решения

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

Метод 1

Проблемы совместимости приложения вызваны конфликтом между операционной системой пользователя и запускаемым приложением, когда программа или игра создана для одной операционной системы, а устанавливается на другую. Например, игра предназначена для Windows XP, но установка и запуск производится на Виндовс 7. Тогда идет речь о причине, связанной с неполадками совместимости.

Исправить проблему легко: правой кнопкой на исполняемом файле(.exe) приложения — строка “Свойства” — вкладка “Совместимость” — поставить галочку рядом с надписью “Запуск в режиме совместимости” — выбрать из списка нужный вариант. Если не помогает один, то перепробовать все, что имеется в списке.

 Совместимость версий ОС

  Метод 2

Ограниченный доступ и необходимость исключительных полномочий администратора приложением может проявляться по-разному, в том числе и данной ошибкой. Пробуйте запустить приложение от имени администратора. Для этого: правый клик на том же файле — строка “запуск от имени администратора” — подтвердить запрос на выполнение.

 Запуск от имени администатора

 Метод 3 (самый распространенный)

Проблема возникает именно при повреждении архивов и файлов библиотек, необходимых для исполнения алгоритма запуска. В данном случае это — неисправности, конфликты, отсутствие файлов Visual C++, DirectX, .net Framework. Указанные библиотеки служат средством запуска большинства приложений, поэтому вероятность, что ошибка вызвана проблемой внутри них, стремится к 100%.

Для решения нужно установить/обновить отсутствующие библиотеки. Хочется отметить, что нужно устанавливать не самую последнюю версию, а все. Например библиотека Visual C++, должна быть установлена от 2005 версии до 2015. (Более подробнее на самой странницы с библиотекой). Также, обратите внимания, что библиотеки могут уже быть установленными, но работают не правильно из-за отсутствующих или поврежденных файлов. В таком случаи, рекомендуем удалить все версии через «Программы и компоненты», и установить всё снова.

 Программы и компоненты

Метод 3 стоит использовать, если возникла ошибка в игре Teamspeak 3, – это рекомендация производителя по исправлению. В этом случае также можно попробовать установить другую версию приложения, например, не 64х-, а 32х-разрядную.

Метод 4

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

Метод 5

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

Метод 6

Повреждения файлов драйверов приводят к подобным ошибкам. Отдельное внимание уделить ПО на видеокарту. Пробуйте обновить драйвера на сайте производителя. Если не помогло, удалите драйвер и установите его “чистым” способом. Для этого нужно предварительно скачать драйвера на Nvidia или ATI Radeon, в зависимости от производителя и модели видеокарты.Обновление драйверов

Заключение

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

Если у Вас остались вопросы, можете задавать их в форме комментариев чуть ниже

Видео: Ошибка при запуске приложения 0xc000007b — как исправить?

 

  • Delphi ошибка unsatisfied forward or external declaration
  • Delphi ошибка stack overflow
  • Delphi ошибка list index out of bounds 0
  • Delphi ошибка for loop control variable must be simple local variable
  • Delphi ошибка e2033 types of actual and formal var parameters must be identical