NuGet昨日(2022-07-02)交付Microsoft.WindowsAppSDK v1.1.2
。我更新的WinUI 3程序现在运行时会产生以下消息:
This application requires the Windows App Runtime Version 1.1
(MSIX package version >= 1002.543.1943.0)
我卸载了以前版本的运行时,并运行了建议的安装程序(从一个提升的PowerShell提示符):
Installing license: MSIX_MAINPACKAGE_LICENSE
Install result : 0x0
Installing license: MSIX_SINGLETONPACKAGE_LICENSE
Install result : 0x0
Deploying package: Microsoft.WindowsAppRuntime.1.1_1000.516.2156.0_x64__8wekyb3d8bbwe
Package deployment result : 0x0
Deploying package: Microsoft.WindowsAppRuntime.1.1_1000.516.2156.0_x86__8wekyb3d8bbwe
Package deployment result : 0x0
Deploying package: MicrosoftCorporationII.WinAppRuntime.Main.1.1_1000.516.2156.0_x64__8wekyb3d8bbwe
Package deployment result : 0x0
Provisioning result : 0x0
Deploying package: MicrosoftCorporationII.WinAppRuntime.Singleton_1000.516.2156.0_x64__8wekyb3d8bbwe
Package deployment result : 0x0
Provisioning result : 0x0
Deploying package: Microsoft.WinAppRuntime.DDLM.1000.516.2156.0-x6_1000.516.2156.0_x64__8wekyb3d8bbwe
Package deployment result : 0x0
Provisioning result : 0x0
Deploying package: Microsoft.WinAppRuntime.DDLM.1000.516.2156.0-x8_1000.516.2156.0_x86__8wekyb3d8bbwe
Package deployment result : 0x0
Provisioning result : 0x0
All install operations successful.
虽然没有包FullNames包含寻找的版本号1002.543.1943,这是结果:
(get-appxpackage micro*win*appruntime*).packagefullname
Microsoft.WindowsAppRuntime.1.1_1002.543.1943.0_x64__8wekyb3d8bbwe
Microsoft.WindowsAppRuntime.1.1_1002.543.1943.0_x86__8wekyb3d8bbwe
MicrosoftCorporationII.WinAppRuntime.Main.1.1_1002.543.1943.0_x64__8wekyb3d8bbwe
Microsoft.WinAppRuntime.DDLM.1000.516.2156.0-x6_1000.516.2156.0_x64__8wekyb3d8bbwe
MicrosoftCorporationII.WinAppRuntime.Singleton_1002.543.1943.0_x64__8wekyb3d8bbwe
Microsoft.WinAppRuntime.DDLM.1000.516.2156.0-x8_1000.516.2156.0_x86__8wekyb3d8bbwe
除DDLM组件外,所有组件都是必需的版本(注意,如果您不以管理员身份运行安装程序,则只能获得主要运行时组件的1002版本)。. main *和. singleton *将为_1000.516.2156)。
问题是,程序正在寻找DDLM模块,它们都有1000.516.2156.0
的MSIX版本号(尽管它们也依赖于Microsoft.WindowsAppRuntime.1.1_1002.543.1943.0_x??__8wekyb3d8bbwe
)。
有人知道我在哪里可以得到运行时的1002.543.1943.0_x??
DDLM组件的MSIX吗?还是包含所有具有所需版本号的组件的运行时安装程序?
谢谢你的帮助。
截至今天(2022-07-05),微软官方页面上的下载链接(Windows应用程序SDK下载)包含Windows应用程序运行时的最新更新(v1.1.2)的所有正确版本。
只是一个注意:在运行WindowsAppRuntimeInstall.exe
之前,我从PowerShell提示符中删除了所有以前安装的运行时。运行(get-appxpackage micro*win*appruntime*).packagefullname
报告没有包,但试图安装新的运行时仍然给了我一个错误(包已经安装,但与安装的版本有不同的内容)。虽然我是这台机器的唯一用户,但以前的安装将运行时添加到系统帐户中。
要查看所有安装,在提升的PowerShell提示符下运行(get-appxpackage micro*win*appruntime* -AllUsers).packagefullname
。查找版本为1002的运行时版本。、DDLM。1001和DDLM.1000。这些可能是罪魁祸首,因为在7月1日首次发布运行时安装程序(v1.1.2)之后,它们都存在于不同版本的运行时安装程序中。执行Remove-AppxPackage -AllUsers -PackageName {package full name}
命令,将它们从所有用户中移除。在删除可能存在于"淘气"中的版本后。包,尝试再次运行新的WindowsAppRuntimeInstall.exe
。
我所学到的(感谢@aturnbul)是,为了确保正确的框架包更新:
- 关闭WinUI 3图库和任何其他使用该框架的应用程序。
- 使用由aturnbul列出的PowerShell命令删除所有旧的包 <
- 运行strong>WindowsAppRuntimeInstall.exe从一个提升的命令提示符,所以你可以看到任何错误,它可能抛出。
回到PS中,您可以验证安装是否完成。
//安装失败后,您只能获得部分包列表
PS C:Windowssystem32> (get-appxpackage micro*win*appruntime* -AllUsers).packagefullname
Microsoft.WindowsAppRuntime.1.1_1004.584.2120.0_x86__8wekyb3d8bbwe
Microsoft.WindowsAppRuntime.1.1_1004.584.2120.0_x64__8wekyb3d8bbwe
//安装成功后你会得到所有的包
PS C:Windowssystem32> (get-appxpackage micro*win*appruntime* -AllUsers).packagefullname
Microsoft.WindowsAppRuntime.1.1_1004.584.2120.0_x86__8wekyb3d8bbwe
Microsoft.WindowsAppRuntime.1.1_1004.584.2120.0_x64__8wekyb3d8bbwe
MicrosoftCorporationII.WinAppRuntime.Main.1.1_1004.584.2120.0_x64__8wekyb3d8bbwe
MicrosoftCorporationII.WinAppRuntime.Singleton_1004.584.2120.0_x64__8wekyb3d8bbwe
Microsoft.WinAppRuntime.DDLM.1004.584.2120.0-x6_1004.584.2120.0_x64__8wekyb3d8bbwe
Microsoft.WinAppRuntime.DDLM.1004.584.2120.0-x8_1004.584.2120.0_x86__8wekyb3d8bbwe