Flash и Silverlight не предназначены для этого требования.
ActiveX будет работать, но вы правы, это решение только для IE. Если поддержка Firefox важна, то либо вам нужно использовать как ActiveX, так и расширение Firefox, либо это не так.
Так что это оставляет Java-апплет. Если возможно предоставить апплету Java правильный доступ для запуска другого приложения, и есть канал, который вы можете использовать для связи между ними, то это так. Конечно, это звучит как первая строка запроса, которую вы должны продолжить.