Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. OS compatibility!!

OS compatibility!!

Scheduled Pinned Locked Moved C / C++ / MFC
c++visual-studiohelpquestionannouncement
2 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    vipin_nvk
    wrote on last edited by
    #1

    Hello I had developed a windows service at my office PC having Win2000 installed. I brought the same code back to my home PC which has WinXP installed on it. Now when I tried to run the windows service, I got the following error: Error Code :1153 Symbol :ERROR_RMODE_APP Description : The specified program was written for an earlier version of Windows. Which means the service developed on Win2000 PC cannot run on WinXP PC. But logically should this error come up? Is the .exe generated by VC++ IDE also dependent on the PC on which the application has been developed? Will the reverse case also give me an error? Say if I develop the application on WinXP and try to run it on Win2000? Thanx.

    M 1 Reply Last reply
    0
    • V vipin_nvk

      Hello I had developed a windows service at my office PC having Win2000 installed. I brought the same code back to my home PC which has WinXP installed on it. Now when I tried to run the windows service, I got the following error: Error Code :1153 Symbol :ERROR_RMODE_APP Description : The specified program was written for an earlier version of Windows. Which means the service developed on Win2000 PC cannot run on WinXP PC. But logically should this error come up? Is the .exe generated by VC++ IDE also dependent on the PC on which the application has been developed? Will the reverse case also give me an error? Say if I develop the application on WinXP and try to run it on Win2000? Thanx.

      M Offline
      M Offline
      Matthew Faithfull
      wrote on last edited by
      #2

      vipin_nvk wrote:

      Is the .exe generated by VC++ IDE also dependent on the PC on which the application has been developed?

      This is the key point and the answer is, it can be, in at least the following ways. 1. Installed SDK. The code you develop on your Win2K PC will be diferent depending on what version of Visual C++ and what version of and SDKs are installed. These will effectively change your source. You can update these to versions capable of build XP apps if they are not already. 2. Test platform. The code you build on the Win2K PC may work there against the Win32 API verion available there but that does not automatically gaurentee it will work against XP. Remember that every Win32 application loads up Dlls that are part of Windows from the machines where it's installed and then makes hundreds of calls into these Dlls. If one function is missing, or perhaps behaves differently then things can go wrong. Two points to note in your specific case. 1. The reason for the failure may not actually be the Win2K vs XP differences it could possibly be just the general difference between the two machines although with the error you're getting this is unlikely. 2. The requirements and environment for Services in particular are very Windows version specific. It may be that your Win2K developed service does not do all the things or meet all the timings required by an XP Service. MS tightens things up in security for example with each release. With all that in mind in the end it could be as simple as which value of the _WIN32_WINNT you've compiled with. Unless you set this to at least 0x0501 I wouldn't expect the service to start on XP.

      Nothing is exactly what it seems but everything with seems can be unpicked.

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups