Program compile witn XP Pro SP2 not run on XP Pro SP1, Home and Win2000 SP4
-
Dear Sir, I have write a simple winsocket program on XP Pro SP2 with Visual studio net. 2003. All is fine. But when running the program on other machine like XP Pro SP1 or Win2000 Pro SP4 or on XP Home edition, my program does not run due to ntdll.dll (function RtlIpv6StringToAddressExW does not exist in preview version of ntdll.dll) And with the app dependency walker and can see the difference between those ntdll.dll. I do not need to update my other system to XP Pro SP2; What can I else do. Thank you in advanced. Pierre Kande
-
Dear Sir, I have write a simple winsocket program on XP Pro SP2 with Visual studio net. 2003. All is fine. But when running the program on other machine like XP Pro SP1 or Win2000 Pro SP4 or on XP Home edition, my program does not run due to ntdll.dll (function RtlIpv6StringToAddressExW does not exist in preview version of ntdll.dll) And with the app dependency walker and can see the difference between those ntdll.dll. I do not need to update my other system to XP Pro SP2; What can I else do. Thank you in advanced. Pierre Kande
It sounds like you are calling an API that was added in SP2. Your only choice is to not call it on pre-SP2 systems, and find/write some equivalent code to use on those systems. --Mike-- LINKS~! Ericahist | 1ClickPicGrabber | CP SearchBar v2.0.2 | C++ Forum FAQ Strange things are afoot at the U+004B U+20DD
-
Dear Sir, I have write a simple winsocket program on XP Pro SP2 with Visual studio net. 2003. All is fine. But when running the program on other machine like XP Pro SP1 or Win2000 Pro SP4 or on XP Home edition, my program does not run due to ntdll.dll (function RtlIpv6StringToAddressExW does not exist in preview version of ntdll.dll) And with the app dependency walker and can see the difference between those ntdll.dll. I do not need to update my other system to XP Pro SP2; What can I else do. Thank you in advanced. Pierre Kande
I've never heard about that api "RtlIpv6StringToAddressExW", and even google doesn't know it. Nevertheless, take care when using ip6, it is often not yet supported by windows. Don't try it, just do it! ;-)
-
I've never heard about that api "RtlIpv6StringToAddressExW", and even google doesn't know it. Nevertheless, take care when using ip6, it is often not yet supported by windows. Don't try it, just do it! ;-)
Dear Alex, Thank you for your reply to my request: In fact if you have the VC tools: "Dependency Walker", and if you have XP Pro SP2, if you open the ntdll.dll, you will see the following function that MS have added and that are not in version XP Pro SP2. "RtlIpv4AddressToStringA RtlIpv4AddressToStringExA RtlIpv4AddressToStringExW RtlIpv4AddressToStringW RtlIpv4StringToAddressA RtlIpv4StringToAddressExA RtlIpv4StringToAddressExW RtlIpv4StringToAddressW RtlIpv6AddressToStringA RtlIpv6AddressToStringExA RtlIpv6AddressToStringExW RtlIpv6AddressToStringW RtlIpv6StringToAddressA RtlIpv6StringToAddressExA RtlIpv6StringToAddressExW RtlIpv6StringToAddressW. So when I build my App, the linker use the ntdll.dll and call the function RtlIpv4AddressToStringW and RtlIpv6StringToAddressExW. and those function are not defined in the preview version of ntdll.dll. My version is: 5.1.2600.2180 The call to those function is made from WS2_32.dll (at version 5.1.2600.2180 to )that call it from ntdll.dll never try but make it.
-
It sounds like you are calling an API that was added in SP2. Your only choice is to not call it on pre-SP2 systems, and find/write some equivalent code to use on those systems. --Mike-- LINKS~! Ericahist | 1ClickPicGrabber | CP SearchBar v2.0.2 | C++ Forum FAQ Strange things are afoot at the U+004B U+20DD
Thank you for your reply, But I have resolved the problem. I have link my app to the all DLL of windows and not to the DLL install on my OS. and running the program in other system, all is fine. This mistake is from MS, because it cause program build on XP Pro SP2 can run in older version if you link only with the old version dll. have it in mind.