【问题标题】:How to recreate shortcut to webstart application?如何创建 Web 启动应用程序的快捷方式?
【发布时间】:2009-08-26 05:37:20
【问题描述】:

我在我的应用程序的 jnlp 描述符中使用快捷方式标记来为我的应用程序创建一个桌面链接和一个菜单项。

如果这些快捷方式在客户端上被删除 - 如何在没有用户操作的情况下自动重新安装它们? jnlp文件有配置选项吗?

(顺便说一句,我使用的是 java6)

【问题讨论】:

  • 如果有人有解决方案,我也很感兴趣!谢谢!

标签: java java-web-start jnlp


【解决方案1】:

这是一个自动方式的框架(你需要在你的类路径中 javaws.jar 才能工作):

IntegrationService is = null;
try
{
    is = (IntegrationService) ServiceManager.lookup("javax.jnlp.IntegrationService");
}
catch (UnavailableServiceException use)
{
    // integration service unavailable
}

if (!is.hasDesktopShortcut())
{
    if (!is.requestShortcut(true, true, "Companyapp"))
    {
        // failed to install shortcuts
    }
}
else
{
    // shortcuts already exist
}

【讨论】:

    【解决方案2】:

    请参考此链接 - http://mindprod.com/jgloss/javawebstart.html

    总结:如果您希望 JWS 重新创建 菜单和/或桌面快捷方式,删除 菜单项和桌面 图标,然后在 命令行然后单击按钮 创建快捷方式。如果任何一个 存在,javaws.exe 不会创建 其他。它也可能不会创建它们 你期待的地方,所以看 周围。

    【讨论】:

    • 谢谢!这行得通,但是:以所描述的方式,用户需要在客户端上手动执行此操作-如果可以自动完成此操作会更好,例如在从 web 启动期间,java 检查快捷方式是否存在 - 如果不存在,则安装它们!
    【解决方案3】:

    javaws 上用于 Java6 的 docs 表明您可以使用可执行文件来启动应用程序或执行它们调用控制选项的维护操作。

    其中两个选项是:

    javaws -uninstall <jnlp>
    javaws -import [import-options] <jnlp>
    

    你可以做的一件事是

    javaws -import -silent -shortcut <jnlp>
    

    因此,如果您可以运行一个脚本,该脚本首先卸载您的特定 jnlp 应用程序,然后静默重新导入它及其快捷方式,那么这将解决您的问题。我认为 Java 不会自动为您执行此操作。

    请注意,文档说它必须是静默安装才能使快捷方式选项起作用。另外,我还没有仔细检查这是否真的有效。

    【讨论】:

      【解决方案4】:

      我只是想对上述解决方案添加评论,以防它节省任何时间。

      如果您的应用程序安装在 WebStart 缓存中,但快捷方式已被删除(如在 java 更新期间,或用户删除) javaws -import -silent -shortcut 将不只是重新创建应用程序的快捷方式。至少对于 1.6.0_u35 和 u37。

      似乎 WebStart 会检查应用程序是否在缓存中,如果是,它只是退出 创建快捷方式。很失望……

      【讨论】:

        猜你喜欢
        • 2019-03-05
        • 1970-01-01
        • 2012-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-16
        • 2012-06-14
        • 1970-01-01
        相关资源
        最近更新 更多