Saving Private Ryan

In the present day, an elderly World War II veteran and his family visit the Normandy American Cemetery and Memorial in Normandy, France. The veteran walks around the cemetery and, upon seeing one specific gravestone, collapses to his knees, overwhelmed by emotion.
The film flashes back to the morning of June 6, 1944, the beginning of the Normandy Invasion, as American soldiers prepare to land on Omaha Beach. They suffer heavily from their struggle against German infantry, machine gun nests, and artillery fire. Captain John H. Miller, a company commander of the 2nd Ranger Battalion, survives the initial landing and assembles a group of his Rangers to penetrate the German defenses, leading to a breakout from the beach. After the battle, the body of a dead soldier lying face down on the beach, with "S. Ryan" inscribed on the back of his uniform, is shown.
Meanwhile, in Washington, D.C, at the U.S. War Department, General George Marshall is informed that three of the four brothers of the Ryan family were killed in action and that their mother is to receive all three telegrams in the same day. He learns that the fourth son, Private First Class James Francis Ryan, is a paratrooper and is missing in action somewhere in Normandy. Marshall, after reading Abraham Lincoln's Bixby letter, orders that Ryan must be found and sent home immediately.
Three days after D-Day, Miller receives orders to find Ryan and bring him back from the front. He assembles six men from his companyâT/Sgt. Mike Horvath, Privates First Class Richard Reiben and Adrian Caparzo, Privates Stanley Mellish and Danny Jackson, medic Irwin Wadeâand T/5 Timothy Upham, a cartographer who speaks French and German, loaned from the 29th Infantry Division. Miller and his men move out to Neuville; there, they meet a squad from the 101st Airborne Division. Caparzo dies after being shot by a sniper.
Eventually, they locate a Private James Ryan, but soon learn that he is not their man. They find a member of Ryan's regiment who informs them that his drop zone was at Vierville and that his and Ryan's companies had the same rally point. Once they reach it, Miller meets a friend of Ryan's, who reveals that Ryan is defending a strategically important bridge over the Merderet River in the fictional town of Ramelle. On the way to Ramelle, Miller decides to neutralize a German machine gun position, despite the misgivings of his men. Wade is fatally wounded in the ensuing skirmish, but Miller, at Upham's urging, declines to execute a surviving German, nicknamed "Steamboat Willie", and sets him free on condition that he give himself up as a prisoner of war to the first Allied unit he encounters. No longer confident in Miller's leadership, Reiben declares his intention to desert the squad and the mission, prompting a confrontation with Horvath. The argument heats up until Miller defuses the situation by disclosing his background in civilian life, about which the squad had earlier set up a betting pool. Reiben then reluctantly decides to stay.
Upon arrival at Ramelle, Miller and the squad come upon a small group of paratroopers, one of whom is Ryan. Ryan is told of his brothers' deaths, the mission to bring him home, and that two men had been lost in the quest to find him. He is distressed at the loss of his brothers, but does not consider it fair to go home, asking Miller to tell his mother that he intends to stay "with the only brothers [he has] left." Miller decides to take command and defend the bridge with what little manpower and resources are available. Using his own men and the accompanying paratroopers, Miller forms ambush positions throughout the ruined town for the tanks and infantry utilizing Molotov cocktails, detonation cords, and "sticky bombs" made from socks and TNT.
Elements of the 2nd SS Panzer Division arrive with infantry and armor. Although they inflict heavy casualties on the Germans, most of the paratroopers, along with Jackson, Mellish, and Horvath, are killed. While attempting to blow the bridge, Miller is shot and mortally wounded by Steamboat Willie, who has rejoined the Germans. Just before a Tiger tank reaches the bridge, an American P-51 Mustang flies overhead and destroys the tank, followed by American armored units which rout the remaining Germans. Upham surprises a group of German soldiers as they attempt to retreat. Steamboat Willie, raises his hands in surrender, believing that Upham will accept because of their earlier encounter. Having witnessed Captain Miller being shot by Steamboat Willie, Upham shoots him and lets the other surviving Germans flee.
Reiben and Ryan are with Miller as he dies and says his last words, "James ... earn this. Earn it." The film returns to the present and it is revealed that the veteran is Ryan and the grave he is standing at is Miller's. Ryan asks his wife to confirm that he has led a good life, that he is a "good man" and thus worthy of the sacrifice of Miller and the others. His wife replies, "You are." At this point, Ryan stands at attention and delivers a salute toward Miller's grave.

Question: Who finally shoots Steamboat Willie?
Answer: Upham shoots him