有沒有什麼方法可以在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