Thursday, July 16, 2009

You cannot start the Windows Firewall service in Windows XP SP2

SYMPTOMS
After you install Microsoft Windows XP Service Pack 2 (SP2), you cannot start the Windows Firewall service. Specifically, you experience one or more of the following symptoms:
  • Windows Firewall/Internet Connection Sharing (ICS) is not displayed in the Services list in Control Panel.
  • Windows Firewall/Internet Connection Sharing (ICS) is displayed in the Services list, but you cannot start this service.
CAUSE
This problem is caused by a missing or corrupted SharedAccess.reg file. The SharedAccess.reg file represents the Windows Firewall service.

Note The Windows Firewall service in Windows XP SP2 replaces the Internet Connection Firewall (ICF) service in earlier versions of Windows XP.

Method 1: Call the "Setup API InstallHinfSection" function to install Windows Firewall

To install Windows Firewall, follow these steps:
  1. Click Start, click Run, type cmd, and then click OK.
  2. At the command prompt, type the following command line, and then press ENTER:
    Rundll32 setupapi,InstallHinfSection Ndi-Steelhead 132 %windir%\inf\netrass.inf
  3. Restart Windows,
  4. Click Start, click Run, type cmd, and then click OK.
  5. At the command prompt, type the following command, and then press ENTER:
    Netsh firewall reset
  6. Click Start, click Run, type firewall.cpl, and then press ENTER. In the Windows Firewall dialog box, click On (recommended), and then click OK.

Method 2: Add the Windows Firewall entry to the registry

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 (http://support.microsoft.com/kb/322756/ ) How to back up and restore the registry in Windows


To add the Windows Firewall entry to the registry, follow these steps:
  1. Copy the following text into Notepad, and then save the file as Sharedaccess.reg:

  1. Windows Registry Editor Version 5.00

    [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess]
    "DependOnGroup"=hex(7):00,00
    "DependOnService"=hex(7):4e,00,65,00,74,00,6d,00,61,00,6e,00,00,00,57,00,69,00,\
    6e,00,4d,00,67,00,6d,00,74,00,00,00,00,00
    "Description"="Provides network address translation, addressing, name resolution and/or intrusion prevention services for a home or small office network."
    "DisplayName"="Windows Firewall/Internet Connection Sharing (ICS)"
    "ErrorControl"=dword:00000001
    "ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
    74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
    00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
    6b,00,20,00,6e,00,65,00,74,00,73,00,76,00,63,00,73,00,00,00
    "ObjectName"="LocalSystem"
    "Start"=dword:00000002
    "Type"=dword:00000020

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Epoch]
    "Epoch"=dword:00002cd0

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters]
    "ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
    00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
    69,00,70,00,6e,00,61,00,74,00,68,00,6c,00,70,00,2e,00,64,00,6c,00,6c,00,00,\
    00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\AuthorizedApplications]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\AuthorizedApplications\List]
    "%windir%\\system32\\sessmgr.exe"="%windir%\\system32\\sessmgr.exe:*:enabled:@xpsp2res.dll,-22019"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]
    "%windir%\\system32\\sessmgr.exe"="%windir%\\system32\\sessmgr.exe:*:enabled:@xpsp2res.dll,-22019"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Setup]
    "ServiceUpgrade"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Setup\InterfacesUnfirewalledAtUpdate]
    "All"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Enum]
    "0"="Root\\LEGACY_SHAREDACCESS\\0000"
    "Count"=dword:00000001
    "NextInstance"=dword:00000001
  2. Double-click Sharedaccess.reg to merge the contents of this file into the registry and to create the Windows Firewall entry.
  3. Restart Windows.
  4. Click Start, click Run, type cmd, and then click OK.
  5. At the command prompt, type the following command, and then press ENTER:
    Netsh firewall reset
  6. Click Start, click Run, type firewall.cpl, and then click OK.
  7. Configure the Windows Firewall settings that
To verify that the Windows Firewall service is started, follow these steps:
  1. Click Start, click Run, type services.msc, and then click OK.
  2. In the list of services, locate Windows Firewall/Internet Connection Sharing (ICS). Notice that the status of the service is Started.
  3. For information about how to use the Services feature, click Help on the Action menu.


No comments: