Deployment 将Worklight应用程序部署到Windows 8 pro x64

Deployment 将Worklight应用程序部署到Windows 8 pro x64,deployment,windows-8,ibm-mobilefirst,Deployment,Windows 8,Ibm Mobilefirst,我正在使用Worklight v6.1,在将我的应用程序部署到Windows 8时遇到了一个问题,复制步骤如下: 已将Windows 8环境添加到Worklight应用程序 使用worklight生产服务器设置构建应用程序,验证了正确的工作状态 已将本机文件夹复制到Windows 8 pro x64环境,并使用Visual Studio 2012 Ultimate打开其.jsproj文件 当我使用Win8模拟器运行此应用程序时,会出现0x2efd错误,随后出现其他错误,如无法添加动态内容,主机没

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

  • 已将Windows 8环境添加到Worklight应用程序
  • 使用worklight生产服务器设置构建应用程序,验证了正确的工作状态
  • 已将本机文件夹复制到Windows 8 pro x64环境,并使用Visual Studio 2012 Ultimate打开其.jsproj文件
  • 当我使用Win8模拟器运行此应用程序时,会出现0x2efd错误,随后出现其他错误,如
    无法添加动态内容
    主机没有响应
    ,显然该应用程序无法工作
  • .html文件包含对Worklight产品的正确引用,通过安装在Windows8 pro x64中的web浏览器,我可以正确访问生产服务器

    清单文件包含以下功能:

     <Capabilities>
        <Capability Name="enterpriseAuthentication" />
        <Capability Name="internetClientServer" />
        <Capability Name="internetClient" />
        <Capability Name="privateNetworkClientServer" />
      </Capabilities>
    
    如前所述,我可以使用以下链接从web浏览器访问Worklight控制台:
    http://172.17.196.140:9080/worklight/console/#catalog

    成功添加了移动web环境,与我加载一个消息框时收到的所有其他环境一样,该消息框指出应用程序正在尝试访问Worklight server以查找可用更新(如果我没有将
    启动时连接
    设置为true,我将无法获得它)。预览url为
    http://172.17.196.140:9080/worklight/apps/services/preview/jqueryExtendedApplication/mobilewebapp/1.0/default/jqueryExtendedApplication.html

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

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


    更新:在不添加JQM的情况下,空应用程序可以工作。我认为这可能是其他应用程序的问题。windows 8环境不支持JQM v1.3.2吗?听起来很奇怪。

    JQM和Win8应用商店应用程序存在众所周知的问题。(见:)

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

    我看到过一些建议,建议编辑JQM来包装导致toStaticHTML()中出现问题的所有内容,但有人声称该解决方案破坏了其他内容,因此我没有遵循这条路径

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


    除了为Windows 8应用商店应用程序构建自定义移动框架之外,我不知道有什么好的解决方案可以解决这个问题。

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

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


    解决方案是直截了当的,我使用AppContainer环回豁免实用程序安装了Fiddler2,选择了所有已安装的应用程序,并豁免了操作系统阻止所有应用程序向本地计算机发送网络流量

    当您说“通过安装在Win 8上的web浏览器,我可以正确地访问生产服务器”时,您的意思是能够加载Worklight Console吗?查看是否可以加载控制台-这是对Worklight服务器是否可访问的真正测试。正如您所说,我可以从Windows8 pro x64中安装的任何浏览器加载生产服务器的Worklight控制台。否。。。等等,您在步骤3中说您已将本机文件夹复制到windows 8计算机。因此,在生成本机文件夹的计算机中,您已将其指向windows 8计算机中的worklight服务器;但是您是否也通过windows 8计算机中的控制台部署了.wlapp?我有两台计算机,一台包含Worklight server(它是windows 7计算机),另一台是windows 8计算机。我在Windows7计算机中没有visual studio。在我复制WIndows8机器中的本机文件夹后,我使用这个部署了.wlapp,使用visual studio打开了.jsproj文件,并运行模拟器来测试应用程序。在Windows8机器中,我尝试访问WIndows7机器的Worklight控制台,并成功完成。您能否从运行在Win8模拟器中的浏览器访问Worklight控制台?我见过模拟器的网络堆栈没有连接到internet…或者连接速度不够快,应用程序无法到达服务器,即使主机操作系统可以毫无问题地到达服务器。嗨,David,我知道JQM和Windows8 metro应用程序有问题,但我创建并部署了一个简单的空应用程序,启用“ConnectOnStartup”选项,我的应用程序将无法连接到生产服务器(我测试过,可以从计算机访问该服务器)。我可以理解JQM可能有一些问题,但Worklight服务器没有。我该怎么办?找到Riccardo真是太好了。你能把这个也标记为已回答吗?
    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\/"
    };