Похоже, вы не просите об установке самой установки Eclipse, а о размещении какой-либо другой программы.
В таком случае у вас есть две проблемы. Во-первых, ваш код будет специфичным для платформы, и два, нет гарантированного способа сделать это для произвольных программ. Основываясь на вашем сообщении, я предполагаю, что вас интересует Windows.
Если вы знаете, что программа находится в системной переменной PATH, вы можете использовать команду where
. where.exe someappinpath.exe
вернет путь к текущим версиям Windows. Чтобы на самом деле выполнить команду с Java, вы можете использовать простой вызов Runtime.getRuntime().exec()
или посмотреть this question, чтобы улучшить его.
Если программа не может быть в PATH, хорошо, если вы знаете, что она пишет в реестр Windows. Тогда вы можете под HKCU\Software
или под HKLM\Software
, возможно, найти данные приложения и место установки. Опять же, это требует знания того, что приложение сохраняет в реестре.
Просматривая SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
под обоими HKCU
и HKLM
, вы получите информацию обо всех программах, в которых записана информация об удалении. К сожалению, некоторые программы этого не делают, но если это так, вы не можете рассчитывать ни на что.
В качестве последнего средства вы можете искать диски для файла, соответствующего имени исполняемого файла программы. Это не очень хороший метод, он медленный, и вы рискуете найти неправильный файл.
С чисто практической точки зрения, если ваш плагин опирается на какой-то программе третьей стороны, я бы сначала попытаться автоматически найти программу (через where
или глядя вверх известный ключ реестра, или место установки по умолчанию) и если это не удается, попросите пользователя указать местоположение программы.
Спасибо DUman. Это, похоже, решает мою проблему. Я буду оценивать свои возможности против ваших решений, чтобы то, что я могу сделать. –