形势
无论出于何种原因,安装程序都会在HKLM/SOFTWARE/WOW6432Node/foo
下放置注册表项
.appx
包显示为ProcessorArchitecture="x64"
问题
- 在
HKLM/SOFTWARE/WOW6432Node/foo
下找不到这些注册表项。取而代之的是HKLM/SOFTWARE/foo
动机
当您的软件包显示为x64时,为什么要在HKLM/SOFTWARE/WOW6432Node/foo
下显示注册表项?因为主要可执行文件实际上是x86,所以您只需要将其显示为x64,因为存在一个或多个作为x64 的辅助.exe
现在,很明显,I可以将KEY_WOW64_64KEY
标志用于所有注册表操作。然而,这感觉像是一个可怕的黑客。我真正想要的是一种方法,使注册表项保持在它们所在的位置。如果32位安装程序在不使用KEY_WOW64_64KEY
的情况下创建注册表项,那么同一个32位应用程序应该能够在没有KEY_WOW64_64KEY
的情况下读取该项。
附加说明
如果您只使用一个更改来重新打包相同的.appx,以将其用于x86(如果不再次运行转换器,这只是appx
打包程序),那么注册表项将显示在正确的位置。但它不会通过windows商店的验证。
这是最新的版本。目标图像版本为10.0.15063.0
您是否尝试过使用命令行参数"-PackageArch x64"进行转换?这应该会为您提供一个x64包,其中包含WOW6432Node/*密钥。