Articles > Windows Vista
Printer Friendly Version
Views: 14396

Vista Network Location Awareness (NLA) Service Doesn't Start

Last Updated: 11/27/08

Problem:
On your Windows Vista computer the Event logs in event viewer indicate that the Network Location Awareness Service failed to start. The reason given is "not a valid Win32 application" or "cannot find the file specified". This is a common problem caused by TrendMicro Antivirus false positives which then deletes the file(s). The files affected are normally "wextract.exe" and "nlasvc.dll".

Example of Actual Error Message from Event Logs:
The NlaSvc service terminated with the following error: NlaSvc is not a valid Win32 application.

In the incident of this problem that I dealt with all backups of this system file where also corrupt. I ran System File Checker (SFC) on the file and it said in the event logs, "All backups of this system file are corrupt." Or something along those lines.

Solution:
First you need to delete the corrupt file since it is not doing any good anyways. Due to Vista's new security features, deleting a system file is not easy. Here at the commands you need to run. Execute them from a Command Prompt that is running as an administrator. Right click on "Command Prompt" from the Start Menu and choose Run as Administrator.

takeown /f C:\Windows\System32\nlasvc.dll
cacls C:\Windows\System32\nlasvc.dll /G "your username":F
del C:\Windows\System32\nlasvc.dll

Now that the file is deleted download a good version from the bottom of this article. Extract the dll file from inside the zip file. Then place the dll file in the C:\windows\system32 folder. Then right click on the file, select properties, then click the security tab. Now click the "Edit" button and add the appropriate users and permissions to the file. You can figure out how to set the permissions by looking at a near by dll file. Here is a list of permissions that should work:

TrustedInstaller (Full Control)
Administrators (Read and Execute)
System (Read and Execute)
Network Service (Read and Execute)

Now you should be able to either start the services that failed manually or restart the computer and have them start automatically.

Links:
http://esupport.trendmicro.com/support/viewxml.do?ContentID=EN-1038089&id=EN-1038089

Attached Files:
nlasvc_vista_nosp1.zip (288 downloads)


Keywords: vista nlasvc.dll wextract.exe network location awareness service fails to start corrupt file