Suspect Franz Wrousis, 51, has two previous convictions for weapons offences, authorities said.
The attacker wounded two insurance agency employees in their ground floor office in the old town of Schaffhausen yesterday morning, said Christina Wettstein, a spokeswoman for insurer CSS. Police said one CSS employee was seriously injured and the other was slightly injured.
Another three people were slightly injured in the attack, police said.
The perpetrator had fled by the time police arrived. Authorities sealed off the city’s old town until mid-afternoon as the hunt continued. Swiss police have ruled out terrorism.
“This was first and foremost a crime against this insurance agency,” senior regional police official Ravi Landolt said.
He added: “We have information that this man is dangerous, that he is aggressive and, shall we say, psychologically disturbed.”
Swiss media reported that Mr Wrousis was a CSS client. The country has a system that requires residents to have mandatory health insurance with private health insurers.
Prosecutor Peter Sticher said Mr Wrousis has two previous convictions for offences against weapons laws, from 2014 and 2016.
Mr Wrousis was previously registered as living in Graubuenden, in Switzerland’s south-east. He apparently lives mostly in woods, Mr Landolt said.
Police released old photos of Mr Wrousis standing among trees in a green T-shirt and black jeans.
They described him as being about 6ft 2in tall, and said he is now bald and unkempt.
Police found a Volkswagen minivan with registration plates from Graubuenden that the suspect was believed to be driving.
Therese Karrer, who often walks her dog in woods south of Schaffhausen, said she saw the suspect several times recently. She said Mr Wrousis showed up three or four weeks ago in the forest and chatted with her once when he was having breakfast by his car.