2017-10-21 208 views
2

我正在尝试使用Windows 10 Fall Creators更新中的新更新程序来更新我在应用商店外发布的UWP应用程序。秋季创作者更新UWP App Installer更新程序无法正常工作

我使用的是.appinstaller文件,并触发与这样的链接安装:ms-appinstaller:?source=https://xxx.s3.amazonaws.com/xxx.appinstaller

初始和更新版本的安装都以这种方式工作。

但是,更新不会自动安装。

我.appinstaller文件:

<?xml version="1.0" encoding="utf-8"?> 
<AppInstaller 
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2017" 
    Version="1.0.77.0" 
    Uri="https://xxx.s3.amazonaws.com/xxx.appinstaller" > 

    <MainBundle 
     Name="4f479232-f509-428e-a58a-65652003c90f" 
     Publisher="CN=xxx, O=xxx, L=xxx, C=DE" 
     Version="1.0.77.0" 
     Uri="https://xxx.s3.amazonaws.com/xxx/Packaging_1.0.77.0_Test/Packaging_1.0.77.0_x86_x64.appxbundle" /> 
    <UpdateSettings> 
     <OnLaunch/> 
    </UpdateSettings> 
</AppInstaller> 

更新.appinstaller文件的区别仅在于版本beeing 1.0.78.0和MainBundle-URL指向更新包。所有的代码签名都是有效的。

我还没有为这个更新程序修改该应用程序。

捕捉与Fiddler连接的更新程序不成功。

我真的很感激任何帮助,因为我甚至不知道如何调试。 应用程序安装程序是否在任何地方创建日志?

-

PS C:\Users\marvin> Get-AppxPackage -Name 4f479232-f509-428e-a58a-65652003c90f 


Name    : 4f479232-f509-428e-a58a-65652003c90f 
Publisher   : CN=xxx, O=xxx, L=xxx, C=DE 
Architecture  : X64 
ResourceId  : 
Version   : 1.0.77.0 
PackageFullName : 4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_x64__1mez93s8c8axt 
InstallLocation : C:\Program Files\WindowsApps\4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_x64__1mez93s8c8axt 
IsFramework  : False 
PackageFamilyName : 4f479232-f509-428e-a58a-65652003c90f_1mez93s8c8axt 
PublisherId  : 1mez93s8c8axt 
IsResourcePackage : False 
IsBundle   : False 
IsDevelopmentMode : False 
Dependencies  : {4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_neutral_split.scale-100_1mez93s8c8axt, 
        4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_neutral_split.scale-400_1mez93s8c8axt} 
IsPartiallyStaged : False 
SignatureKind  : Developer 
Status   : Ok 

编辑:由于张贴这,我发现描述日志和错误代码的页面:https://msdn.microsoft.com/en-us/library/hh973484.aspx# 在AppXDeployment-Server日志我看到,大干快上我的应用程序的每一个开始记录的事件:

Type: info, DeploymentOperation 31 
Message Started deployment UpdateUsingAppInstallerOperation on a 
package with main parameter 4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_x64__1mez93s8c8axt 
and Options: 0 and 0. See http://go.microsoft.com/fwlink/?LinkId=235160 
for help diagnosing app deployment issues. 

编辑2:我创建了一个示例项目,显示这里这个问题:https://github.com/Marv51/appxUpdater

您可以从以下网址下载已编译,已签名和打包的二进制软件包:https://testingappxupdater.s3.amazonaws.com/index.html

+0

我也无法使.appinstaller工作。看到https://twitter.com/tonyvca/status/921693502722990082 – Tony

+0

@Tony安装与.appinstaller在这里工作,只有更新器部分不起作用。但是我将它用于Desktop Bridge App,因此没有依赖关系。 – marv51

+0

我认为AppInstaller版本应该是1.0.0.0 Tony

回答

0

@ marv51 - Windows 10部署服务目前仅在每次启动应用程序时每24小时检查一次更新。因此,请尝试在24小时后再次启动该应用程序,并在启动的应用程序关闭后应用更新。

如果您不想等待,您可以转发系统时钟24小时并再次启动应用程序以触发更新。

+0

部署服务是否在任何地方记录任何附加输出?我可以设置详细/调试标志或什么?我可以从PowerShell启动进程吗?我等了24小时试了一下,没有更新。 我设定时钟前进一天,重新启动,启动应用程序,等待5分钟,退出应用程序,再次启动应用程序,同一版本。 EventViewer在每次启动时都显示相同的UpdateUsingAppInstallerOperation。而已。 – marv51

+0

很抱歉听到这个消息。没有办法从PowerShell触发更新过程。您可以使用PowerShell安装.AppInstaller文件。 您可以验证您是否可以手动安装已更新的.AppInstaller文件而没有任何问题? – Chait

+0

我已验证手动触发时,新版本安装成功。 – marv51

1

下面是我遵循的详细步骤:

  1. 有一个正确构建AppInstaller文件。在我的测试中,Uri元素属于<AppInstaller>属性。
  2. 通过使用自定义方案ms-appinstaller:?source=<http://...>
  3. 验证安装在AppInstaller文件中指定的一个版本安装它。
  4. 通过递增<AppInstaller>属性下的Version元素来修改AppInstaller文件。
  5. 修改<MainBundle><MainPackage>属性下指定的应用程序包以引用新版本。确保名称,版本,发布者都匹配应用清单中指定的元素。
  6. 将其保存并上传到Web服务器中的相同位置。
  7. 请等待24小时或将您的系统时钟向前移动24小时。 how to change system clock
  8. 24小时后,再次启动应用程序并关闭它。在此应用程序的启动时,应该触发更新检查。关闭应用后,更新将成功完成。
  9. 再次启动应用程序,这次它应该是新版本。根据更新的大小,可能需要更长的时间才能完成更新操作。
+0

好的步骤解释!!!! 非常感谢!你是上帝! 但我找不到有关触发更新事件的任何信息。应用程序是否包含.appinstaller文件,以便通过应用程序文件(在服务器上)检查和竞争新版本? 是否将应用程序打包到自己的appinstaller文件中?它如何确定.appinstaller和.appxbundle文件的URL? 预先感谢您。 –