2014-02-18 34 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