我已经构建了一个公司中心应用程序来下载和安装Windows Phone 8.1的其他应用程序。通过InstallationManager.AddPackageAsync()安装经认证的XAP包。
当App已经安装并且我想再次安装它时,让我们说一个更新的版本,我从HRESULT得到错误:异常:0x81030137。是否有可能得到这个处理?如果我卸载应用程序,然后尝试再次安装它工作正常。但是我想将公司应用程序作为更新门户而不需要手动删除旧的应用程序。
答案 0 :(得分:0)
我遇到了同样的问题然后我注意到WMAppManifest.xml中的Publisher ID错误了。 我更改了这一点,将已签名的版本发布到手机上,然后当我尝试使用其他更高版本再次更新时,它就有效了。
答案 1 :(得分:0)
您可以使用相应的HRESULT
值来捕获系统异常:
catch (Exception ex)
{
int hr = ex.HResult;
if (hr == -2130509513 )
{
// the application is already installed
}
}
同样,如果您想要处理一个场景,在您尝试上传旧版本的应用程序但已安装最新版本的情况下,您可以采用与上面类似的方式捕获异常,其中 HRESULT值为 - 2147009274
如果您尝试使用较新版本更新应用程序,可以将应用程序及其各自的版本存储在字典中,并将传入版本与现有版本进行比较,并在传入版本大于现有版本时进行更新。