The Windows Wireless Zero service is used by Windows to configure and connect to wireless networks. Since Windows Vista, this service has been replaced by the more appropriately named WLAN AutoConfig service.
Recently, a Dell M1330 was brought to me that could not see any network, and had not been able to since it was upgraded from Windows Vista to Windows 7. At first glance, it appeared to be a driver issue, however upon further inspection, the WLAN AutoConfig service would not start. Anytime it was run, it would return an error: “WLAN AutoConfig service has failed to start. Error Code: 0xc00ce558:0xc00ce558.” Read more to see how I fixed the problem.
First, let’s start with a little explanation of WLAN AutoConfig. This service is used by Windows to detect and configure Wireless networks that are seen by the wireless adapters already installed on the computer. It must be running in order to let Windows see and configure networks. If you cannot connect to wireless networks, first check the following things.
Does the computer have a physical or software switch to turn the wireless on or off, and is the wireless disabled?
Are the dependent services for WLAN AutoConfig running. You can check the dependencies by going to My Computer -> Manage -> Services -> right clicking on WLAN AutoConfig and clicking dependencies. There are four dependencies: Extensible Authentication Protocol, Remote Procedure Call, Native WiFi filter, and NDISuio. If these services are not all running, WLAN cannot start. All of these services should be set to Automatic startup.
In my case, all of these services were running and yet it still failed. Using a little program called process monitor, I was able to determine that the service was attempting to load c:\windows\L2Schemas\WLAN_profile_v1.xsd when starting. The .xsd file is an XML file which holds necessary information for the service. The error message 0xc00ce558 identifies an invalid XML header. On the system, the WLAN_profile_v1.xsd was a zero length file.
To fix the problem, I needed to replace this file with a valid file from another installed Windows 7 system. Also, there is an issue that this is a system file and cannot be copied from within Windows. This problem was easily addressed by booting the system with a live Puppy Linux CD I had laying around, and mounting the system, and copying the files.
All in all, an easy fix once you identify the problem.