Preheat the oven to 350 degrees. Grease a 9 x 13 inch pan. Set aside.
In the bowl of an electric mixer, beat together the vegetable oil and sugars until smooth. Add the eggs, beating well after each addition. Add the vanilla extract and continue to beat until fluffy.
In another mixing bowl, whisk together the flour, baking powder, soda, cinnamon, and salt. Add to the egg mixture and beat on low speed until no white streaks remain. Fold in the shredded zucchini.
Pour the batter into the prepared pan and bake for 35-40 minutes, or until the center springs back when touched. Remove from oven and allow to cool before frosting.
Meanwhile, beat together the cream cheese, butter, milk, and vanilla. Add the powdered sugar in two portions, beating on low speed then increasing to high as the sugar is incorporated. Add a pinch of salt if desired. Spread evenly on the cooled cake.
Cake can be stored in an airtight container for several days.