有没有什么方法可以在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
由于minigeek提到你将不得不做两个步骤......其实3。 1)。检查是否有提及的应用程序的卸载程序并首先运行。 2)。检查注册表并删除它们,但是你将不得不知道注册表项是如何创建的,如果你破坏了这个注册表项,你可能会破坏整个机器。 3)。按照您当前的操作删除文件夹。 仍然不确定为什么你需要这样做,这绝对只适用于Windows。 祝你好运。 –
@QuintonDelpeche是的。删除未知的注册表是潜在的危险。我添加了一个解决方案卸载(不完美,但它确实)。纠正我,如果我错了某个地方 – minigeek