Reply to Thread

Post a reply to the thread: Get Registry Key Value fails on 64 bit?

Your Message

Click here to log in

What's the name of our main installation product (in uppercase letters), directly followed by the current year?

 

You may choose an icon for your message from this list

Additional Options

  • Will turn www.example.com into [URL]http://www.example.com[/URL].

Topic Review (Newest First)

  • 09-09-2014, 11:42 AM
    linder

    Re: Get Registry Key Value fails on 64 bit?

    Aha, okay If you need help, just let me know. We are doing this x86 / x64 stuff for 10+ years and UAC for more than 7 years now

    Good luck with your project.

    Friedrich
  • 09-09-2014, 11:37 AM
    MarkDynna

    Re: Get Registry Key Value fails on 64 bit?

    Quote Originally Posted by linder View Post
    Annoying? Why? It's not annoying at all. It's very very cool. You can access both 32-bit and 64-bit keys from the very same setup without any problem. So why do you think this powerful feature is "annoying"? This functionality is there for 9+ years now.

    Friedrich
    Oh, I wasn't referring to the SB functionality. The feature in SB is great - I'm sure it will help us work around the problem in the future.

    My annoyance is mostly due to deadline-related pressures, and discovering a 100% silent Windows "feature" this late in our testing. Thanks for your help.
  • 09-09-2014, 11:14 AM
    linder

    Re: Get Registry Key Value fails on 64 bit?

    Annoying? Why? It's not annoying at all. It's very very cool. You can access both 32-bit and 64-bit keys from the very same setup without any problem. So why do you think this powerful feature is "annoying"? This functionality is there for 9+ years now.

    Friedrich
  • 09-09-2014, 11:05 AM
    MarkDynna

    Re: Get Registry Key Value fails on 64 bit?

    Quote Originally Posted by linder View Post
    The Windows operating system handles this redirection completely behind-the-scenes.

    32-bit keys are are stored in the following registry sub key on machines running a x64 OS:

    HKEY_LOCAL_MACHINE\Software\WOW6432node

    64-bit keys are are stored in the following registry sub key:

    HKEY_LOCAL_MACHINE\Software

    To access the 64-bit branch, you simply switch the installer into 64-bit mode and then you can access the native 64-bit resources. Don't forget to switch back to 32-bit mode after you have processed the 64-bit part.

    Friedrich
    So even though the request is made for the exact correct registry path, Windows silently redirects the call to the WOW6432node branch because the SetupBuilder installation is a 32 bit app? Neat (but annoying).
  • 09-09-2014, 10:38 AM
    linder

    Re: Get Registry Key Value fails on 64 bit?

    Here is an example from one of the include scripts. It reads the 64-bit registry keys when running on a 64-bit OS.

    Friedrich
  • 09-09-2014, 10:33 AM
    linder

    Re: Get Registry Key Value fails on 64 bit?

    The Windows operating system handles this redirection completely behind-the-scenes.

    32-bit keys are are stored in the following registry sub key on machines running a x64 OS:

    HKEY_LOCAL_MACHINE\Software\WOW6432node

    64-bit keys are are stored in the following registry sub key:

    HKEY_LOCAL_MACHINE\Software

    To access the 64-bit branch, you simply switch the installer into 64-bit mode and then you can access the native 64-bit resources. Don't forget to switch back to 32-bit mode after you have processed the 64-bit part.

    Friedrich
  • 09-09-2014, 10:20 AM
    MarkDynna

    Re: Get Registry Key Value fails on 64 bit?

    Quote Originally Posted by linder View Post
    BTW, the key you mentioned:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MUNISOFT\setup\SQLPath

    is located in the 64-bit registry branch on x64 systems and so you have to switch into x64 mode to read/write it.

    The same key as 32-bit looks like this on x64 systems:

    HKEY_LOCAL_MACHINE\Software\WOW6432node\Microsoft\ Microsoft SQL Server\MUNISOFT\setup\SQLPath

    Friedrich
    Yes, except on the 64 bit machine the SQL server gets installed as a "legit" 64 bit app, so the registry is actually in the same place on a 64 bit machine (it does not) exist in the WOW6432node branch.

    However, from your documentation I take it that the installer - as a 32 bit app - has its registry call automatically redirected to WOW6432node?
  • 09-09-2014, 10:16 AM
    linder

    Re: Get Registry Key Value fails on 64 bit?

    BTW, the key you mentioned:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MUNISOFT\setup\SQLPath

    is located in the 64-bit registry branch on x64 systems and so you have to switch into x64 mode to read/write it.

    The same key as 32-bit looks like this on x64 systems:

    HKEY_LOCAL_MACHINE\Software\WOW6432node\Microsoft\ Microsoft SQL Server\MUNISOFT\setup\SQLPath

    Friedrich
  • 09-09-2014, 10:13 AM
    linder

    Re: Get Registry Key Value fails on 64 bit?

    I am afraid I don't understand the question, sorry.

    Friedrich
  • 09-09-2014, 10:09 AM
    MarkDynna

    Re: Get Registry Key Value fails on 64 bit?

    Would this also apply to Get Related Product calls?
This thread has more than 10 replies. Click here to review the whole thread.

Posting Permissions

  • You may post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts
  •