In a large mixing bowl, beat together butter and shortening at medium speed with an electric mixer; gradually add sugar and salt. Add eggs, one at a time, beating well after each addition; set aside.
Combine milk and flavoring; add to butter mixture alternately with flour. Spread into a greased and floured 10" tube pan. Bake at 325° for one hour or until a toothpick inserted in center comes out clean. Remove from pan; cool completely before frosting.
Caramel Frosting: In a saucepan over medium heat, combine all indredients except vanilla. Cook 15 minutes, stirring constantly. Remove from heat; stir in vanilla. Immediately spread over cooled cake.