将Worklight应用程序部署到Windows 8专业版x64

时间:2014-01-10 11:46:42

标签: deployment windows-8 ibm-mobilefirst

我正在使用Worklight v6.1,而且我在将应用程序部署到Windows 8时面临一个问题,复制步骤如下:

  1. 将Windows 8环境添加到Worklight应用程序
  2. 使用worklight生产服务器设置构建应用程序,验证了正确的工作
  3. 将本机文件夹复制到Windows 8 pro x64环境,使用Visual Studio 2012 Ultimate打开其.jsproj文件
  4. 当我使用Win8模拟器运行此应用程序时,我得到0x2efd错误,然后是impossibile to add dynamic contentHost is not responsive的其他错误,显然应用程序无效。
  5. <。> .html文件包含对Worklight生产的正确引用,从安装在Windows8 pro x64中的Web浏览器我可以正确访问生产服务器。

    清单文件包含以下功能:

     <Capabilities>
        <Capability Name="enterpriseAuthentication" />
        <Capability Name="internetClientServer" />
        <Capability Name="internetClient" />
        <Capability Name="privateNetworkClientServer" />
      </Capabilities>
    

    这是javascript项目的visual studio控制台的屏幕截图:http://i.imgur.com/iyxLVZq.png

    Worklight静态属性如下所示:

    WL.StaticAppProps = {
       "APP_DISPLAY_NAME": "jqueryExtendedApplication",
       "APP_ID": "jqueryExtendedApplication",
       "APP_SERVICES_URL": "http:\/\/172.17.196.140:9080\/worklight\/apps\/services\/",
       "APP_VERSION": "1.0",
       "ENVIRONMENT": "windows8",
       "LOGIN_DISPLAY_TYPE": "embedded",
       "WORKLIGHT_PLATFORM_VERSION": "6.1.0.00.20131219-1900",
       "WORKLIGHT_ROOT_URL": "http:\/\/172.17.196.140:9080\/worklight\/apps\/services\/api\/jqueryExtendedApplication\/windows8\/"
    };
    

    如前所述,我可以使用以下链接从网络浏览器访问Worklight控制台:http://172.17.196.140:9080/worklight/console/#catalog

    成功添加了移动Web环境,就像我加载一个消息框的所有其他环境一样,该消息框指出应用程序正在尝试访问Worklight服务器以查找可用更新(如果我没有设置{{1}我真的没有得到它。预览网址为connect on startup

    如果它有用:我的应用程序的布局不适合任何屏幕,无论是在生产环境还是开发环境中: enter image description here

    我创建了一个空的windows8应用程序,添加了jquerymobile 1.3.2并进行了部署,开发服务器无法加载它,生产服务器成功加载但卡住显示旋转的齿轮: enter image description here

    更新:无需添加JQM,空应用程序即可运行。我认为这可能是其他应用程序的问题。 Windows 8环境不支持JQM v1.3.2吗?听起来很奇怪..

2 个答案:

答案 0 :(得分:1)

JQM和Win8 Store应用程序存在众所周知的问题。 (见:Windows 8 Phonegap Application JQuery Mobile Security Exception

有一些解决方法涉及编辑JQM以禁用Win8上的额外安全检查,但我还没有看到有人评论是否会打开一个真正的安全漏洞,所以我已经避免了它们。

我已经看到了编辑JQM的建议,以便在toStaticHTML()中包装导致问题的所有内容,但人们声称该解决方案会破坏其他内容,所以我没有跟进那条路径

我过去通过创建全屏iframe,并在Web容器而不是App容器中加载UI,成功构建了一个JQM Win8 Store应用程序。 (使用ms-appx-web://而不是ms-appx作为根文档的uri方案)这很有效,但这是一个很大的痛苦,因为与Worklight的所有通信都必须通过事件代理到父窗口。

我不知道在为Windows 8商店应用构建自定义移动框架之前,这个问题有一个很好的解决方案。

答案 1 :(得分:1)

我首先将这个问题解决了Worklight连接协议,经过深入分析并通过各种实验和测试,我发现这是一个可以解决思科VPN客户端和Windows8城域应用的奇怪行为的问题。与Metro应用程序一样运行的应用程序存在连接问题,从任何桌面浏览器运行它都运行良好。

这里有一些我觉得有用的链接:

detailed description

this solution works for me

解决方案很简单,我使用AppContainer Loopback Exemption Utility安装了Fiddler2,选择了所有安装的应用程序,并免除了操作系统阻止所有应用程序将网络流量发送到本地计算机。