I write my client code to look for a directory, one of the things you can do as a install is use a zip file, you can unzip and force to unpack to a known directory, handy when sending mnu's, bitmaps, code etc.
(vl-load-com)
(vl-mkdir "c:\\CAD-TOOLS")
(setq filename (getfiled "Select the File \"Cad tools 12-09-2023\"" "" "ZIP" 16))
; unzip
(startapp (strcat "powershell -command Expand-Archive -Path '" filename "' -DestinationPath 'C:/CAD-TOOLS' -FORCE"))
(alert "programs unzipped to C:/CAD-TOOLS")