The talk tackles the problem of adding/removing applications at runtime in an OSGi-based product solution, e.g. an application server. The problem occurs any time you have a running solution, and you are not allowed to stop your solution for a moment. Thereby, an application is a well defined set of bundles. Such a set of bundles have to be added or be removed consistently in a running system. Best practice guidelines are given to solve this kind of problems for your solution. Patterns for starting and stopping of bundles during runtime are provided including loading and unloading of application bundles dynamically. A special focus is set on bundle start order execution at runtime. Guidelines how to avoid duplicated as well as unresolved bundles are given. Finally, an application loader implementation which is freely available is shortly introduced.