Hello JackVR!
As you've found out, there is no direct support out of the box for what you want. A Revit instance must be running in order for an add-in to be executed. However, you can possibly sort of work around it if you figure out how to instantiate a Revit process that is hidden. Perhaps you can launch it in a separate desktop, one that is set to be out of screen. Even then, though, it is still a limitation that you cannot invoke your add-in from outside of Revit. The call must always come from within Revit. External command is out of the question, I presume, because there will be no user to click it and invoke it. However, I assume you do not need an external command anyway. My guess is that you want to do something to a model, and for that all you ought to need is one of the document events, most likely DocumentOpened. Or, as an alternative, you can do your task in an ApplicationIitialized event or in OnStartup method your external application implements. The following are the steps for one of the possible workflow:
1. Implement your functionality in an add-in (external application) and have it installed in Revit.
2. Design a simple standalone application (exe) that starts Revit in a separate process.
3. Use the standalone application to start Revit hidden somehow (or not hidden, if you do not care)
4. In the OnStartup method your application implements, subscribe to ApplicationInitialized event
5. When your add-in receives the event, open the document you want to analyze
6. When the document is opened, perform the analysis; output whatever you need to output.
7. Close the document.
8. Notify the standalone application that your task is finished. Perhaps some kind of inter-process messaging can be used - I suggest making it asynchronous.
9. Exit the ApplicationInitialized event handler
10. When the standalone application receives the inter-process message from your add-in, kill the Revit process.
Arnošt Löbel