gpt4 book ai didi

uwp - 使用 Desktop Bridge 安装 shell 扩展

转载 作者:行者123 更新时间:2023-12-04 20:39:56 25 4
gpt4 key购买 nike

我的 Win32 应用程序需要安装 Windows Explorer Shell 扩展。
我使用 Desktop App Converter 为我的应用程序生成 AppX。但是转换器忽略了应用程序的旧版安装程序安装的 shell 扩展。
虽然它捕获了 Classes\Directory\shellex Registry.dat 的 key ,关键条目指向未捕获的 CLSID。即使它确实捕获了引用的 CLSID,它也指向旧安装程序安装应用程序的路径,而不是安装 AppX 的真实位置。

我正在考虑在第一次运行时由应用程序本身注册扩展。但是安装位置在C:\Program Files\WindowsApps有受限的权限,所以 regsvr32失败。

The module "C:\Program Files\WindowsApps\WinSCP_5.14.0.0_x86__2dz6xbp7ps3z2\DragExt64.dll" failed to load.

Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.

Access is denied.



不过,权限确实允许将文件复制到其他地方。所以我可以将 .dll 复制到例如用户配置文件( C:\Users\... )并从那里注册。但这会在卸载 AppX 时留下 .dll。
有没有更好的解决方案?

最佳答案

Windows 10 上打包的 Win32 应用程序(桌面桥应用程序)的设计原则是它们通过 appxmanifest(而不是通过注册表)以声明性方式与 Shell 集成。为了促进这一点,我们在 list 方案中添加了 Shell 扩展。系统将使用 Shell 在进程外运行这些扩展(与经典的进程内扩展不同),以允许无缝的应用程序更新并防止应用程序崩溃 Windows Shell/Explorer。

有关文档,请参见此处:
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-extensions

编辑
请注意,目前并非所有现有的 Shell 扩展都受支持。为了帮助我们优先考虑仍然缺少的任何内容,请将它们登录到 UserVoice:
https://wpdev.uservoice.com/forums/110705-universal-windows-platform

关于uwp - 使用 Desktop Bridge 安装 shell 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49898804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com