Problems I had installing XAMPP on Windows 7 64bit Professional

I had 2 problems when installing XAMPP 1.7.4 on my most recently built computer (Windows 7 64bit Professional… they state 64 bit is not supported, though I suspect it installs in 32 bit compatibility mode just fine):

1: The pesky “XAMPP Component Status Check failure [3]” error.  Although the solution was simple, I feel dirty for using it as it is clearly an issue that should be addressed in the installer rather than hacking the registry to make the error message go away: <Oliver Baty’s post>

I installed XAMPP (right-click -> Run as administrator) to D:\XAMPP because the documentation suggests to install XAMPP off a root drive (apparently they only mean C:\ however).  Subsequently, as Oliver’s post states, I had to change the [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\xampp] -> Install_Dir registry setting from D:\xampp to C:\xampp.  Adios error message!

The second issue was significantly harder to track down, so I thought I would post all the variations of the same issue that I came across in hopes that it saves the hours of your life wasted googleing as I have had to:

The Problem
2: When in the XAMPP control panel, clicking Start for apache would provide the message “Apache started [Port 80]”, but apache would not really start. (This also originally showed itself as an error during install, stating “Ports 80 or 443 (SSL) already in use! Installing Apache2.2 service failed”)

The root cause was that Port 80 was being used by another process.  To get a list of “listening” processes, you can run the following at the cmd line:

netstat -oan

The important line in the output being:

   TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4

This told me that PID 4 was hogging up port 80, which was not allowing Apache to use it.  The resulting hours of searching and screaming told me that one of the following possible processes were using port 80 under the guise of PID 4, which is the “NT Kernel & System” System process.:

exhibit A: Under the services panel, find the service that has the description of “world wide web publishing service” and stop the service.  If you found this service, you can check to see if port 80 is still being used by running the netstat command quoted above.  If that doesn’t work, or you didn’t find it, go on to exhibit B.

exhibit B: Again, under services, search for “SQL server reporting services”, and if you find the service, stop it. Check to see if port 80 is still being used by running the netstat command quoted above.  If that doesn’t work, or you didn’t find it, go on to exhibit C.

exhibit C: Again, under services, search for “Web Deployment Agent Service”(MsDepSvc). If you find the service, stop it. Check to see if port 80 is still being used by running the netstat command quoted above.  If that doesn’t work… then it might not be the NT Kernel & System Process (The PID is usually 4 for this)

exhibit D: SKYPE! The PID could be any variety of numbers if Skype is the issue. I would suggest that you disable Disable Skype from starting when windows starts(in Skype this is under Tools->Options->General settings)  After all, you are a developer, why would you need to speak to another human? 🙂  You can kick Skype off of port 80 simply by “Quitting” the application.  Skype will still work and simply pick another port the next time you start it.  You might want to set Apache to start as a service when windows starts so Skype doesn’t cause your Apache not to start the next time you forget to close it before you fire Apache up.

C solved it for me… until I restarted my machine and then D was the issue.  Hopefully one of those variations solves it for you!

Please feel free to leave comments relating to this issue and I will update the post accordingly.  Together we can save the lives of countless developers, one google search at a time.

21 Thoughts on “Problems I had installing XAMPP on Windows 7 64bit Professional

  1. Feres on April 5, 2012 at 8:49 pm said:

    The problem is that Xampp doesn’t install or uninstall the services correctly in Windows.

    To correct it, uninstall Xampp- again.

    Open your services panel by typing in ‘services.msc’ in the windows Run box ( windows symbol + R)

    Double click the services to get the actual service name as its different than the shown display name. For Xampp 1.7 Apache 2.2 is Apache2.2, Xampp Controler is XAMPP, and MySQL is mysql. You may have a different version of Xampp so I included all the steps.

    Now open a CMD box. ( windows symbol + R then type CMD.)
    Type in “sc delete ” for all 3 services. Reboot. Now you can install Xampp again without any problems.

  2. pokleng on April 25, 2012 at 1:19 am said:

    thanks a lot. you nailed it in the head, it is skype thats causing all the problem. thanks again

  3. “A” solved it for me! Thanks so much.

  4. fiza on May 21, 2012 at 3:27 am said:

    thanks a lot…’c’ solve it for me…=)

  5. Sajib on May 30, 2012 at 6:25 am said:

    Thank you very much. This post helps me. A is worked for me. Thank you again.
    Sajib
    From Bangladesh

  6. greenbee on May 30, 2012 at 11:59 am said:

    Hey, thanks a lot. I uninstalled skype but I was still getting the same error. However, B and C solved it for me. Thanks again!

  7. jorus.webdev on June 3, 2012 at 4:19 am said:

    Thanks mate… very helpful…keep it up.. 🙂 Exhibit C worked for me…

  8. nolongerfrustrated on June 18, 2012 at 9:40 am said:

    Pando Media Booster was the culprit. It keeps sneaking back onto my machine via games that my kids download. Instead of searching for the app using the port, I just looked for a process that didn’t belong.

  9. Uriel on June 20, 2012 at 8:22 am said:

    exhibit C worked for me .
    i go Control Panel\All Control Panel Items\Administrative Tools\services
    and stop the services named -“Web Deployment Agent Service” .

  10. Thanks!!! it is very useful.
    1. Go to: run & type cmd
    2. Type: netstat -oan
    3. Find PID has TCP 0.0.0.0: 80 or 0.0.0.0: 443 and stop it under service

  11. Swapnil24 on July 6, 2012 at 4:35 am said:

    Thank you so much it help me a lot..

  12. wow thanks a lot i am very happy because i am success . thanks for help

  13. Mohaen on August 3, 2012 at 8:15 am said:

    Hi
    My problem had another adventure! It was because of IIS service that I had previously installed. Just go to services.msc and stop internet information service in the beginning of services list.
    bye

  14. Jafar Shah on September 5, 2012 at 1:26 pm said:

    thanks, it helped me alot.
    Below mentioned option solved the problem.

    exhibit B: Again, under services, search for “SQL server reporting services”, and if you find the service, stop it. Check to see if port 80 is still being used by running the netstat command quoted above. If that doesn’t work, or you didn’t find it, go on to exhibit C.

  15. thank you…
    B works for me..

  16. Mariano Abal on January 9, 2013 at 5:34 pm said:

    THANKS!!
    Hours reading around and no one could be as specific as Feres to help us with services using ports.
    I stop services one by one untill port 443 was not mentioned any more in netsat -aon.
    Is it that difficult to think and logically explain issues??
    regards

  17. chris Mhagama on April 18, 2013 at 9:27 am said:

    You simply made my day. Thank yo so much

  18. gowtham on June 9, 2013 at 4:09 am said:

    thanks a lot for B…….

  19. C did it for me. So great to get well-written help on the web, thanks so much!

Leave a Reply

Post Navigation