Prom Night

In 2005, Bridgeport native Donna Keppel, a high school freshman, returns home from a movie date with her friend Lisa Hines to find her father and little brother murdered. Donna hides under the bed, where she sees her mother struggling with her former teacher Richard Fenton, who had become obsessed with Donna. As Donna locks eyes with her mother, she witnesses Fenton murder her after refusing to tell him Donna's location.
In 2008, Donna, now a high school senior, is living with her Aunt Karen and Uncle Jack, and is about to graduate. She regularly visits her psychiatrist Dr. Elisha Crowe and takes anti-depressants to cope with her depression. Donna and her friends are getting ready to attend their senior prom. While at the hairdressers with Lisa and Claire, Donna turns around after seeing Fenton standing outside, but realizes she was just seeing things. Donna's boyfriend, Bobby arrives at her house, along with her friends and their boyfriends, Ronnie and Michael.
At the police station, Detective Winn, who imprisoned Fenton three years ago, learns that Fenton has escaped and warns Karen and Jack. Karen thinks Donna should come home, but Jack convinces her that Donna should stay at the prom and have a good time. At the prom, Fenton arrives at the hotel disguised as a man named Howard Ramsey. He reserves a room on Donna's floor and kills the housekeeper to get the master key. Claire has an argument with her boyfriend Michael, and goes up to her room with Donna to calm down. After Donna leaves, Claire hears noises and she sees Fenton, who stabs and kills her. When Claire does not return, Michael goes upstairs to see her. Fenton hides in the closet, but Michael sees him shut the door. Michael opens the closet, is thrown to the ground and is murdered.
Detective Winn arrives and warns the hotel staff. Fenton kills a hotel employee looking for the housekeeper. Lisa and Ronnie bump into Fenton in the elevator on their way to the room. While making out, Lisa realizes that she saw Fenton and runs off to warn Donna, which makes Ronnie sad as he was about to propose to her. After waiting for the elevator, Lisa takes the stairs, but she is caught by Fenton. She is chased down to a lower floor that is under construction. Lisa hears the elevator doors open and sees Ronnie call for her. Lisa quietly leaves her hiding spot and makes a run for it, but is killed by Fenton. Winn and Detective Nash find the body of the real Howard Ramsey in his car trunk. Winn goes up to the room under Ramsey's name and finds the housekeeper's body. Winn sounds the emergency alarm and has the hotel evacuated. Donna goes back to her room to retrieve her mother's shawl and runs into Fenton, who attacks her.
Realizing Donna is still inside, Winn races back up to the room. Donna manages to escape Fenton. SWAT and police search the hotel, but find no sign of Fenton. Winn discovers the body of the employee Fenton killed and realizes Fenton left the hotel in the employee's uniform. Winn races back to Donna's house and finds Nash dead in his squad car. Inside, Donna goes to the bathroom and returns to her bedroom to find Bobby dead with his throat slit. She sees a shadow out in the hall and she hides in her closet, thinking the shadow is Fenton's. The person in the hall is Winn and Fenton grabs Donna in the closet. Winn is about to open the closet, but hears a scream from Karen, from noticing the dead officer on the ground outside, so Winn runs to her bedroom. Donna is attacked by Fenton and a violent struggle ensues. When Fenton is about to stab Donna, Winn runs in and shoots Fenton several times, killing him. Donna cries over Bobby's corpse, and Winn tells her it is over.

Question: Who shot Fenton?
Answer: Winn