none
The compatibility issues between the 32-bit and 64-bit version of the Office 2010

    Question

  • I would like to ask for some advice for the compatibility issues between the 32-bit and 64-bit version of the Office 2010. Because when I run the 32-bit MS Access on the 64-bit Windows Server. The application cannot find some files or the expressions in the VBA code encounter error. We thought the 64 bit OS should be backward compatible with the 32-bit application, but it looks like not the case. So I would like to ask whether it is possible to use the same code which is working in both 32-bit and 64-bit system or there is any alternative way to solve this issue? Further, is there any other issue which should be considered? Thanks for your help.

    Wenyan
    Tuesday, August 28, 2012 1:41 AM

Answers

  • And just as a FYI.

    No question that one has to maintain two versions, but ONLY if running x64 office.

    In a roundabout way, one can much say that the OS version does NOT matter. This issue ONLY matters if the user going to run the x64 bit version of office. Now of course one does need an x64 os to run x64 office.

    However, running x32 office on x32 OS or x64 OS requires no changes and no code changes. This includes compiled VBA code. So as such all code should work on either OS provided we still talking about using the recommend (x32) version of office.

    The ONLY issues crop up if the user decides to use x64 of office.

    The two things occur:

    1) any windows api code calls have to be changed to x64

    2) any compiled VBA code such as an mde or accDE must be re-compiled for the given office version bit size. Note that this step is NOT required in the case of when VBA source code is available since then a re-compile on the fly will occur. With an mde/accDE, since there is no source code, then such a re-compile cannot occur. This means that if one decides to use an accDE, then one has to re-compile a version for x32 office and another one for x64 office.

    So, at the end of the day, the best way to think of this is that the OS version simply does not matter if you running x32 office. This is quite much what we all run anyway, and this is true even despite that the VAST majority of people now run the x64 bit version of windows.

    Albert D. Kallal (Access MVP)
    Edmonton, Alberta Canada

    • Marked as answer by Wenyan ZHU Tuesday, August 28, 2012 11:36 PM
    Tuesday, August 28, 2012 5:40 PM

All replies

  • Generally speaking yes, you can run a 32-bit Access app on either a 32 or 64-bit operating system with Office-32 installed.

    This is NOT true for 32-bit vs. 64-bit versions of Office, but that is not what your question is about.

    If you are having problems, start with Code Window > Tools > References to see if any are missing.
    Follow up with Code Window > Debug > Compile
    Also, make sure Access Window > File > Options > Trust Center > Trust Center Settings > Trusted Locations includes the path to your application.

    Beyond that, we will need exact error messages and code snippets.


    -Tom. Microsoft Access MVP


    Tuesday, August 28, 2012 2:37 AM
  • Do you have any special codes such as Windows API declarations and calls to Windows API?

    AFAIK, there are Win32 API and Win64 API and they are different.  From materials I read previously (and if I recall correctly), you may need to maintain 2 Front-End versions with different Win API declarations, 1 for the 32-bit OS and 1 for the 64-bit OS in this case.


    Van Dinh

    Tuesday, August 28, 2012 2:58 AM
  • Thanks for all  the replies.

    I found the actual issue in my application is caused by  missing the Access Runtime SP1. After I install the Access Runtime 2010 (32-bit) and also Access Runtime 2010 SP (32 bit), the problems are solved. 

    However I do find the following issues:

    1. the 32-bit Access application cannot run on 64-bit Access Runtime.

    2. There are some Windows API changes based on  the reference:

    http://msdn.microsoft.com/en-us/library/office/ee691831.aspx 

    Thanks

    Wenyan

    Tuesday, August 28, 2012 4:00 AM
  • 1 and 2 are both by design.


    -Tom. Microsoft Access MVP

    Tuesday, August 28, 2012 4:16 AM
  • And just as a FYI.

    No question that one has to maintain two versions, but ONLY if running x64 office.

    In a roundabout way, one can much say that the OS version does NOT matter. This issue ONLY matters if the user going to run the x64 bit version of office. Now of course one does need an x64 os to run x64 office.

    However, running x32 office on x32 OS or x64 OS requires no changes and no code changes. This includes compiled VBA code. So as such all code should work on either OS provided we still talking about using the recommend (x32) version of office.

    The ONLY issues crop up if the user decides to use x64 of office.

    The two things occur:

    1) any windows api code calls have to be changed to x64

    2) any compiled VBA code such as an mde or accDE must be re-compiled for the given office version bit size. Note that this step is NOT required in the case of when VBA source code is available since then a re-compile on the fly will occur. With an mde/accDE, since there is no source code, then such a re-compile cannot occur. This means that if one decides to use an accDE, then one has to re-compile a version for x32 office and another one for x64 office.

    So, at the end of the day, the best way to think of this is that the OS version simply does not matter if you running x32 office. This is quite much what we all run anyway, and this is true even despite that the VAST majority of people now run the x64 bit version of windows.

    Albert D. Kallal (Access MVP)
    Edmonton, Alberta Canada

    • Marked as answer by Wenyan ZHU Tuesday, August 28, 2012 11:36 PM
    Tuesday, August 28, 2012 5:40 PM