From: Alexander Grigoriev on
See if the application is linked to new COMCTL32.dll, or SHELL32.

<d2walter(a)gmail.com> wrote in message
news:1163055504.907777.23180(a)i42g2000cwa.googlegroups.com...
>I have recently upgraded to VC 8 from Metrowerks and I am having some
> trouble initializing an EXE.
>
> I have a service and a process that is created by this service. The
> child process works when it is compiled with the older compiler, but
> not when it is compiled with VC 8. The service is compiled in VC 8 in
> both cases. The VC 8 version also works when it is run directly - just
> not when it is created by the service.
>
> I tried removing some of the libary dependencies, but this didn't seem
> to help. Any thoughts on what might be going wrong.
>
> I was also wondering if there is any way to trap these types of
> initialization problems. Because of the service and process creation,
> this type of initialization error is really difficult to find. Windows
> does not bring up an error message, so there was absolutely nothing to
> tell what the error was until I added a WaitForSingleObject and a
> GetExitCodeProcess. Even when I have this exit code, the error is
> still extremely vague.
>
> Any help would be greatly appreciated.
>


From: d2walter on
Depends says both the version of my program that works and the one that
doesn't are linked to comctl32.dll and shell32.dll. These are both
directly included and initialized immediately in the version that
works. Depends has a hour class indicating a delayed load for these
libraries in the version that does not work. Do these dll's do
something special during initialization that is needed by something
else?

From: Alexander Grigoriev on
When you start the program from a service, it doesn't have Windows shell
available. If shell32.dll is trying to call shell objects, it will fail.

<d2walter(a)gmail.com> wrote in message
news:1163258585.598051.117530(a)h54g2000cwb.googlegroups.com...
> Depends says both the version of my program that works and the one that
> doesn't are linked to comctl32.dll and shell32.dll. These are both
> directly included and initialized immediately in the version that
> works. Depends has a hour class indicating a delayed load for these
> libraries in the version that does not work. Do these dll's do
> something special during initialization that is needed by something
> else?
>