These are 3 methods provided by microsoft, none of them worked
Method 1: Scan for malware.
If you haven't scanned your computer for viruses or malware recently, it is strongly recommended you do so. You can use the Microsoft Safety Scanner to remove malware from your computer. To do this, follow the steps below:
Go to:
Microsoft Safety Scanner - Antivirus | Remove Spyware, Malware, Viruses Free
Click Download Now. Follow the on screen instructions to download and install the Microsoft Safety Scanner. When prompted, save the file to your desktop.
After installation, go to your desktop and double click the Microsoft Safety Scanner icon. It may be listed as msert.
Click the box next to Accept all terms of the preceding license agreement, then click Next.
Click Quick Scan, then click Next.
The Microsoft Safety Scanner will scan your computer and remove all malware.
Click the Start button, then type Windows Firewall in the Search programs and files box (Windows 7) or in the Start search box (Windows Vista).
Click Windows Firewall.
In the left hand pane of the Control Panel, click Turn Windows Firewall on or off.
Click Turn on Windows Firewall for each network location, then click OK.
If you still receive error 0x8007042c when attempting to turn on your Windows Firewall, proceed to Method 2.
Method 2: Start the Windows Firewall Services manually.
You can start the Windows Firewall services manually as well as make sure it starts automatically in the future. To do this, follow the steps below:
Click the Start button, then type Services in the Search programs and files box (Windows 7) or in the Start search box (Windows Vista).
Right-click Services. Note: there will be a cogwheel located next to it. Then click Run as administrator. If prompted, enter your administrator user name and password, then press Enter.
Scroll until you see Windows Firewall. Double click Windows Firewall.
Click the drop down menu next to Startup type, then choose Automatic.
Under Service status, if it is listed as Stopped, click Start.
Click Apply, then click OK.
Scroll until you see Base Filtering Engine. Double click Base Filtering Engine.
Under Service status, if it is listed as Stopped, click Start.
Click Apply, then click OK.
Restart Windows. Windows Firewall should be enabled.
If you still receive error 0x8007042c when attempting to turn on your Windows Firewall, proceed to Method 3.
Method 3: Start associated services manually.
You can start the following services manually:
Windows Firewall (MpsSvc)
CNG Key Isolation (KeyIso)
Base Filtering Engine (BFE)
Firewall Client Agent (FwcAgent)
To do this, follow the steps below:
Click Start, type Notepad in the Start Search box (Windows Vista) or the Search programs and files box (Windows 7), and then click Notepad in the programs list.
Highlight the following text, right click the highlighted text, and then click Copy. Go to Notepad, right click anywhere in the Notepad window, and then click Paste.
Code:
sc config MpsSvc start= auto
sc config KeyIso start= auto
sc config BFE start= auto
sc config FwcAgent start= auto
net stop MpsSvc
net start MpsSvc
net stop KeyIso
net start KeyIso
net stop BFE
net start BFE
net stop FwcAgent
net start FwcAgent
Click File, click Save As, and then type Repair.bat in the File name box.
Click the Save as type dropdown, then click All Files (*.*).
In the left window pane, click Desktop, and then click Save.
On the File menu, click Exit.
From your Desktop, right click the Repair.bat file that you saved in step 5, and then click Run as administrator. This action starts the required services.
Note If you are prompted for confirmation, click Yes.
Try to start the Windows Firewall again. If you can start Windows Firewall, delete the Repair.bat file. To delete the Repair.bat file, right-click Repair.bat, click Delete, and then click Yes.
HELP please~