A windstorm packing gusts up to 90 mph turned deadly Friday, killing one man hit by a falling tree limb in the Portland area, another man when a boat capsized in the Columbia River in rough water and possibly contributing to the crash of a small airplane near Eugene that killed four people.

The winds left thousands of people without power as steady blasts knocked down trees and snagged power lines throughout the Willamette Valley. Some schools closed because of the outages, and public transit became snarled across Portland.

It was one of the harshest windstorms in the past two decades since four people died on Dec. 12, 1995, including three killed by trees, during hurricane force gales.

The plane crashed near Harrisburg as it was headed to land in Eugene. Conditions were gusty and rainy at the time, a Eugene Airport spokesman said.

The single-engine Piper PA-46 was flying low but otherwise didn't seem to be in trouble, Linn County Sheriff Bruce Riley told The Oregonian/OregonLive.

Strong winds topple trees, knock out power to thousands on April 7 42 Gallery: Strong winds topple trees, knock out power to thousands on April 7

"Obviously with this weather and high winds that could easily be a contributing factor," he said. The cause is under investigation, including a potential mechanical problem, he said.

A tree limb killed a 67-year-old man out for a walk in Garden Home.

A resident found Ronald Edward Kibert of Tigard unconscious in a green space behind a home near Southwest Florence Lane and 71st Place. Kibert later died at OHSU Hospital from his injuries, the Washington County Sheriff's Office said.

Deputies believe the limb struck Kibert during high winds, sheriff's officials said.

A boat went under in the Columbia River near Multnomah Falls, sending three men and a woman to the hospital. One of the men was flown by Lifeflight helicopter to Legacy Emanuel Medical Center in Portland and later died. The others suffered hypothermia, officials said.

All four worked for the Columbia River Inter-Tribal Fish Commission as technicians.

A Gresham fire official said rescuers were discussing whether to launch a 20-foot rescue boat into the turbulent water when the technicians -- who had been sitting atop their overturned vessel -- sunk into the water.

With a larger rescue boat still far away, they decided to launch and reached the group within 15 minutes.

"Water conditions are very rough in this area, and appear to have been a contributing factor," the Multnomah County Sheriff's Office said in a statement.

Wind gusts ranged from 91 mph at Marys Peak in the central Coast Range to 40 mph to nearly 60 mph in the Portland area, the National Weather Service reported.

The system hit the southern Oregon coast and tracked north, triggering widespread and damaging wind gusts across the region.

Portland General Electric reported that nearly 95,000 customers in the metro area were still without power in late afternoon. The number was close to 170,000 customers during the peak of the gusts mid-morning.

Stan Sittser, a spokesman for the utility, said the outage numbers are the highest he has seen in his dozen years with PGE. He said an estimated 400 wires are down in the region.

PGE had "scores of crews" working, he said, but he warned customers of "an extended outage" that could go into the weekend. He said people with medical or other special needs should make plans for where to go if the outage continues into Saturday.

He strongly encouraged customers to report all outages to 503-464-7777 (Portland) or 800-544-1795 and to stay away from downed power lines.

The National Weather Service said winds walloped Washington County in particular, with an estimated 50,000 Portland General Electric customers in the dark at one point.

"This storm is worse than what we would expect for this time of year," said Gerald Macke, a meteorological technician with the weather service.

Clackamas County, too, also was hard-hit. PGE estimated that more than 50,000 customers were without power into the afternoon. Clackamas Community College closed its Harmony campus; classes at the Oregon City and Wilsonville campuses continued.

In Marion County, Chemeketa Community College also closed due to power outages.

In the Portland area, emergency crews responded to multiple reports of downed trees. Portland Public Schools officials reported power was out at Woodstock, Forest Park, Rice Kelly, Whitman, Lane, Hayhurst and West Sylvan, though classes continued. The district established a hotline for parents to call with questions: 503-916-6600.

High winds caused a tree to fall onto a vehicle after 9 a.m. at 827 S.W. Broadway, causing a Portland school bus to come to a halt with 37 students aboard, district spokesman Harry Esteve said. No students were injured, and the bus, headed to West Sylvan Elementary, was being rerouted around the fallen tree, Esteve said.

Elsewhere, workers with the American Red Cross-Cascades Region responded to four homes smashed by trees in Canby, Bend, Eugene and Coos Bay, affecting eight people.

A tree also struck the front of a Vancouver Fire Department truck on its way to a medical emergency. The truck ended up running over the top of the tree. None of the crew members were injured, but broken glass filled the cab, officials said.

Meanwhile, TriMet warned of significant delays across the transit system. The agency said downed trees disrupted MAX service, and trains were moving at a top speed of 35 mph because of high winds. Shuttle buses operated between some stations. Some bus lines were detoured as well.

A train was stopped near the Hollywood Transit Center because debris was blown into its pantograph -- the arm that connects to overhead power lines.

TriMet tweeted that MAX lines were operating at normal speeds by 5:20 p.m.

The winds died down somewhat Friday afternoon to about 35 to 45 mph and were expected to drop to the 10 to 20 mph range overnight, said weather service meteorologist Colby Neuman.

Saturday should bring a breeze to the area from the south, but nothing like the gusts of Friday, he said.

-- The Oregonian/OregonLive