The shooter was not identified, nor was the wounded 50-year-old sergeant, who was expected to survive the 2:20 p.m. shooting, the Detroit Free Press reported.
Eric Hawkins, chief of the Detroit suburb's police department, said the motive for the shooting was uncertain.
Hawkins said the man tried first to shoot at an officer behind protective glass in the lobby but his gun apparently didn't fire. But when responding officers ordered him to drop his when he fired on them, hitting one in the shoulder.
The gunman was shot several times and died at a hospital, the chief said at a news conference.
"We always try to resolve these incidents non-violently if we can," Hawkins said. "However, the use of force was unavoidable in this circumstance."