我有一個java應用程序,我已經做了一個安裝程序。在代碼中,我需要知道用戶安裝應用程序的位置,因爲用戶需要將應用程序安裝到他最喜歡的目錄中。那麼如何使用java代碼來獲取這些信息呢?我需要它特定於Windows平臺。使用Java在Windows上查找應用程序的安裝目錄
回答
很難找出應用程序的安裝位置,因爲它是由用戶決定的。因此,獲取應用程序安裝目錄的一種方法是在Windows機器上使用環境變量。當你創建安裝程序時,設置一個環境變量(你可以創建一個名爲「XYZ」變量的新變量,或者也可以用於現有變量),並將其值設置爲應用程序目錄(因爲你沒有提到你正在使用的安裝程序所以我無法告訴你如何爲你的應用程序構建安裝程序)。一旦你完成了這些,你可以在java代碼中獲得這個環境變量的值,這會給你你的應用程序的安裝目錄。這裏是獲得的環境變量XYZ的值代碼:
System.getenv("XYZ");
你可以使用System.getProperty("user.dir")
這將給你的程序當前的工作目錄,但是這可能不是安裝目錄。
相反,從您的安裝,文件寫入到System.getProperty("user.home")
位置(稱之爲像.MyApplicationConfig
,使其隱藏的文件,或者把它放在{user.home}\AppData\Local
目錄內),其中包含由用戶選擇安裝位置。
這將使因爲它是存儲在一箇中央,已知位置
{user.home} \ AppData \ Local 是否足夠安全以保存我的應用程序使用的資源的路徑? 我的意思是如果這被刪除某種方式?你知道用戶;) – Safeer 2014-09-11 06:07:16
是............? – MadProgrammer 2014-09-11 06:07:57
在這種情況下,我將無法訪問資源路徑。對? – Safeer 2014-09-11 06:08:55
- 1. 使用Java查找應用程序的安裝目錄?
- 2. 如何找到Java應用程序的安裝目錄?
- 3. 使用Java在Windows上檢查已安裝的程序?
- 4. 在java中查找OSX上的應用程序支持目錄
- 5. 如何在Windows 10上找到已安裝的應用程序
- 6. 獲取應用程序安裝目錄
- 7. 檢查應用程序是否安裝在應用程序目錄
- 8. Java FX應用程序在同一目錄中安裝
- 9. 在Windows 7上安裝Java桌面應用程序O.S
- 10. msbuild可以在Windows上安裝應用程序,例如java JDK?
- 11. 在Mac/Linux上查找已安裝的應用程序
- 12. 在iphone上查找安裝的應用程序列表
- 13. C#找到應用程序的安裝目錄
- 14. 如何找到Qt應用程序的安裝目錄?
- 15. Unhandeld異常在Windows 7上安裝的Windows應用程序
- 16. 在windows vm上使用安裝程序安裝vmware工具
- 17. 在安裝程序類中獲取應用程序目錄
- 18. 查找tomcat安裝目錄
- 19. 在Python窗口中查找程序的安裝目錄
- 20. 查找Windows安裝程序信息
- 21. 如何在Windows上正確創建Mac應用程序/安裝程序(Java)?
- 22. Java應用程序安裝程序
- 23. 爲java web應用程序(linux和Windows)創建安裝程序
- 24. 覆蓋Python bdist的默認安裝目錄Windows安裝程序
- 25. Windows窗體應用程序C#安裝程序項目錯誤
- 26. 使用VS2010安裝項目安裝VB6應用程序
- 27. 枚舉在C++中安裝在Windows上的應用程序
- 28. 如何使用C#找到Windows服務的安裝目錄?
- 29. 使用.net windows安裝程序安裝VB6應用程序和dll
- 30. 使用msi安裝程序的安裝程序windows服務
(至少)兩種可能你閱讀一些時刻的文件,在未來,從任何地方。將位置(從您的安裝程序)寫入已知位置(可能位於'user.home'中)或使用'new File(「。」)'或'user.dir'來獲取對當前目錄的引用 – MadProgrammer 2014-09-11 05:37:27
這使我用戶的主目錄,C:\ users \ abc。我想獲取應用程序目錄,例如C:\ Program Files \ MyApplication。 MyApplication取決於用戶的選擇,他也可以使用不同的驅動器。 – Safeer 2014-09-11 05:43:30
在安裝程序的過程中將安裝位置寫入install.property文件,以及何時只需讀取文件即可。 – CharlesX 2014-09-11 05:43:49