.exe <-- SHELL "\\path_to_file\program.exe
.bat <-- CALL or INCLUDE. CALL is "to start another .kix script", INCLUDE to "treat the contents of a specified file as if those contents had appeared in the script at the point where INCLUDE appears". Is INCLUDE becoming absolete now?
.msi <-- SHELL "%SystemRoot%\whatever\msiexec.exe /parameters"
.reg <-- SHELL "%SystemRoot%\whatever\regedit.exe \\path_to_file\file.reg /parameters"

Is that how it's done?