   Microsoft VisualStudio2005 and NT4
  Hi everyone,I buy MVC2005 Professional Edition March 2006 and make MFC Dialog base application. Build and make exe. Run exe on SO MT4 ServicePack 6 and "... entry point GetLongPathNameW in Kernel32.dll" error. Why ?Thank for reply.   
  NT4 is no longer supported by Microsoft, and it's most likely to not support several features in the latest runtimes.The msot important question should be: Why the hell are you running NT4? It's obsolete.Toolmaker   ;  So is Win98 but people still run it.If it says missing entry point, then it's not available on WinNT4. Maybe you can try the non-unicode build. I'm assuming you are using unicode.If it is a crash, then there is a bug on NT4.You might want to try VC++6 or .NET 2002 (or whatever came just after)   ;  Question 1.Why the hell are you running NT4? It's obsolete.My job's in industrial automation. My firm have many PC installed (>300) with SO NT4.Question 2.I try, from codeguru forum (http://www.codeguru.com/forum/showthread.php?p=1411693#post1411693): - Insert include, #include <NewAPIs.h>, in stdafx.h- Compiled in Release Win32- Copy in target PC (with SO NT4 SP6) .exe file and mfc80u.dll, msvcr80.dllbut error persist, "... entry point GetLongPathNameW in Kernel32.dll".Now i try non-unicode build.Thank   ;  I try non-unicode build, steps:- Command row:/O2 /GL /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "_AFXDLL" /FD /EHsc /MD /Yu"stdafx.h" /Fp"Release\PV_filename.pch" /Fo"Release\\" /Fd"Release\vc80.pdb" /W3 /c /Wp64 /Zi /TP ".\filename.cpp"- Copy in target dir mfc80.dll- Copy .exe file.But error persist, "... entry point GetLongPathNameW in Kernel32.dll".;  Using NT4 isn't adviseable, but I see the problem now. I remember this from my Win32 programming book by Petzhold:Both NT4 and Windows 98 do not support Unicode applications. Any function that ends with W is most-likely NOT supported in either operating system. Windows 98 has a few of those functions, where NT4 completely lacks support for anything remotely unicode.You're using Visual Studio 2005, and any 2005 projects compile to unicode by default. You should browse the project settings and change it to Ascii.I don't have access to any Visual Studio 2005 product right now, but it's somewhere in the project settings. Changing it to Ascii should resolve the problem, as the function it will look for will not be "GetLongPathNameW" but "GetLongPathNameA".Toolmaker   ;  NT4 is the very first Windows to really do Unicode (after NT3.51 of course).The problem is the function GetLongPathName. It is simply not available on NT. If you're calling that function yourself you have to find a workaround. If something from inside MFC is calling it, you may have to revert to an older version of MFC (and Visual Studio probably).   ;  Thank for reply.I find in PageProperty but not found any item for changing in Ascii mode.I find in C/C++ or Linker tree ? --- C/C++ Command row ---/O2 /GL /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "_AFXDLL" /D "_MBCS" /FD /EHsc /MD /Yu"stdafx.h" /Fp"Release\PV_SerTFT.pch" /Fo"Release\\" /Fd"Release\vc80.pdb" /W3 /nologo /c /Wp64 /Zi /TP /errorReport:prompt--- Linker Command row ---/OUT:"C:\Documents and Settings\Administrator\Documenti\Visual Studio 2005\Projects\PV_SerTFT\Release\PV_SerTFT.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"Release\PV_SerTFT.exe.intermediate.manifest" /DEBUG /PDB:"c:\Documents and Settings\Administrator\Documenti\Visual Studio 2005\Projects\PV_SerTFT\release\PV_SerTFT.pdb" /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /LTCG /MACHINE:X86 /ERRORREPORT:PROMPT;  I try, suggest from CodeGuru forum, Dependency Walker program for find version of kernel32.dll and check if GetLongPathNameW exists.Report is:--- System Information ---Dependency Walker: 2.1.3623 (32-bit)Operating System: Microsoft Windows NT Professional (32-bit)OS Version: 4.00.1381 Service Pack 6Processor: x86 Family 5 Model 8 Stepping 1, GenuineIntel, ~267MHzNumber of Processors: 1Computer Name: SCCI4User Name: AdministratorLocal Date: martedì 20 giugno 2006Local Time: 10.44.53 ora legale Europa occ. (GMT+02:00)OS Language: 0x0410: Italian (Standard)Memory Load: 0%Physical Memory Total: 133.615.616 (128 MB)Physical Memory Used: 98.770.944Physical Memory Free: 34.844.672Page File Memory Total: 1.194.180.608Page File Memory Used: 173.637.632Page File Memory Free: 1.020.542.976Virtual Memory Total: 2.147.352.576Virtual Memory Used: 27.906.048Virtual Memory Free: 2.119.446.528Page Size: 0x00001000 (4.096)Allocation Granularity: 0x00010000 (65.536)Min. App. Address: 0x00010000 (65.536)Max. App. Address: 0x7FFEFFFF (2.147.418.111)--- Module List (only KERNEL32.DLL) ---Module: KERNEL32.DLLFile Time Stamp: 30/11/1999 12.06Link Time Stamp: 21/07/1999 0.19File Size: 83.248File Ver : 4.0.1381.300...Product Ver: 4.0.1381.300Image Ver: 4.0Linker Ver: 3.10OS Ver: 4.0Subsystem Ver: 4.0Not found of GetLongPathNameW function.;  Addon: Just found the following remark in the MSDN description of GetLongPathName:Windows NT and Windows 95:  Include an additional header file called NewAPIs.h to make GetLongPathName available on these operating systems. The function is not implemented natively, but by a wrapper that utilizes other native functions on these systems. See the header file for details of the use of preprocessor directives that make the function available. If you do not have this header file, it can be obtained by downloading the most recent SDK from the SDK Update Site.