Stand-alone applications containing debugged Prolog code and destined for end-users are typically packaged as runtime systems. No SICStus license is needed by a runtime system. A runtime system has the following limitations:
user:runtime_entry(start). 
Alternatively, you may supply a main program and explicitly
initialize the Prolog engine with SP_initialize(). 
break/0 and require/1 are unavailable.
     debug and
debugger_print_options have no effect.  The predicates
debugging/0, debug/0, nodebug/0, trace/0, notrace/0,
zip/0, nozip/0, unknown/2, leash/1,
spy/[1,2], nospy/1, nospyall/0,
add_breakpoints/2, remove_breakpoints/1,
current_breakpoint/5, disable_breakpoints/1,
enable_breakpoints/1, and execution_state/[1,2] are
unavailable. 
fcompile/1 is unavailable. 
Extended runtime system contain the compiler.
     discontiguous_warnings,
redefine_warnings, single_var_warnings have no effect. 
The user is not prompted in the event of name clashes. 
informational Prolog flag is off by default, suppressing
informational messages.
     version/[0,1] and help/0 are
unavailable.
     load_foreign_files/2,
is unavailable.
     profile_data/4 and
profile_reset/1 are unavailable.
     
SP_signal().