没有管理员权限的

时间:2017-10-17 07:38:37

标签: java javafx wix windows-installer updates

我有一个JavaFX应用程序,当前使用WIX Toolset汇编到MSI安装程序包中,与某个JDK分发版(8u71)捆绑在一起。

捆绑的原因是在JDK版本8u71之后,出现了证书识别问题,因此应用程序必须独立于Java更新 - 之前,WebStart用于维护安装和更新。

现在的区别在于MSI安装程序始终需要管理员权限 - 用于安装和更新。这不再适合解决方案要求。

该应用程序适用于Windows 10。

所以问题是:如果我想进行更新而不需要管理员权限,我可以使用哪些选项? (需要管理员权限的初始安装很好)

E.g:

  1. 是否有可能以某种方式使WebStart使用用户的本地JDK安装而不是机器安装的Java?

  2. JDK和Java App都可以通过组装的安装程序(使用WIX Toolset或其他工具)安装在用户上下文中吗?

  3. 有没有办法更新JavaFX应用程序,而无需实际启动用于初始安装的同类MSI安装程序?

  4. 还有其他可能的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我认为JavaFX的自包含应用程序打包能够创建不需要管理员权限的安装程序。如果Wix不适合您,我建议您使用innosetup(JavaFX提供的另一个选项来创建Windows安装程序)。我认为innosetup会生成一个EXE安装程序,而不是MSI安装程序。

self contained packaging documentation开始,EXE安装说明了这一点:

  

默认情况下,生成的包具有以下特征:

     
      
  • 不需要管理员权限
  •   

有关更新与初始安装的说明

您提到了更新,而不是在您的问题中安装。我不知道自包含JavaFX应用程序的更新框架,但如果标准安装程序不提供您需要的更新功能,您可以研究是否有可用的JavaFX应用程序。我不是100%确定标准安装程序(例如通过Wix或Innosetup的MSI / EXE安装程序)的功能来处理更新而不仅仅是应用程序安装。

关于用户空间与系统范围安装的注意事项

我的理解是,JavaFX允许您选择使用哪种方法(用户空间或系统范围),在打包时使用某些打包工具(例如Wix或Innosetup,但我不知道哪个允许哪些选项)。只需阅读链接文档,它就可以更好地解释您的选择。