我的 Win32 应用程序需要安装 Windows Explorer Shell 扩展。
我使用 Desktop App Converter 为我的应用程序生成 AppX。但是转换器忽略了应用程序的旧版安装程序安装的 shell 扩展。
虽然它捕获到 的Classes\Directory\shellex
密钥Registry.dat
,但密钥条目指向未捕获的 CLSID。即使它确实捕获了引用的 CLSID,它也指向旧安装程序安装应用程序的路径,而不是安装 AppX 的真实位置。
我正在考虑在第一次运行时由应用程序本身注册扩展。但是里面的安装位置C:\Program Files\WindowsApps
有权限限制,所以regsvr32
失败了。
模块“C:\Program Files\WindowsApps\WinSCP_5.14.0.0_x86__2dz6xbp7ps3z2\DragExt64.dll”加载失败。
确保二进制文件存储在指定路径或对其进行调试以检查二进制文件或相关 .DLL 文件是否存在问题。
访问被拒绝。
不过,权限确实允许将文件复制到其他地方。因此,我可以将 .dll 复制到例如用户配置文件 ( C:\Users\...
) 并从那里注册。但这会在卸载 AppX 时留下 .dll。
有没有更好的解决方案?