legacy application is one for which an executable is available, but not the source code. Therefore it cannot use the BOINC API and runtime system. However, such applications can be run using BOINC. Here's an example:

Notes:

To understand how all this works: at the beginning of execution, the file layout is: "; list_start(); list_heading_array(array("Project directory", "slot directory")); list_item_array(array( "job_1.12.xml
input
input2
worker_5.10_windows_intelx86.exe
wrapper_5.10_windows_intelx86.exe ", " in (copy of project/input)
job.xml (link to project/job_1.12.xml)
stdin (link to project/input2)
stdout (link to project/worker_nodelete_0)
worker_5.10_windows_intelx86.exe (link to project/worker_5.10_windows_intelx86.exe)
wrapper_5.10_windows_intelx86.exe (link to project/wrapper_5.10_windows_intelx86.exe) " )); list_end(); echo " The wrapper program executes the worker, connecting its stdin to project/input2 and its stdout to project/worker_nodelete_0. The worker program opens 'in' for reading and 'out' for writing.

When the worker program finishes, the wrapper sees this and exits. Then the the BOINC core client copies slot/out to project/worker_nodelete_1. "; page_tail(); ?>