卡在 Desktop App Converter 的 AppX 中

Stuck with dependencies in an AppX from Desktop App Converter

我终于成功地使用 Desktop App Converter 将我的桌面应用程序转换为 AppX,并根据 Franklin Chen 的见解对其进行了签名。

一步一步,我离完成越来越近了。但我现在遇到了一个新的障碍(希望是最后一个)。我试着听从建议 https://blogs.msdn.microsoft.com/vcblog/2016/07/07/using-visual-c-runtime-in-centennial-project/

我确实在我的机器上安装了 vc_uwpdesktop.110.exe、vc_uwpdesktop.120.exe 和 vc_uwpdesktop.140.exe.

但还是不高兴。当我尝试安装 AppX 时,收到此错误消息:

Ask the developer for a new app package. This
package may conflict with a package already
installed, or it depends on things not installed
here (package dependencies), or is made for a
different architecture (0x80073CF3)

20161015 - 更多信息:

我尝试按照说明使用 add-appxpackage。

PS C:\Windows\system32> add-appxpackage –register C:\output\CheckWriterIII\PackageFiles\AppxManifest.xml

这是命令行的结果:

add-appxpackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict validation. Windows cannot install package CheckWriterIII_3.2.0.0_x86__eqr0y32pbpypt because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.120.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x86 processor architecture and minimum version 12.0.40652.5, along with this package to install. The frameworks with name "Microsoft.VCLibs.120.00.UWPDesktop" currently installed are: {} NOTE: For additional information, look for [ActivityId] 147c2bae-26c2-0005-268c-7c14c226d201 in the Event Log or use the command line Get-AppxLog -ActivityID 147c2bae-26c2-0005-268c-7c14c226d201 At line:1 char:1 + add-appxpackage –register C:\output\CheckWriterIII\PackageFiles\AppxM ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (C:\output\Check...ppxManifest.xml:String) [Add-AppxPackage], IOException + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

按照说明,我已经获取了日志:

PS C:\Windows\system32> Get-AppxLog -ActivityID 147c2bae-26c2-0005-268c-7c14c226d201

Time ID Message ---- -- ------- 10/15/2016 5:41:58 PM 301 The calling process is powershell.exe 10/15/2016 5:41:58 PM 603 Started deployment Register operation on a package with main parameter: AppxManifest.xml and Options: DevelopmentModeOption. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues. 10/15/2016 5:41:58 PM 10002 Creating Resiliency File C:\ProgramData\Microsoft\Windows\AppRepositoryc1ec66-a626-417f-be 73-95fd9ce4b88f_S-1-5-21-2501171662-860024267-76414939-1001_1.rslc for Register Operation on Package CheckWriterIII_3.2.0.0_x86__eqr0y32pbpypt. 10/15/2016 5:41:58 PM
607 Deployment Register operation on package CheckWriterIII_3.2.0.0_x86__eqr0y32pbpypt has been de-queued and is running for user DESKTOP-V1EBBS5\mitch. 10/15/2016 5:41:58 PM 613
Adding uri to the list of Uris: C:\output\CheckWriterIII\PackageFiles\AppxManifest.xml. 10/15/2016 5:41:58 PM 628 Windows cannot install package CheckWriterIII_3.2.0.0_x86__eqr0y32pbpypt because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.120.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x86 processor architecture and minimum version 12.0.40652.5, along with this package to install. The frameworks with name "Microsoft.VCLibs.120.00.UWPDesktop" currently installed are: {} 10/15/2016 5:41:58 PM 605 The last successful state reached was Indexed. Failure occurred before reaching the next state Resolved. hr: 0x80073CF3 10/15/2016 5:41:58 PM 401 Deployment Register operation with target volume C: on Package CheckWriterIII_3.2.0.0_x86__eqr0y32pbpypt from: (AppxManifest.xml) failed with error 0x80073CF3. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues. 10/15/2016 5:41:58 PM 404 AppX Deployment operation failed for package CheckWriterIII_3.2.0.0_x86__eqr0y32pbpypt with error 0x80073CF3. The specific error text for this failure is: Windows cannot install package CheckWriterIII_3.2.0.0_x86__eqr0y32pbpypt because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.120.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x86 processor architecture and minimum version 12.0.40652.5, along with this package to install. The frameworks with name "Microsoft.VCLibs.120.00.UWPDesktop" currently installed are: {}

现在不明白为什么找不到Microsoft.VCLibs.120.00.UWPDesktop。我已经下载并安装了 vc_uwpdesktop.120.exe 12.0.40653.00 并双重验证它不仅在程序和功能中,而且在它应该在的磁盘上。

感谢更新。这证实了问题是什么。它实际上在您的原始 post 中有所描述,但它非常微妙:

I did install on my machine vc_uwpdesktop.110.exe, vc_uwpdesktop.120.exe and vc_uwpdesktop.140.exe.

不幸的是,这并没有按照您的想法进行。它安装了可用于重新分发框架依赖项的 .appx 文件。它实际上并没有自己安装框架依赖项。

要安装它们,您必须找到它们安装的 .appx 文件(或至少是 120 x86 版本)并确保它们也已安装。您可以直接使用应用程序安装程序,单独(提前)使用 Add-AppxPackage 来执行此操作,或者,我相信,通过在 -DependencyPath 参数中引用框架依赖项,作为程序包安装的一部分。

相关 .appx 文件的路径如下所示;根据需要调整您的案例的版本号和平台。请确保您不会不小心使用名称中没有 "Desktop" 的变体。

C:\Program Files (x86)\Microsoft SDKs\Windows Kits\ExtensionSDKs\Microsoft.VCLibs.Desktop.110.0\Appx\Retail\x86

在这里安装或引用正确的包后,您的主包应该会成功安装(或注册)。