By default in standard 3dsmax the Camera Map Modifier has a projection aspect ratio the same as the camera/render resolution, this isn’t good if you need to project a portrait image on a landscape render. Whilst there are plugins/MCG/OSL solutions to this, my solution works on standard max, with no plugins needed to reload the scene. It even works on CameraMapPerPixel too. It simply works by scaling the camera based on the render resolution aspect to match the texture’s aspect ratio.
The script is quite clever and will automatically find a texture on the object that the camera-map is projecting with that is on the same channel ID. So all you need do is select the camera. If you need to change the aspect ratio of your render just re-run this script to fix all your projections.
Get it here on ScriptSpot.