The "for_redistribution" folder contains the MATLAB Compiler Runtime(MCR) installer bundled with the application executable. Running this installer will help the user to install MCR as well as the compiled application on a system. Alternatively, the user can also install the MCR by downloading it and installing it from MathWorks website. However, installing the MCR from "for_redistribution" folder avoids the hassle of finding and installing the correct version of MCR required for the application to run.
The files in "for_redistribution_files_only" are the executable file of the compiled application and some additional icons required by the application. This folder does not include the installer. Hence if the end user of the application has MCR installed, he can directly run the application executable from the "for_redistribution_files_only" folder.
The files compiled using application compiler are ideally not be suitable for use in an embedded target system. Embedded systems generally have space and time constraints. The complied application needs an additional runtime to be installed on the system before executing the application(which is not suitable for an embedded target). The compiled application may not meet the time constraints suitable for a time critical applications. I would suggest you to try the embedded coder product which converts MATLAB code to C code that is suitable for an embedded system.
Best Answer