Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: comctl32.ocx win7  (Read 33389 times)

0 Members and 1 Guest are viewing this topic.

meadows

    Topic Starter


    Greenhorn

    • Experience: Experienced
    • OS: Windows 7
    Re: comctl32.ocx win7
    « Reply #15 on: June 18, 2013, 05:33:00 PM »
    there was not a copy of it in SysWOW64 but yes it works thank you very much sir top marks for this forum now i can get back to it.

    BC_Programmer


      Mastermind
    • Typing is no substitute for thinking.
    • Thanked: 1140
      • Yes
      • Yes
      • BC-Programming.com
    • Certifications: List
    • Computer: Specs
    • Experience: Beginner
    • OS: Windows 11
    Re: comctl32.ocx win7
    « Reply #16 on: June 18, 2013, 07:05:03 PM »
    Just to explain for future readers, on x64 systems there are two system folders. C:\Windows\System32 is where 64-bit components are stored, and C:\Windows\SysWOW64\ is where 32-bit components are stored. 32-bit Applications, however, will get magically redirected to C:\Windows\SysWow64 if they access C:\Windows\System32. This causes a lot of confusion.

    There is also redirection in the registry, which is probably relevant here.

    regsvr32.exe in C:\Windows\System32 would be the 64-bit program, which registers and unregisters 64-bit components. It acts weird with 32-bit components, and when it does work, it registers it into the main registry.

    the regsvr32.exe in the SysWOW64 is the 32-bit version, and will register 32-bit components in a way so that 32-bit applications can see them; (registry access by 32-bit applications in HKEY_CLASSES_ROOT get's redirected to "HKEY_CLASSES_ROOT\WOW6432Node" instead, so 32-bit applications will be looking for the component registration there.

    I was trying to dereference Null Pointers before it was cool.

    Geek-9pm


      Mastermind
    • Geek After Dark
    • Thanked: 1026
      • Gekk9pm bnlog
    • Certifications: List
    • Computer: Specs
    • Experience: Expert
    • OS: Windows 10
    Re: comctl32.ocx win7
    « Reply #17 on: June 18, 2013, 07:17:26 PM »
    Quote
    32-bit Applications, however, will get magically redirected to C:\Windows\SysWow64 if they access C:\Windows\System32. This causes a lot of confusion.
    HUH  ???

    BC_Programmer


      Mastermind
    • Typing is no substitute for thinking.
    • Thanked: 1140
      • Yes
      • Yes
      • BC-Programming.com
    • Certifications: List
    • Computer: Specs
    • Experience: Beginner
    • OS: Windows 11
    Re: comctl32.ocx win7
    « Reply #18 on: June 18, 2013, 10:30:51 PM »
    HUH  ???
    Precisely.

    I wrote about this behaviour some time ago.

    Basically, 32-bit applications are often written to access components in C:\Windows\System32. This is why MS couldn't just make a new System64 folder for 64-bit components. In order to be as compatible as possible, Applications running under WoW64 (32-bit apps on 64-bit windows, that is) can still access C:\Windows\System32, but those requests are redirected to C:\Windows\SysWOW64. 32-bit applications that are aware of the redirection can access the actual System32 folder contents by accessing C:\Windows\sysnative.

    This can be tested without having to write applications (or something) by using something like Command Prompt. C:\Windows\System32\cmd.exe is the Command Prompt, as we all know; on 64-bit systems, this is a 64-bit executable. However on 64-bit systems the 32-bit version is still available in C:\Windows\SysWOW64.

    I was trying to dereference Null Pointers before it was cool.