aji
aji

Reputation: 21

cannot find the *.exe (or one of its dependencies) win ce error

I have an application developed for wince 5.0. The EXE works fine most of the time. But if the testers do a warmboot of the pocket pc and run the EXE, they are getting an error.

Cannot find *.exe( or one of its components). Make sure the path and file name are correct and that all the required libraries are available.

If they click "ok" for the error message the EXE works fine. We can't release the application with this error message. Does anybody know why this is happening and how to fix it?

Upvotes: 1

Views: 2038

Answers (1)

josef
josef

Reputation: 5959

I can only imagine that the exe uses an API or DLL that is not yet ready after a reboot. Some kind of racing conditions.

When Windows CE/Mobile starts up not all APIs and DLLs are instantly loaded. The StartUp process inits several drivers and processes in parallel. If an application that depends on another API/DLL is started automatically it should check if all needed resources are ready. See also https://msdn.microsoft.com/en-us/library/ms885686.aspx for isAPIready().

Another possible issue may occur if the exe is autostarted from external memory card (or a secondary volume). The memory driver may not already loaded completely and the exe can not be found.

The above assumes you are starting the exe from init or StartUp. The error message normally comes up if an process tries to load a DLL (external runtime) or API that is not found by the OS.

Upvotes: 1

Related Questions