Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. porting 32 bit dll in 64 bit

porting 32 bit dll in 64 bit

Scheduled Pinned Locked Moved C / C++ / MFC
csharpvisual-studiocomwindows-admintutorial
14 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    subramanyeswari
    wrote on last edited by
    #1

    Hi, I have a .reg file which copies some menu items as keys in the registry. My dll collects all of them and show up on right click if i selected any thing on the explorer. How to make my 32 bit com dll works in 64bit machine? I recompiled in 64 bit machine using visual studio 2008. It did not show up the right results. it is not showing up any menus on the right click. Thanks in advance. Regards,

    S 1 Reply Last reply
    0
    • S subramanyeswari

      Hi, I have a .reg file which copies some menu items as keys in the registry. My dll collects all of them and show up on right click if i selected any thing on the explorer. How to make my 32 bit com dll works in 64bit machine? I recompiled in 64 bit machine using visual studio 2008. It did not show up the right results. it is not showing up any menus on the right click. Thanks in advance. Regards,

      S Offline
      S Offline
      Sarath C
      wrote on last edited by
      #2

      Can't you debug the code and see what's happening? Following topics can put some light on your issue. Wow64[^] Converting 32-bit Applications Into 64-bit Applications: Things to Consider [^] Porting your program[^] but it poorly documented I think...

      -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

      My blog - Sharing My Thoughts

      S S 2 Replies Last reply
      0
      • S Sarath C

        Can't you debug the code and see what's happening? Following topics can put some light on your issue. Wow64[^] Converting 32-bit Applications Into 64-bit Applications: Things to Consider [^] Porting your program[^] but it poorly documented I think...

        -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

        My blog - Sharing My Thoughts

        S Offline
        S Offline
        subramanyeswari
        wrote on last edited by
        #3

        thanks. I am facing a different problem. when i am registering dll in vista 64 bit as administrator user i am getting the following error call to DllRegisterServer failed with error code 0x80020009 when searching in the google it says that permission problem. What is that exactly? how to resolve? Thanks in advance Regards,

        S 1 Reply Last reply
        0
        • S subramanyeswari

          thanks. I am facing a different problem. when i am registering dll in vista 64 bit as administrator user i am getting the following error call to DllRegisterServer failed with error code 0x80020009 when searching in the google it says that permission problem. What is that exactly? how to resolve? Thanks in advance Regards,

          S Offline
          S Offline
          Sarath C
          wrote on last edited by
          #4

          Can you run the program as administrator?

          -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

          My blog - Sharing My Thoughts

          S 1 Reply Last reply
          0
          • S Sarath C

            Can you run the program as administrator?

            -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

            My blog - Sharing My Thoughts

            S Offline
            S Offline
            subramanyeswari
            wrote on last edited by
            #5

            Hi, I run the program as administrator. Then I tried compiling solution in the vista 64it. It gave “error PRJ0019: A tool returned an error code from "Performing registration"”. When I comment the following code

            STDAPI DllRegisterServer(void)
            {
            AFX_MANAGE_STATE(AfxGetStaticModuleState());
            // registers object, typelib and all interfaces in typelib
            return _Module.RegisterServer(TRUE); //this is what I commented
            return TRUE

            }

            it compiled successfully. This is com dll which is working fine in 32 bit. what should i do now? Regards, Subramanyeswari

            S 1 Reply Last reply
            0
            • S subramanyeswari

              Hi, I run the program as administrator. Then I tried compiling solution in the vista 64it. It gave “error PRJ0019: A tool returned an error code from "Performing registration"”. When I comment the following code

              STDAPI DllRegisterServer(void)
              {
              AFX_MANAGE_STATE(AfxGetStaticModuleState());
              // registers object, typelib and all interfaces in typelib
              return _Module.RegisterServer(TRUE); //this is what I commented
              return TRUE

              }

              it compiled successfully. This is com dll which is working fine in 32 bit. what should i do now? Regards, Subramanyeswari

              S Offline
              S Offline
              Sarath C
              wrote on last edited by
              #6

              This could be some dependency issue. Check the dependecy of the DLLs/components associated with this COM DLL and ensure that it's built using 64 bit environment. Check with Dependency Walker[^]tool ( 64 bit version is available). Also try manually using regsvr

              -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

              My blog - Sharing My Thoughts

              S 1 Reply Last reply
              0
              • S Sarath C

                This could be some dependency issue. Check the dependecy of the DLLs/components associated with this COM DLL and ensure that it's built using 64 bit environment. Check with Dependency Walker[^]tool ( 64 bit version is available). Also try manually using regsvr

                -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

                My blog - Sharing My Thoughts

                S Offline
                S Offline
                subramanyeswari
                wrote on last edited by
                #7

                Hi, Thanks for your suggestion. I ran dependency walker in 2003 64 bit for my dll. it displayed two errors in the following dlls DEVMGR.DLL DWMAPI.DLL. it says "error opening file". Don't we have these dll's along with 64 bit 2003 os? Regards

                S 1 Reply Last reply
                0
                • S subramanyeswari

                  Hi, Thanks for your suggestion. I ran dependency walker in 2003 64 bit for my dll. it displayed two errors in the following dlls DEVMGR.DLL DWMAPI.DLL. it says "error opening file". Don't we have these dll's along with 64 bit 2003 os? Regards

                  S Offline
                  S Offline
                  Sarath C
                  wrote on last edited by
                  #8

                  I don't know about DWMAPI.DLL but the other one should be there in the system folder. Do one thing, in the 32 bit system, try to track down, from where these files are getting resolved using depends. Then you can try the same thing in 64-bit environment also

                  -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

                  My blog - Sharing My Thoughts

                  S 2 Replies Last reply
                  0
                  • S Sarath C

                    I don't know about DWMAPI.DLL but the other one should be there in the system folder. Do one thing, in the 32 bit system, try to track down, from where these files are getting resolved using depends. Then you can try the same thing in 64-bit environment also

                    -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

                    My blog - Sharing My Thoughts

                    S Offline
                    S Offline
                    subramanyeswari
                    wrote on last edited by
                    #9

                    thanks.. i will do that now.

                    1 Reply Last reply
                    0
                    • S Sarath C

                      I don't know about DWMAPI.DLL but the other one should be there in the system folder. Do one thing, in the 32 bit system, try to track down, from where these files are getting resolved using depends. Then you can try the same thing in 64-bit environment also

                      -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

                      My blog - Sharing My Thoughts

                      S Offline
                      S Offline
                      subramanyeswari
                      wrote on last edited by
                      #10

                      Hi Sarath, I created the application by following the below link http://www.codeproject.com/KB/shell/shellextguide1.aspx?fid=519&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2469014#modifyingmenu[^] but the same is not working in my 64 bit windows 2003 server. How to migrate this application? Regards

                      S 1 Reply Last reply
                      0
                      • S subramanyeswari

                        Hi Sarath, I created the application by following the below link http://www.codeproject.com/KB/shell/shellextguide1.aspx?fid=519&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2469014#modifyingmenu[^] but the same is not working in my 64 bit windows 2003 server. How to migrate this application? Regards

                        S Offline
                        S Offline
                        Sarath C
                        wrote on last edited by
                        #11

                        I can't figure out what's really happening there. The IContextMenu inteface should work well with your application. Have properly set set _WIN32_WINNT and WINVER macros? According to your target OS? Using the Windows Headers[^]

                        -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

                        My blog - Sharing My Thoughts

                        S 1 Reply Last reply
                        0
                        • S Sarath C

                          I can't figure out what's really happening there. The IContextMenu inteface should work well with your application. Have properly set set _WIN32_WINNT and WINVER macros? According to your target OS? Using the Windows Headers[^]

                          -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

                          My blog - Sharing My Thoughts

                          S Offline
                          S Offline
                          subramanyeswari
                          wrote on last edited by
                          #12

                          is this the following code that i have to make in stdafx.h

                          #ifndef _WIN32_WINNT NTDDI_VERSION
                          #define _WIN32_WINNT NTDDI_VISTASP1
                          #endif

                          #ifndef _WIN32_IE
                          #define _WIN32_IE 0x0700
                          #endif

                          after making the above change i am getting the following error error C1189: #error : _WIN32_WINNT settings conflicts with _WIN32_IE setting c:\program files\microsoft sdks\windows\v6.0a\include\sdkddkver.h it is failing here #if ((_WIN32_WINNT < _WIN32_WINNT_WIN2K) && (_WIN32_IE > _WIN32_IE_IE60SP1)) #error _WIN32_WINNT settings conflicts with _WIN32_IE setting #endif I am working on vistasp1 what could be the problem Regards

                          modified on Friday, February 13, 2009 10:22 AM

                          H 1 Reply Last reply
                          0
                          • S subramanyeswari

                            is this the following code that i have to make in stdafx.h

                            #ifndef _WIN32_WINNT NTDDI_VERSION
                            #define _WIN32_WINNT NTDDI_VISTASP1
                            #endif

                            #ifndef _WIN32_IE
                            #define _WIN32_IE 0x0700
                            #endif

                            after making the above change i am getting the following error error C1189: #error : _WIN32_WINNT settings conflicts with _WIN32_IE setting c:\program files\microsoft sdks\windows\v6.0a\include\sdkddkver.h it is failing here #if ((_WIN32_WINNT < _WIN32_WINNT_WIN2K) && (_WIN32_IE > _WIN32_IE_IE60SP1)) #error _WIN32_WINNT settings conflicts with _WIN32_IE setting #endif I am working on vistasp1 what could be the problem Regards

                            modified on Friday, February 13, 2009 10:22 AM

                            H Offline
                            H Offline
                            hareshel
                            wrote on last edited by
                            #13

                            I am also facing same issue...I have ported my activex plugin to 64bit by compiling with x64. it has created .ocx file as well as .dll file. Created cab and inf file to install my activex plugin. When i install it crashes. I ran dependency walker on .ocx file it says two dlls not found... devmgr.dll dwmapi.dll please let me know how to resolve....

                            1 Reply Last reply
                            0
                            • S Sarath C

                              Can't you debug the code and see what's happening? Following topics can put some light on your issue. Wow64[^] Converting 32-bit Applications Into 64-bit Applications: Things to Consider [^] Porting your program[^] but it poorly documented I think...

                              -Sarath. "Great hopes make everything great possible" - Benjamin Franklin

                              My blog - Sharing My Thoughts

                              S Offline
                              S Offline
                              SELVA KUMAR R
                              wrote on last edited by
                              #14

                              Hi, TO run a web application with 32bit dll in an 64 bit server, just in the IIS, "enable 32-bit application" to true for the application pool. This seting will work almost all servers expect SBS server.

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups