A man wielding a chainsaw injured five people at an insurance office in a small Swiss town before fleeing, police said.
Police put the centre of Schaffhausen into lockdown and began a manhunt for the suspect they identified as 51-year-old Franz Wrousis.
They said the assault was "not an act of terror", but also not random.
"This is not an attack against a hypothetical person. This is clearly against people from the insurer," police Major Ravi Landolt told a news conference, adding that the exact motive was still under investigation.
Swiss authorities distributed pictures of the suspect whom Chief Prosecutor Peter Sticher described as "aggressive, dangerous and mentally conspicuous".
They warned residents to avoid contact with the man, who they said had twice been convicted of weapons offences and was believed to be living in the wild since moving out of a home in the eastern Swiss canton of Grisons.
Two of the victims were seriously injured but their lives were not in danger.
Swiss health insurer CSS said two of its employees were injured when the man charged into their office on a shopping street in the centre of Schaffhausen, a medieval town of 36,000 people on Switzerland's northern border with Germany.
"They're currently in the hospital and being operated on," a spokeswoman said.
CSS did not yet have information on any possible link the suspect might have to the company, she said, and also did not know if the three others injured were customers or passersby.
Police said the other three victims had been in the same office building or in the immediate vicinity.
Police had recovered a vehicle sought in connection with the incident, which they said was apparently the work of the single suspect