Fix "the application was unable to start (0xc000007b)" in windows

I have a client/hệ thống app which I have been developing on a single PC. Now it needs two serial ports, so I borrowed a PC from a frikết thúc.

You watching: Fix "the application was unable to start (0xc000007b)" in windows

When I build my app & try lớn run or debug it (whether in the Delphi IDE or from Windows File manager), it errors "The application was unable to lớn start correctly (0xc000007b)".

Googling doesn"t bring up much, but seems lớn indicate that this is nothing Delphi specific & happens with other apps. It seems to lớn be caused by calling inlớn a 32 bit DLL from a 64 bit ứng dụng or vice versa.

both PCs are Windows 7, 64 bitboth have sầu Delphi Xe2 starter edition which can only handle 32 bitsThe phầm mềm runs fine on my PC, but not on my friend"sOther Delphi apps run just fine on both PCs

Can anyone give me a hint as to how lớn track this down?


windows delphi 64-bit
Share
Improve sầu this question
Follow
edited Dec 8 "16 at 11:05
Mawg says reinstate Monica
asked May 8 "12 at 3:08
*

Mawg says reinstate MonicaMawg says reinstate Monica
35.4k9292 gold badges285285 silver badges515515 bronze badges
7
| Show 2 more comments

19 Answers 19


Active Oldest Votes
137
To start, I would suggest to chạy thử whether there is a problem between your application & its dependencies using dependency walker


Share
Improve sầu this answer
Follow
answered May 8 "12 at 5:38
*

moxmox
5,76422 gold badges20đôi mươi silver badges3232 bronze badges
9
| Show 4 more comments
56
A load time dependency could not be resolved. The easiest way lớn debug this is khổng lồ use Dependency Walker. Use the Profile option to lớn get diagnostics output of the load process. This will identify the point of failure và should guide you to lớn a solution.

The most common cause of this error is trying khổng lồ load a 64 bit DLL into a 32 bit process, or vice versa.


Share
Improve sầu this answer
Follow
edited May 8 "12 at 8:06
answered May 8 "12 at 7:09
*

David HeffernanDavid Heffernan
576k4040 gold badges983983 silver badges13981398 bronze badges
1
Add a bình luận |
12
It is a missing dll.Possibly, your dll that works with com ports have an unresolved dll dependence. You can use dependency walker và windows debugger. Chechồng all of the mfc library, for example. Also, you can use nrCommlib - it is great components khổng lồ work with com ports.


Share
Improve this answer
Follow
answered May 8 "12 at 11:58
*

Alex.kononovAlex.kononov
12122 bronze badges
Add a phản hồi |
12
I tried all the things specified here và found yet another answer. I had to lớn compile my application with 32-bit DLLs. I had built the libraries both in 32-bit và 64-bit but had my PATH phối lớn 64-bit libraries. After I recompiled my application (with a number of changes in my code as well) I got this dreaded error và struggled for two days. Finally, after trying a number of other things, I changed my PATH khổng lồ have sầu the 32-bit DLLs before the 64-bit DLLs (they have sầu the same names). And it worked. I am just adding it here for completeness.


Share
Improve sầu this answer
Follow
answered Jul 29 "14 at 17:23
*

unxnutunxnut
7,64622 gold badges2323 silver badges3636 bronze badges
Add a comment |
9
It has been mentioned in earlier answers that using dependency walker is the way khổng lồ go, in my case (my application keeps failing with the error code), dependency walker showed a few dll that are NOT relevant!

Finally figured out that I can run profiling by going to lớn "profile" thực đơn & it will run the application and stop at the exact dll that"s cause the problem! I found out a 32bit dll was picked because of path & fixed it.

*


Share
Improve sầu this answer
Follow
answered Jul 25 "16 at 20:10
pktCoderpktCoder
1,00711 gold badge1414 silver badges3131 bronze badges
0
Add a bình luận |
6
I experienced the same problem developing a client-server phầm mềm using Microsoft Visual Studio 2012.

If you used Visual Studio to lớn develop the tiện ích, you must make sure the new (i.e. the computer that the software was not developed on) has the appropriate Microsoft Visual C++ Redistributable Package. By appropriate, you need the right year và bit version (i.e. x86 for 32 bit & x64 for 64 bit) of the Visual C++ Redistributable Package.

See more: Những Bài Hát Mừng Đám Cưới Có Giai Điệu Ngọt Ngào, Lãng Mạn Nhất

The Visual C++ Redistributable Packages install run-time components that are required to lớn run C++ applications built using Visual Studio.

Here is a links to the Visual C++ Redistributable for Visual Studio 2015 .

You can kiểm tra what versions are installed by going to lớn Control Panel -> Programs -> Programs & Features.

Here"s how I got this error and fixed it:

1) I developed a 32 bit application using Visual Studio 2012 on my computer. Let"s call my computer ComputerA.

2) I installed the .exe cộ and the related files on a different computer we"ll Điện thoại tư vấn ComputerB.

3) On ComputerB, I ran the .exe pháo and got the error message.

4) On ComputerB, I looked at the Programs & Features và didn"t see Visual C++ 2012 Redistributable (x64).

5) On ComputerB, I googled for Visual C++ 2012 Redistributable và selected và installed the x64 version.

See more: Nắm Vững Các Ký Hiệu Trên Máy Ảnh Canon, Các Chế Độ Chụp Thường Gặp Trên Máy Ảnh

6) On ComputerB, I ran the .exe pháo on ComputerB và did not receive sầu the error message.