Preheat oven to 350. Line 2 greased 15x10x1-in. baking pans with parchment and grease the paper. Set aside.
In a large bowl, combine cake mix, pudding mix, water, eggs and oil. Beat on low speed for 30 seconds; beat on medium for 2 minutes.
Spread batter into prepared pans. Bake until a toothpick inserted in the centers come out clean, 12-15 minutes. Cool for 5 minutes before inverting onto wire racks to cool completely. Gently peel off waxed paper.
Meanwhile, in a small saucepan, whisk flour and milk until smooth. Bring to a boil; cook and stir until thickened, about 2 minutes. Remove from the heat; cover and cool to room temperature.
In the bowl of a heavy-duty stand mixer, cream butter, shortening and sugar until light and fluffy, 5-7 minutes. Beat in vanilla. Add milk mixture; beat on high until fluffy, 10-15 minutes.
Place one cake on a large cutting board; spread top with frosting. Top with remaining cake. Cut into squares. Refrigerate leftovers.