2014-02-18 91 views
1

我希望install4j檢測應用程序是否安裝在客戶的Linux機器上,但它可能安裝在非標準位置。這可能嗎?我發現,似乎在Windows上運行的代碼庫的一些代碼,但我看不出如何能在Linux上做:ApplicationRegistry是否可用於Linux

installationApplicationRegistry.ApplicationInfo applicationInfo = ApplicationRegistry.getApplicationInfoByDir(context.getInstallationDirectory());

謝謝!

回答

1

它在Linux上工作,但它使用Java偏好存儲。如果您不以root身份進行安裝,則此信息將位於用戶特定的首選項存儲中,因此,如果使用同一用戶運行安裝程序,安裝程序將只能看到以前的安裝。

+0

啊哈!我在/root/.java/.userPrefs/com/install4j/installations/prefs.xml中看到了安裝路徑 - 謝謝! – user3170795

+0

訣竅是使用ApplicationRegistry.getApplicationInfoById()。對於附加安裝程序,Install4j最初沒有將sys.installationDir設置爲先前的安裝。 – user3170795