• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 650
  • Last Modified:

Access 2010 Runtime on a 32 bit Office on a 64 bit Operating System.

I am having a problem with one client who is trying to run a small access database on his computer using Runtime, this database works perfectly in the 32 bit environment but he has tried this on the Runtime for 32 bit and for 64 bit and nothing seems to be working.  The latest message I have is "Execution of this Application has stopped due to a Runtime Error"

Any help would be greatly appreciated.   We were told to download "service pack 2 for Office 2010" but we cant find the link and I dont know if this is the answer - please experts help me.
0
AnnetteDavid
Asked:
AnnetteDavid
  • 5
  • 4
  • 2
3 Solutions
 
peter57rCommented:
There is no such service pack.  Office 2010 has only had SP1.

But I don't think I can help you with the problem.

The only issue I can think of that could cause a problem is the use of API calls -   many declarations have to be modified for use in a 64-bit environment.
0
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
In addition to what Peter said about API calls, also be sure that the references on the target machine are valid. If you can list out the references you have in your database we can perhaps spot one that might be troublesome.

Execution of this Application has stopped due to a Runtime Error
This generally means you have an unhandled error in your code. When dealing with the Runtime it is CRITICAL that you have proper error handling in place.

MZ Tools can help with that (www.mztools.com) - it's an add-in that is indispensable for working with Access. One of the many features is that it can automatically add error handling to all your procedures (be sure to make a backup first, just in case).  Best of all, MZ Tools is free!
0
 
AnnetteDavidAuthor Commented:
Going to try MZ Tools now, thank you, will let you know how it goes
0
 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

 
AnnetteDavidAuthor Commented:
OK, I have tried MZ Tools and yes it is amazing, however it is also a bit above my level of expertise and I will ask a couple of my colleagues to look at it as well.

I need advice please.  We need to buy another computer, we produce a std database sold to all different platforms and we need to be able to test and run on all of them.  In future we think we will not do runtime but that doesnt matter at the moment.

If we buy a 64 bit machine with 64 bit software (windows and office) - will a database created on this run on Access 2007 on windows 7 or earlier? -- I think the answer is NO but need to double check
0
 
peter57rCommented:
Definitely NO for Office2010.  You must use 32-bit Office , whether you run 32bit or 64bit windows.  But that's only one issue.

In addition , the chances of you building an app in Access2010 that runs OK in Access 2007 are minimal. Backwards compatibility is almost non-existant from A2010 to A2007.

If you are distributing to customers who are using A2007 then you MUST produce your app using A2007.
0
 
AnnetteDavidAuthor Commented:
Hi Peter, than you for your answer.  At present our largest selling database runs perfectly in 2010 and 2007 on 32 bit, however people are buying 64 bit and the first time we had a problem with this was trying to use a runtime.  If we do not do runtime anylonger (I detest it anyway) are you suggesting we dont need to buy a 64 bit (because of backward compatibility).  Please I am not asking for total commitment, just your expertise and experience.

Thank you as always for your help.
0
 
peter57rCommented:
There is no requirement to use office 64bit with Windows 64 bit.
32bit apps will run on both 32bit and 64bit machines.

I don't know whether MS will change its stance for Office2013 but it gave out a message that for Access (2010) in particular, using 32bit was preferable - I can only guess that this message meant it would be more reliable than the 64bit version.

It is possible to write code that recognises the 'bitness' of both Office and Windows and performs conditional compilation of code based on the found environment.  You can get details of this here:
http://msdn.microsoft.com/en-us/library/office/ee691831.aspx

The main issue concerns the declaration of API functions - obviously some applications may not use any APIs but most 'real' applications would probably use some.

I am quite surprised that you are producing apps using A2010 which run succesfully in both A2010 and A2007.  Perhaps you can post some details of how you achieve this.
0
 
AnnetteDavidAuthor Commented:
Now that would be hilarious, if I knew how this had happened I would tell you, but this database has been going for nearly 10 years, has grown and grown, been changed from version to version, developer to developer, sections added to (gov regulations) and taken away (yes I know the developers nightmare) but it is stable and runs perfectly in both versions (apart from 64 bit runtime) and used by medium and small business alike.  Although we dont recommend more than 20 users, on average it is a 5 -10 user installation.  Shoudl they need to go larger we recommend they use a database with SQL.  We do not have mixed users, i.e. they must all be on the same version of Access.  We always split the databases etc.  

We do have some API's but not a lot.  I really appreciate your help on the 32 bit and 64 bit, it has been invaluable, thank you.
0
 
peter57rCommented:
OK - so is it still an mdb file then?
0
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
IMO if you need to support users running both 32-bit and 64-bit OFFICE, then you need to build and maintain two separate products. While you can use conditional compilation to run in both environments, it can be tough to do, especially since you've mentioned API calls and such.

We need to buy another computer, we produce a std database sold to all different platforms and we need to be able to test and run on all of them.  
What you really need is a machine capable of managing virtual environments. I use vmWare for this, along with my MSDN subscription. I run vmWare directly on my workstation, but you could also run it on a server if need be. Using vmWare, you can install many different operating system/Office combinations, and you'd then be able to exactly replicate your user environment for testing.

If you do this, then definitely go with 64-bit host operating system (like Windows 7). On a 64-bit vmWare host, you can install any operating system (including non-MSFT os), so you'd be covered for everything.

You can also use some of the freeware stuff, like VirtualBox, although I haven't tried those. If you're strictly MSFT, then I think VirtualBox might work fine for you.
0
 
AnnetteDavidAuthor Commented:
I have done the following and it has helped, but dont know if it will work with all machines

-      Open your application, and go to Database tools and Visual Basic, which will open the VB Code.
-      Click “Find”, and search for the word “Declare”
-      When it finds a statement something like “Declare Function…….”
-      Add the word PtrSafe to the statement so it reads “Declare PtrSafe Function”
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 5
  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now