Part of a product I develop consists of a Windows program developed in Visual C++, without MFC.
This program can install & remove itself from Windows services and runs as a Windows service.
When attempting to run it on the Danish version of Windows XP Pro SP2, it failed to run in any way. An error message is shown (on command-line) which roughly translates as 'the system could not run the program' and the exit code 9020 is returned (which doesn't seem to be a defined exit code...)
This program is *not* developed with multibyte systems in mind; there is no use of the _T or _TCHAR macros and we compile without Unicode support. What I thought was strange though was that it did not run at all -- I don't think it even got to WinMain().
I recall having seen _tWinMain() on my travels before which obviously has the usual wide character prefix, but surely once compiled the entry point is referred to be address within the binary, not by an ASCII / Unicode symbol?
I do not have access to the OS so cannot test this theory, so I'd like to get some info on whether you'd expect to see a program not even start if it wasn't developed for multi-byte operation.
Thanks!
Anyway, for an application compiled without Unicode support, _tWinMain() and WinMain() are strictly equivalent.