问题标签 [desktop-bridge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2246 浏览

winapi - 如何在 AppxManifest.xml 文件中为使用桌面桥(Project Centennial)转换的 Win32 应用程序正确构建 UWP 应用程序图标

我正在尝试使用 Project Centennial 转换器(即桌面桥)将我的 Win32 应用程序转换为 UWP 应用程序。

应用程序转换后,我需要调整AppxManifest.xml文件以确保以下内容:

  • 所有图标格式均已正确配置。

  • 我正确指定了以下应用程序资源:英语(美国)、德语、法语和俄语。

所以我按照这个 Windows 10 图标指南创建了以下.png所有图片,这些图片都放入了Assets文件夹中。我得到了这些:

在此处输入图像描述

AppxManifest.xml的结构是这样的:

所以有人可以回答这些问题:

  1. 我对指定正确大小和缩放的图标有些困惑。我做对了吗?

  2. 我是否还需要为Assets\StoreLogo-50x50.png图标指定缩放比例?

  3. 最后,我是否正确指定了 4 种不同语言的资源?

编辑:在等待时,我尝试AppxManifest.xml用我展示的资产编译我的上面。但是makeappx.exe工具给了我以下错误:

MakeAppx:错误:错误信息:错误 C00CE015:应用程序清单验证错误:应用程序清单必须根据架构有效:第 22 行,第 27 列,原因:元素'{ http://schemas.microsoft上的属性'Square71x71Logo' .com/appx/manifest/uap/windows10 }VisualElements' 未在 DTD/Schema 中定义。

它显然不喜欢以下图标大小:

但是,即使我从 中删除了上面的图标大小AppxManifest.xml,当我尝试使用以下命令打包它时:

我收到以下有关命名资产以进行缩放的错误:

MakeAppx:错误:清单验证错误:第 22 行,第 27 列,原因:为元素“ [local-name()='Applications']/ [local-name()='声明的文件名“Assets\AppNameMedTile.png”应用程序']/ [local-name()='VisualElements']" 包中不存在。如果此文件具有语言、比例、对比度等的多个变体或资源版本,请使用 /l 命令行选项禁用此验证。MakeAppx:错误:清单验证错误:第 23 行,第 27 列,原因:为元素“ [local-name()='Applications']/ [local-name()='声明的文件名“Assets\AppNameAppList.png”应用']/[local-name()='VisualElements']" 包中不存在。如果此文件具有语言、比例、对比度等的多个变体或资源版本,请使用 /l 命令行选项禁用此验证.MakeAppx:错误:包创建失败。MakeAppx:错误:0x80080204 - 指定的包格式无效:包清单无效。

像这样使用建议/l的命令:

构建带有很多警告的包。但是当我稍后安装它时,其中的所有图标似乎都是空白的。

一定有什么我在这里想念的吗?

0 投票
2 回答
422 浏览

c# - 使用 Windows Desktop App Converter,是否可以从 Windows 开始?

我已使用 Windows 桌面应用程序转换器将我的 WPF 应用程序转换为商店应用程序。

除了我的“从 Windows 开始”功能之外,这一切都有效。我解决这个问题的方法是在我的应用程序的“C:\Users\%%USER%%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”目录中创建一个快捷方式,但看起来像这种方法不再起作用(快捷方式不出现)。

那么如何让您的应用程序在 Windows 启动时启动呢?

干杯,迈克

0 投票
1 回答
451 浏览

winapi - 如何在使用桌面桥(Project Centennial)转换为 UWP 的 Win32 应用程序中测试商店许可证?

我已将使用 C/C++/MFC 编写的 Win32 应用程序转换为使用Desktop Bridge的 UWP 应用程序。该应用程序将在商店中发布trial license。我发现这段代码说明了如何使用StoreAppLicense类检查试用许可证、过期等。

我的问题是如何测试它?

我的应用程序是在没有 Windows 应用商店概念的旧版本 VS 中构建的。

0 投票
1 回答
456 浏览

windows - DesktopAppConverter:仍在尝试将 Win32 应用程序转换为正常工作的 AppX

我已经做了一个多月了,现在。

我可以使用 DesktopAppConverter 将我的 Win32 应用程序转换为 AppX 并对其进行签名,但我仍然收到错误消息:


向开发人员索取新的应用程序包。这个包可能与已经安装的包冲突,或者它依赖于这里没有安装的东西(包依赖),或者是为不同的架构制作的(0x80073CF3)


在转换过程结束时,转换器显示:


W_PACKAGE_DEPENDENCY_ADDED 对框架包“Microsoft.VCLibs.120.00.UWPDesktop”的依赖已添加到 AppxManifest.xml。有关在本地部署之前安装程序包的指导,请参阅“ http://go.microsoft.com/fwlink/?LinkId=821959 ”。否则,如果这是错误的,请在打包和部署应用程序之前从 AppxManifest.xml 中的 Dependencies 中删除相应的条目

.

所以我检查了https://blogs.msdn.microsoft.com/vcblog/2016/07/07/using-visual-c-runtime-in-centennial-project/

下载 vc_uwpdesktop.120.exe(版本 12.0.40653.00)并安装。

然后,按照上面页面上的说明,尝试使用以下命令重新打包我的应用程序:

还是同样的错误。所以我尝试了:

现在我得到:

add-appxpackage:部署失败,HRESULT:0x80073CF3,包更新失败,依赖或冲突验证。Windows 无法安装包 CheckWriterIII_3.2.0.0_x86__eqr0y32pbpypt,因为此包依赖于无法找到的框架。提供“CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US”发布的框架“Microsoft.VCLibs.120.00.UWPDesktop”,中性或x86处理器架构,最低版本12.0.40652.5 ,连同这个包一起安装。当前安装的名称为“Microsoft.VCLibs.120.00.UWPDesktop”的框架是:{}​​ 注意:有关其他信息,

我试图尽我所能遵循Msdn文献,在互联网上到处寻找指导,但仍然卡住了。

似乎没有多少人真正使用 DesktopAppConverter,或者愿意分享他们的知识。

真的,我会很感激。

劳动节 !

0 投票
1 回答
861 浏览

winforms - 带有 InstallShield 安装程序的桌面应用程序转换器 - W_DISCOVERED_EXE_NOT_FOUND

我正在尝试将我的桌面应用程序Computator.NET(用 WinForms 编写)转换为 UWP,它使用 InstallShield 作为它的安装程序,但 DAC 似乎找不到可执行文件。看起来它认为 exe 文件是一些临时安装程序文件。该过程的日志如下:

警告:DesktopAppConverter:警告“W_PACKAGE_DEPENDENCY_ADDED”:对框架包“Microsoft.VCLibs.140.00.UWPDesktop”的依赖已添加到 AppxManifest.xml。请参阅' http://go.microsoft.com/fwlink/?LinkId=821959' 有关在本地部署之前安装软件包的指导。否则,如果这是错误的,请在打包和部署应用程序之前从 AppxManifest.xml 中的 Dependencies 中删除相应的条目。警告:DesktopAppConverter:警告“W_DISCOVERED_EXE_NOT_FOUND”:发现的快捷方式指示应用程序可执行文件应为“\WINDOWS\Installer{FA089B43-0451-420A-968B-DCC3C55644C7}_8C37B49DBB16422C8EF917F2AEA02293.exe”,但找不到此文件。警告:DesktopAppConverter:警告“W_DISCOVERED_EXE_NOT_FOUND”:发现的快捷方式指示应用程序可执行文件应为“\WINDOWS\Installer{FA089B43-0451-420A-968B-DCC3C55644C7}_A9A8E5CA913F4E1EB7F6ACDB86DAFB8B.exe”,但找不到此文件。警告:DesktopAppConverter:警告' W_DISCOVERED_EXE_NOT_FOUND':发现的快捷方式表明应用程序可执行文件应该是 '\Windows\SysWOW64\msiexec.exe',但找不到此文件。警告:DesktopAppConverter:警告“W_EXE_NOT_DISCOVERED”:无法从任何快捷方式确定应用程序可执行文件。MakeAppx 将失败,直到您修复 AppxManifest.xml 中的 Application Executable 属性警告:DesktopAppConverter:警告“W_INSTALL_PATH_NOT_DISCOVERED”:转换器无法确定您的应用程序的安装路径。请使用 -AppInstallPath 参数将应用程序二进制文件移出 VFS。警告:DesktopAppConverter:警告“W_CANNOT_MAKEAPPX_WITHOUT_EXE”:如果不在 AppxManifest.xml 中设置“应用程序可执行文件”属性,则无法创建 appx 包。请在手动调用 makeappx 之前在 AppxManifest.xml 中设置“Application Executable”属性。警告摘要:W_PACKAGE_DEPENDENCY_ADDED 对框架包“Microsoft.VCLibs.140.00.UWPDesktop”的依赖已添加到 AppxManifest.xml。看 'http://go.microsoft.com/fwlink/?LinkId=821959 '有关在本地部署之前安装包的指导。否则,如果这是错误的,请在打包和部署应用程序之前从 AppxManifest.xml 中的 Dependencies 中删除相应的条目。

W_DISCOVERED_EXE_NOT_FOUND 发现的快捷方式指示应用程序可执行文件应为“\WINDOWS\Installer{FA089B43-0451-420A-968B-DCC3C55644C7}_8C37B49DBB16422C8EF917F2AEA02293.exe”,但找不到此文件。

W_DISCOVERED_EXE_NOT_FOUND 发现的快捷方式指示应用程序可执行文件应为“\WINDOWS\Installer{FA089B43-0451-420A-968B-DCC3C55644C7}_A9A8E5CA913F4E1EB7F6ACDB86DAFB8B.exe”,但找不到此文件。

W_DISCOVERED_EXE_NOT_FOUND 发现的快捷方式指示应用程序可执行文件应为“\Windows\SysWOW64\msiexec.exe”,但找不到此文件。

W_EXE_NOT_DISCOVERED 无法从任何快捷方式确定应用程序可执行文件。MakeAppx 将失败,直到您修复 AppxManifest.xml 中的 Application Executable 属性

W_INSTALL_PATH_NOT_DISCOVERED 转换器无法确定您的应用程序的安装路径。请使用 -AppInstallPath 参数将应用程序二进制文件移出 VFS。

W_CANNOT_MAKEAPPX_WITHOUT_EXE 如果不设置 AppxManifest.xml 中的“应用程序可执行文件”属性,则无法创建 appx 包。请在手动调用 makeappx 之前在 AppxManifest.xml 中设置“Application Executable”属性。

我正在使用相当简单的命令运行 Dekstop App Converter:

DesktopAppConverter.exe -Installer C:\Computator.NET\Computator.NET.Installer.v2.1.0.beta.exe -InstallerArguments "/S" -Destination C:\Computator.NET\Appx -PackageName "Computator.NET" -Publisher “CN=Pawel Troka”-版本 2.1.0.0 -MakeAppx

0 投票
1 回答
473 浏览

uwp - 尝试启动从 Windows 应用商店下载的过期试用版 UWP 应用时出现错误消息——“连接到系统的设备无法运行”

我试图了解试用许可如何适用于我使用Desktop Bridge转换为 UWP 应用的 Win32 应用。该应用程序作为付费应用程序(每份 1.99 美元)提交到 Windows 应用商店,试用期为 1 天。

所以我将它作为试用应用程序下载到我的测试 Windows 10 机器上,让它运行超过 24 小时,无需购买。

一天后,该应用程序仍然存在于计算机上(在“开始”菜单中),但是当我尝试通过单击其“开始”菜单图标再次运行它时,出现以下错误:

连接到系统的设备不工作。

在此处输入图像描述

所以我很好奇是否有办法为过期的试用应用程序呈现更“用户友好”的消息?

编辑: :用这句话找到这个页面:

试用许可证在应用程序启动前到期

如果试用在用户启动应用程序之前到期,您的应用程序将不会启动。相反,用户会看到一个对话框,让他们可以选择从商店购买您的应用程序。

但这不是我所看到的。我刚刚收到上面显示的通用 Windows 启动器错误。

EDIT2: : 事情发生了变化。根据Stefan Wick MSFT下面的帖子,这是操作系统中的一个错误,已在最新的服务更新中得到解决。因此,这个丑陋的消息不再显示,尽管在启动过期的应用程序时仍然可能存在错误。

以下是重现的步骤:

1) 启动过期的 UWP 应用。现在不是丑陋的 Win32 启动器错误(我在上面显示),而是会看到这个弹出窗口:

此应用无法打开

您对该应用的试用期已过。访问 Windows 应用商店以购买完整的应用程序。

[前往商店] 链接
[关闭] 按钮

在此处输入图像描述 抱歉,无法捕获更好的屏幕截图,因为我的不再显示了。

2) 单击“关闭”,消息将关闭,应用程序将无法启动。这是预期的。

3)点击“前往商店”,商店应用程序将出现:

在此处输入图像描述

4)其中的“启动”按钮按预期工作,但是......

5)点击“免费试用”按钮(它甚至不应该在那里,因为这个应用程序的免费试用版很久以前就过期了。我的设置为 30 天。)商店应用程序将重新加载到这个:

在此处输入图像描述

6)所以现在它显示“还剩 29 天”,这完全是假的。当我最初发布这个问题时,我首先安装了这个 UWP 应用程序的副本,这个问题超过了 30 天,即这个应用程序的试用期。

7)但是如果我点击“启动”它会启动过期的应用程序,它不应该。此外,它还清除了最初在上面的步骤(1)中显示的过期应用程序消息。所以现在如果我从“开始”菜单启动这个应用程序,它就会启动得很好。

我猜它仍然是一个错误,不是吗?

0 投票
0 回答
436 浏览

uwp - 如何使用 Windows.Services.Store 命名空间获取在 Windows 10 应用商店中发布的应用的试用许可证的到期日期?

我有一个转换后的 Win32 应用程序,它以试用许可证发布在 Windows 10 商店中。我正在使用此代码的 C++/WRT 版本来检索应用程序许可证信息,但由于某种原因,ExpirationDate成员IStoreAppLicense始终返回为9999-12-31 00:00:00.

知道为什么吗?

这是我从应用商店获取的完整 JSON:

0 投票
2 回答
136 浏览

windows - 在 WinStore 应用程序中存储数据文件的位置(win32 Project Centennial)

我正在使用 Desktop App Converter 将我的本机 Win32 应用程序移植到 Windows 10 商店。

最推荐存储本地数据文件的地方是什么,似乎 %APPDATA% 有效,但它是 Win10 Store Apps 中最推荐的用户数据存储位置吗?

如果用户从 Win Store 卸载应用程序,此 %appdata% 是否会自动虚拟化和清理?

0 投票
1 回答
48 浏览

c# - StreamReader 代码转换为 DesktopBridge APP 后引发异常

我有这个使用以下代码的小型 WPF 应用程序。基本上它读取所述文件以显示内容。

此代码在 WPF 应用程序中正常工作。但是当...我使用DesktopBridge 将WPF 转换为Appx,然后安装.Appx。相同的代码抛出异常。

异常信息:System.IO.DirectoryNotFoundException。

任何线索?有什么帮助吗?

问候

0 投票
3 回答
5968 浏览

uwp - UWP App Communication with Windows Service

We are fixing to re-architect an application and are debating whether or not it is possible to use UWP instead of an ordinary WPF application.

Our application needs the ability the access the entire filesystem and all system resources. This is an issue since UWP apps are sandboxed. However, we are trying to bypass that issue by trying to approach it in this manner:

  • Windows Service -> Running on the system at all times. This will host the core functionality when it comes to accessing and modifying system resources.

  • UWP Application -> Since UWP is sandboxed, the UWP app will forward all system requests to the Windows Service, which will do all of the brunt work and just return the output.

We can simply do this in WPF, but we would like to use UWP in order to utilize some new Windows 10 core features WPF is lacking such as live tiles and Cortana.

Do you think our approach is feasible? One of our uncertainties is how we can get the UWP app to communicate with the Windows Service- we've looked into things like SignalR and the Desktop Bridge but are unsure which may be the best approach for our scenario.

Thanks!