Actually, you have one more option: use a special protocol name (like "thisismyprotocol://....") and write custom protocol handlers that will read document from memory. Thought, it might be not such a good idea because of interop issues in the future. Aleksey