0

I built a Windows installer/bootstrapper, using Visual Studio 2022, for an x64 app that requires certain x64 prerequisites be installed along side. However the bootstrapper is unable to detect whether the prerequisites are already installed because it runs as an x86 (32-bit) process and cannot read the x64 registry on target machines. In all cases, the generated install.log file says, "Unable to read registry value," even though though the values are clearly visible in 'regedit' or from a command line 'reg query'. I've tried hundreds of registry key/value pairs in the bootstrapper manifest, and there doesn't seem to be a Visual Studio option to force it to build an x64 setup.exe (the Configuration Manager dropdowns are empty and the solution's TargetPlatform property has no effect).

Does anyone know of a way to build a bootstrapper, in Visual Studio, that will either run as a 64-bit process or have the ability to read the x64 registry, short of using third-party apps?

Install Checks in product.xml

Output from reg query

Output from install.log on target machine

4
  • 1
    This question is similar to: Accessing 64 bit registry from 32 bit application. If you believe it’s different, please edit the question, make it clear how it’s different and/or how the answers on that question are not helpful for your problem. Commented Apr 7 at 4:52
  • My question is completely unrelated to the one suggested by Raymond. That question addresses how a 32-bit application can read 64-bit registry keys. In my case, it is not the application that needs to read the keys, but the bootstrapper 'setup.exe' generated by a VS setup project. I've already consulted every online post about this matter and submitted a ticket with Microsoft. So far no one has a working solution. Commented Apr 8 at 0:34
  • Oh, I see. When you say "I built a Windows installer/bootstrapper", you didn't mean that you actually wrote the bootstrapper yourself. Rather, you are using the generic bootstrapper that comes with Visual Studio. Commented Apr 8 at 1:14
  • Yes, that's correct. I'm trying to avoid reinventing the wheel or using third-party apps. Commented Apr 8 at 1:24

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.