P.S.:
Since I assume that most of the time the set-up was already successfully done with a camera, we should use the data of the camera mapping.
In this simple XPresso set up, the slide [Plane] for the light projection is, as the light, based on the camera position and field of view.
The calculation in the XPresso follows a hierarchy, see the arrow in the clip.
The Plane with the image can made “invisible” for the [render-] camera with the use of an Compositing Tag attached to the Plane, “Seen by Camera” is set to off.
Objects that shouldn’t be included in the projection, i.e., do not receive light from it, can be dragged into the Project list of the Light, set to Exclude.
I have left the light as default, but Inverse square, since it’s a point source (or a none parallel source), could be used if needed. As well as Detail. Contrast, etc.
Scene file and a one minute capture:
https://www.amazon.com/clouddrive/share/ouaM3FY0w4LMWEKgsZgX3FvMBGB81mH6JtbMmWnszZ8
I hope that works, as I haven’t seen you project, so this is just an idea.
All the best