-1

I have a InnoSetup-Script that installes .net-App build with AnyCPU.

The Script needs to access the Registry (read and write Values).

[Registry]
Root: HKLM; Subkey: "SOFTWARE\MyCompany"; ValueType: string; ValueName: "Key"; ValueData: "Value"

When runnig on a 32-Bit Windows it writes into HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany which is not what I expect. I need to write the Value into HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany Changing the Root-Value to HKLM32 has no effect

When runnig on a 64-Bit Windows it uses the same Wow6432Node (which is OK to me)

When I compile the Setuped-App as x86 the Setup behaves correctly and writes into HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany on the 32Bit-System and uses the Wow6432-Path on the 64Bit-System

So how to make InnoSetup not use Wow6432 on a 32Bit-System for an AnyCPU-built-App

suriel
  • 191
  • 1
  • 10
  • I've tested your code on Windows 7 32-bit and it writes to `HKLM\SOFTWARE\MyCompany` as expected. We need [mcve]. – Martin Prikryl Aug 30 '23 at 10:51
  • no, I totally screwed that up. I missed a define that explicitly sets the destination path to SOFTWARE\Wow6432Node. I have to have a closer look again – suriel Aug 30 '23 at 11:00

0 Answers0