是否可以查看我的 win32 UWP 应用程序(桌面桥转换)的虚拟注册表?我知道所有编程访问都会进入虚拟注册表并且有效。但我想用RegEdit查看它。有什么解决办法吗?
我记得大约一年前看过它,但不记得细节了。
是的,可以。我们构建了一个名为 Hover 的免费工具,它允许您在 MSIX/APPX 容器的上下文中启动外部进程。使用此工具,您可以启动 Regedit、cmd.exe、PowerShell 或容器内的其他进程,从而可以访问与您的应用程序相同的资源。
您可以在 UWP 应用程序的上下文中打开
regedit.exe
。生成的 regedit.exe 将向您显示与应用程序可见的相同注册表视图。
第 1 步:获取应用程序 ID 和包的系列名称
PS > $pkg=Get-AppxPackage -Name "*package_name*"
PS > $familyName=$pkg.PackageFamilyName
PS > $id=(Get-AppxPackageManifest $pkg).package.applications.application.id
PS > $params = @{
AppId = "$($id)"
PackageFamilyName = "$($familyName)"
Command = 'regedit.exe'
}
第 2 步:将这些参数包装到哈希图中并将其传递给
Invoke-CommandInDesktopPackage
。此命令应在 elevated powershell 提示符下运行。
PS > $params = @{
AppId = "$($id)"
PackageFamilyName = "$($familyName)"
Command = 'regedit.exe'
}
PS > Invoke-CommandInDesktopPackage @params
现在打开的 regedit.exe 窗口将包含 UWP 应用上下文中的注册表项。
根据文档,应用程序包包含一个
registry.dat file
,它相当于真实注册表中的HKLM\Software。但没有明确说明其存储位置。 HKCU 下的所有写入都会写入时复制到每个用户、每个应用程序的私有位置。欲了解更多信息,请访问:注册表
所以目前还没有好的方法来检查。