1

我有一个用作公司应用程序中心的 Windows Phone 8 应用程序。

它将用于安装托管在服务器上的指定公司应用程序。

我正在尝试测试 InstallationManager.AddPackageAsync() 函数以通过应用程序安装分配的应用程序。我按照此处的所有步骤创建了一个空的测试分配应用程序(只是一个标题屏幕)并打包并签名了 .xap 文件:Company App Distribution for Windows Phone

因此,我在服务器上托管了我的公司中心应用程序以及分配给该测试的公司应用程序(两者都已签名,并且使用上述链接中所述生成的 AET 注册了设备。)

我很好地安装了公司中心应用程序,中心应用程序发现可用的分配应用程序并尝试使用 AddPackageAsync 安装它,它提示用户“你想从 MyCompany 安装 AssignedCompanyApp 吗?”

但是,单击“安装”并关闭提示对话框后,什么也没有发生 - 该应用程序未安装。我没有看到它列出,并且在使用 InstallationManager.FindPackagesForCurrentPublisher(); 搜索后它没有显示出来。

我不认为这是一个签名问题 - 设备已注册,并且中心应用程序和测试分配的应用程序都已预编译并使用我们的 PFX 文件签名。

此外,当我简单地将手机导航到 Internet Explorer 中分配给测试的应用程序 .xap 文件时,它会下载、安装并正常运行,并且当集线器应用程序随后运行 FindPackagesForCurrentPublisher() 时它会显示出来。

这是有问题的代码:

Uri uri = new Uri(@"http://www.myServer.com/xaps/MyAssignedCompanyApp.xap");
InstallationManager.AddPackageAsync("My Assigned Company App", uri);
4

1 回答 1

0

您需要将 AppPackageAsync 作为异步方法调用,如示例中所示:

Uri uri = new Uri(@"http://www.myServer.com/xaps/MyAssignedCompanyApp.xap");
await InstallationManager.AddPackageAsync("My Assigned Company App", uri);
于 2013-05-03T00:10:25.393 回答