The Problem
Have you ever wanted to run a C# or VB.NET program like a script? Have you ever wanted to coordinate the actions of multiple scripts running together on the same machine or across multiple machines? Can you build simple or complex components using a familiar programming language just as if it was a scripting language? Can you update a running component when a new version of the component is available without taking down the whole system?
The Solution
ScriptBox is a runtime environment for building C# and VB.NET applications with the ease of running a script from the command line. ScriptBox creates a powerful solution for managing source code files and provides a powerful runtime system to get the source code compiled and running. ScriptBox handles all the details of compiling, adding references to external DLLs, and keeping an eye on your running threads. ScriptBox provides each script with the ability to run as a console application or as a service.
![]() |
![]() |
How Does it Work?
ScriptBox loads one or more C# or VB.NET source code files and prepares them for compiling. Next, ScriptBox loads the required DLL files and user created support files (more DLL files) needed by the component. Once the DLLs are loaded, user created settings are loaded into memory to customize the runtime environment. These user created settings can be used and modified as needed by each component. Finally, ScriptBox starts the program on its own thread protected by its own application domain which provides a protective shell around each running script/component.
Components can call upon ScriptBox to manage long running components and remove them from memory. Each component can check for a newer source code version of itself and load it on demand into memory.
ScriptBox has a local and remote communication channel that allows components to use and update local or remote ScriptBox settings. Scripts can easily execute locally or on a remote computer running ScriptBox. ScriptBox also provides for easy to use communications using Microsoft Message Queues.
Communication Channels: Commands, Data and Component Flows
ScriptBox supports the flow of commands, data and software components across the WCF channels. ScriptBox can move software components between any number of remote ScriptBox systems. So if a solution requires the deployment of a series of components, ScriptBox can easily move some or all components across the network with only a few lines of code.
Summary
ScriptBox provides a powerful runtime environment for small and medium sized components that require the ease of running a script, with the power of a fully capable programming language. Simple “glue” logic applications can be designed quickly using your favorite .NET language, or more powerful multi-component applications can be designed with the ability to unload and load new components as needed.
The next time you need to write a script or stand-alone component, think outside the box and use a language you already know. Make a change and move scripting to the next level with the simplicity of script-like functionality. Don’t just script it, ScriptBox it!




