Version 4.9.3.1 Not running on Windows 7 Professional 64-bit

Jan 29, 2015 at 5:09 AM
I have developed an application using MapWinGIS.ocx ActiveX map control and successfully deployed it on WIndows-7(64-bit) Ultimate. But the same application is not running on Windows-7(64-bit) Professional and WIndows-8(64-bit). I have also installed MapWinGIS-only-v4.9.3.1-Win32.exe and its also not running after installation.
Jan 29, 2015 at 7:00 AM
I have the something similar with Mapwindow Lite (using MapWinGIS 4.9.3.1) it runs on Vista but not on Windows 7 (64 bit) Home premium (nothing happens).
Developer
Jan 29, 2015 at 3:31 PM
Edited Jan 29, 2015 at 3:32 PM
Probably a problem with dependencies. First of all you should open MapWinGIS.ocx on target machine in Dependency Walker and check whether it reports any errors.

Also you can try to install VC runtime manually on the target machine. Currently MapWinGIS installer checks registry keys to determine if the runtime is installed (MsiQueryProductState function). If this check fails it may lead to such problems. Some info on this is here. The runtime which is included in the installer is here (in the same folder; vcredist_x86_2010_sp1.exe for x86 build of MapWinGIS both for x86 and x64 Windows).

If it turns out that there is a problem with the installer or MapWinGIS itself we shall certainly work on finding a fix. Right now would be good to receive some more feedback from you.

Thanks,
Sergei
Jan 30, 2015 at 10:22 AM
Which version of VC runtime I have to install on the target machine? Today I have go through all installation programs on both systems and came up with the result that MS Visual C++ 2010 x64 Runtime is an extra installation on the system on which application is running.

Thanks
Mudassar
Developer
Jan 31, 2015 at 10:10 AM
Mudassar, for MapWinGIS 4.9.3 it's either VC2010 x86 or VC2010 x64. It depends on the version of MapWinGIS you are using, x86 or x64. Since we haven't released installer for 4.9.3 x64 yet, most likely you are using x86 version (unless you have built it from source by yourself). So the correct installer will be vcredist_x86_2010_sp1.exe. Bear in mind that this suggestion that VC runtime is responsible is only a guess since I saw similar problems before. Dependency Walker can probably tell more about the source of the problem.
Feb 2, 2015 at 5:51 AM
This does't solve the problem. I am attaching dependency walker log window after opening MapWinGIS.ocx file. What should I do now?

https://onedrive.live.com/redir?resid=C5C6D5FD291DF49E%21393
Developer
Feb 2, 2015 at 8:48 AM
Mudassar, in this screenshot I see 2 missing dependencies - msvcr90.dll and ncsutil4.dll (those that are delay loaded, i.e. with hourglass, don't matter). But the trouble is that they aren't even used by 4.9.3 version, but instead by earlier MapWinGIS versions. Version 4.9.3 is using VC2010 runtime, so msvcr100.dll should be referenced instead of msvcr90.dll. Try to uninstall any other versions of MapWinGIS (delete the folder manually after it to be sure) and then run 4.9.3 installer once again.
Feb 2, 2015 at 9:47 AM
Following is the link of snapshot of event viewer error when I run MapWindowLite.exe after re-installation as you suggested

https://onedrive.live.com/redir?resid=C5C6D5FD291DF49E%21394

When I start profiling of MapWindowLite.exe using dependency checker, it gives me the following output

Starting profile on 2/2/2015 at 3:43:28 PM

Operating System: Microsoft Windows NT/2000/XP/2003/Vista based Media Center (64-bit), version 6.01.7601 Service Pack 1
Program Executable: c:\dev\mapwingis\mapwindowlite\MAPWINDOWLITE.EXE
Program Arguments:
Starting Directory: C:\dev\MapWinGIS\MapWindowLite\
Search Path: C:\Program Files (x86)\PC Connectivity Solution\;C:\Program Files (x86)\Common Files\Crystal Decisions\2.0\bin\NOTES\;C:\Program Files (x86)\Common Files\Crystal Decisions\2.0\bin\NOTES\DATA\;C:\Work\Oracle\instantclient\instantclient_10_1;C:\Work\Oracle\instantclient\instantclient_10_2;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jre7\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\ERDAS\APOLLOSDK2011\tools\ant\bin;C:\dev\MapWinGIS

Options Selected:
 Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable.
 Log DllMain calls for process attach and process detach messages.
 Hook the process to gather more detailed dependency information.
 Log LoadLibrary function calls.
 Log GetProcAddress function calls.
 Log debug output messages.

Automatically open and profile child processes.

Started "MAPWINDOWLITE.EXE" (process 0x1128) at address 0x01370000. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x774E0000. Successfully hooked module.
Loaded "MSCOREE.DLL" at address 0x6FC30000. Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x74D40000. Successfully hooked module.
Loaded "KERNELBASE.DLL" at address 0x750B0000. Successfully hooked module.
DllMain(0x750B0000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNELBASE.DLL" called.
DllMain(0x750B0000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNELBASE.DLL" returned 1 (0x1).
DllMain(0x74D40000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" called.
DllMain(0x74D40000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" returned 1 (0x1).
Injected "DEPENDS.DLL" at address 0x08370000.
DllMain(0x6FC30000, DLL_PROCESS_ATTACH, 0x00000000) in "MSCOREE.DLL" called.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" called.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" returned 1 (0x1).
GetProcAddress(0x74D40000 [KERNEL32.DLL], "FlsAlloc") called from "MSCOREE.DLL" at address 0x6FC36F3C and returned 0x74D54F13.

STATUS_STACK_BUFFER_OVERRUN encountered
Entrypoint reached. All implicit modules have been loaded.
Exited "MAPWINDOWLITE.EXE" (process 0x1128) with code -1073740791 (0xC0000409).
Developer
Feb 3, 2015 at 6:38 AM
So from the call stack in the new screenshot we see that it crashes in Program.InitGlobalSettings with COMException. In this function only MapWinGIS GlobalSettings object is instantiated, so most likely MapWinGIS still isn't installed right. Could you please check c:\dev\MapWinGIS\MapWinGIS.ocx with Dependency Walker once again. You should at least see the correct version (i.e. msvcr100.dll referenced). Then it can be checked with regsvr32 if the registration works.
Feb 3, 2015 at 9:06 AM
I have uninstalled MapWinGIS-only-v4.9.2-Win32.exe, deleted "C:\dev folder", restarted my system and re-installed MapWinGIS-only-v4.9.2-Win32.exe. Now I have checked c:\dev\MapWinGIS\MapWinGIS.ocx with dependency checker and it is giving me the following screenshot.

https://onedrive.live.com/redir?resid=C5C6D5FD291DF49E%21395

I have also searched "msvcr100.dll" and it is in C:\Windows\System32. But when I run regsvr32 command in DOS its giving me following output.

https://onedrive.live.com/redir?resid=C5C6D5FD291DF49E%21398
Developer
Feb 3, 2015 at 2:32 PM
Ok, now the version of MapWinGIS is correct and there is no missing dependencies. But you should call regsvr32 on MapWinGIS.ocx not msvcr100 (probably I wasn't sufficiently plain about it). Regsvr32 registers COM server in Windows registry, it's a necessary precondition for instantiating of MapWinGIS classes.
Feb 6, 2015 at 6:04 AM
Great. Application is running now. Same problem is coming in Windows-8. Should I have to do the same thing on that?
Developer
Feb 10, 2015 at 10:14 AM
I created an issue for the problem with registration: https://mapwingis.codeplex.com/workitem/25977. If you have suggestions how this issue can be reproduced please update it.