Есть ли какой-либо способ в java, с помощью которого мы можем удалить приложение. Я разрабатываю приложение, используя которое мне нужно проверить, установлено ли приложение или нет. Если он установлен, сначала мне нужно удалить приложение и установить его более новую версию.Удалить приложение с помощью java
Если он не установлен, обратитесь непосредственно к установке. код, что я написал это:
String v = "C:\\Program Files\\InstalledFile";
File file = new File(v);
if(file.exists()==true)
{
System.out.print("file exist");
FileUtils.deleteDirectory(file);
System.out.print("deleted");
Runtime run = Runtime.getRuntime();
String msifile = "EP.msi";
String para="rundll32 SHELL32.DLL,ShellExec_RunDLL msiexec /qb /i C:\\Setup\\EP.msi REBOOT=ReallySuppress";
run.exec(para);
}
else
System.out.print("file won't exist");
В этом коде я удалить папку для удаления, но это не решение, так как приложения все еще существуют.
Использование Java для этого, кажется, как overcomplating вещи, так как вы будете наматывать работающие команды в любом случае. Вместо этого будет использовать powershell. http://stackoverflow.com/questions/113542/how-can-i-uninstall-an-application-using-powershell – Tobb
Как упоминалось выше, вы должны сделать два шага ... ну 3 на самом деле. 1). Проверьте, есть ли деинсталлятор для упомянутого приложения и его запуск в первую очередь. 2). Проверьте реестр и удалите их, но вам нужно будет знать, какие записи реестра созданы, и если вы сломаете это, вы можете сломать всю машину. 3). Удалите папку, как вы сейчас делаете. Все еще не знаете, зачем вам это нужно, и это определенно будет работать только для Windows. Удачи. –
@QuintonDelpeche Да. Удаление неизвестного реестра потенциально опасно. Я добавил решение для удаления (не идеально, но все же оно). Исправьте меня, если я ошибаюсь где-то, пожалуйста, – minigeek