Не понятен вопрос. Вы хотите запустить приложение и из него же подменить на что то другое? Типа обновления? Делайте как у jetbrains например. Из основного ПО уведомление, если пользователь подтвердил - запускаем другое приложение updater.jar, а это закрываем. Когда обновление произошло, updater.jar запустит основное ПО и закроется.