Yazdığım bir Java masaüstü uygulamasına sahibim. Yürütme sırasında sistemde tanımlı varsayılan yol adında klasörler ve dosyalar oluşturuyorum.kullanıcı çalışma dizini: XP vs Vista
Java.io.files açıkça belirtmektedir: By default the classes in the java.io package always resolve relative pathnames against the current user directory. This directory is named by the system property user.dir, and is typically the directory in which the Java virtual machine was invoked.
ek olarak, kurulum ve kısayollar oluşturmayı etkinleştirmek için IzPack kullanıyorum.
Uygulamamı XP bilgisayarımda çalıştırdığımda, yüklemeden sonra bir masaüstü kısayolu alıyorum ve söz konusu dosya ve klasör oluşturma işlemi, Jar'ın Jar'ı yüklediği konumda. beklenen davranış.
Ama bunu bir Vista makinesinde test ettiğimde, klasörler ve dosyalar masaüstünde oluşturuluyor! Jar doğru yerde olsa bile (c: \ program files .. etc).
Bu dosyaların, Jar'ın bulunduğu klasörde ve kesinlikle masaüstünde oluşturulmasını istiyorum.
Burada neler olup bittiğine dair herhangi bir fikir verebilir mi?
Yazma Vista'daki c: \ program dosyalarının UAC rızasına ihtiyacı var, bu yüzden Sistem'in masaüstünü bir geri dönüş olarak kullandığını sanıyorum. –
Geri dönüşü kontrol edebileceğimin bir yolu var mı? – uzil24
Çekirdek uygulama kitaplıkları ve benzeri için varsayılan java uygulaması yüklemesini yine de% PROGRAMFILES% içinde ayarlayabilirsiniz. Ancak, ** kullanıcı/veri yapılandırmalarınızı ** herhangi bir Windows işletim sistemi altında% PROGRAMFILES% içinde herhangi bir yerde kaydetmek yerine, System.getProperty ("user.home") 'veya' System.getenv ("USERPROFILE") kullanma hakkında) java uygulamanızın içinde, kullanıcı/uygulamanın bir şeyi değiştirmesini kolaylaştıran özel bir klasörle? –