access 2007 error in 64 bits environments

  • Thread starter Alain Bourgeois
  • Start date
A

Alain Bourgeois

Hi,

I can't make an application run on win7/64 bits with access run-time (ok for
32 bits).
I can reproduce the problem as this:
from my 32 bits pc:
* take access 2003, file/new database=> dbEmpty.mdb
* take access 2003, file/new database=> db1Tab.mdb, import 1 table from
an existing application

=> Copy these 2 files on a computer with win 7 64bits (or vista 64 bits),
and access rutime, in my documents.
Double click dbEmpty.mdb=> OK
Double click db1Tab.mdb=> Error (although there is only one table and no
code is run). I get the same error when opening any application.
I have the same error trying to open applications (that run with win 7 /32
bits/ a2k7 runtime).

Can someone help? The mdb's can be retrieved at
http://www.self-mail.com/buga2k7r/db1Tab.mdb and
http://www.self-mail.com/buga2k7r/dbEmpty.mdb
Is there something to do to "trust" or "convert" applications in 64 bits?

Regards,
Alain
 
A

Alain Bourgeois

If other people are searching for this issue, I found the solution (lots of
forum say this problem occurs but none gave a solution):

1. From the 64-bits computer access run-time 2007 is installed: share the
folder holding the mdb file.

2. From another computer in the same network with access 2007 (in my case
win xp pro xp3 with access 2007): explore to share and open the database
with access 2007 UK. Close the database.

3. Double-clic the mdb file on 64 bits computer, no error anymore.......
Great.



Subsidiary question for MS guys: more and more computers will be 64 bits. As
developer, I would like to avoid having to build one installshield for 64
bits computers and another for 32 bits computers.

Isn't there a better solution? The problem is very easy to reproduce!



Regards,
Alain
 
D

David-W-Fenton

Subsidiary question for MS guys: more and more computers will be
64 bits. As developer, I would like to avoid having to build one
installshield for 64 bits computers and another for 32 bits
computers.

Surely if you build your installer with only 32-bit components, it
will work for both?
 
A

Alain Bourgeois

The users that don't have any ms-access download then install the A2K7
runtime v2 (only available in 32 bits).

There is no "installer": we distribute one mdb (access 200 database format),
holding code and data.

Our install script scripts copies the mdb to a subfolder of my documents (
$my documents\<application name>\ ), add dir to trusted locations, positions
sandbox mode and security level.



It seems the application MUST be compiled with access 2007 to be run on
windows 64 bits using runtime.

No problem at all using runtime with Win 7 32 bits or vista 32 bits, and the
mdb has been used / compiled with access 2000 or 2003.
 
R

Rick Brandt

Alain said:
The users that don't have any ms-access download then install the A2K7
runtime v2 (only available in 32 bits).

There is no "installer": we distribute one mdb (access 200 database
format), holding code and data.

Our install script scripts copies the mdb to a subfolder of my documents (
$my documents\<application name>\ ), add dir to trusted locations,
positions sandbox mode and security level.



It seems the application MUST be compiled with access 2007 to be run on
windows 64 bits using runtime.

No problem at all using runtime with Win 7 32 bits or vista 32 bits, and
the mdb has been used / compiled with access 2000 or 2003.

I have an app compiled to MDE with 2000 that runs on 64 bit using the 2007
runtime.
 
D

David-W-Fenton

The users that don't have any ms-access download then install the
A2K7 runtime v2 (only available in 32 bits).

There is no "installer": we distribute one mdb (access 200
database format), holding code and data.

Our install script scripts copies the mdb to a subfolder of my
documents ( $my documents\<application name>\ ), add dir to
trusted locations, positions sandbox mode and security level.

It seems the application MUST be compiled with access 2007 to be
run on windows 64 bits using runtime.

Do you use any API calls? Perhaps that's what's causing the problem.
No problem at all using runtime with Win 7 32 bits or vista 32
bits, and the mdb has been used / compiled with access 2000 or
2003.

It's generally considered inappropriate to compile to one version
and distribute with another, but MDEs are supposed to be
forward-compatible (i.e., an A2003 MDE should run in A2007/A2010).
If your users are only using the A2007 runtime, why not compile in
A2007 and avoid the issue? Or do you have a mix of runtime
installations and full A2000/A2003?

If the latter, it should be the case that an A2000 MDE should run on
all forward versions. On the other hand, I haven't mucked about with
that on 64-bit systems with an MDE with Windows API calls. That
should really be no problem (since A2007 is 32-bit only), so I'm
rather puzzled as to the issue.

I'm wondering if you've misidentified 64-bit Windows as the culprit
here?
 
A

Alain Bourgeois

I don't distribute mde, I distribute mdb.
"an A2003 MDE should run in A2007/A2010"=> Yes it should, but a A2003 mdb
cannot be opened on access 2007 runtime on win 7 64 bits (while there is no
problem on win 7 32 bits).
I could compule with access 2007, but I'm afraid that access 2007 mdb would
not work on access 2000/2003.
 
A

Alain Bourgeois

MDE perhapes, mdb not.
MDB doesn't work, you can check it by downloading files from top message
And I prefer distribute mdb than mde.
 
D

David-W-Fenton

a A2003 mdb
cannot be opened on access 2007 runtime on win 7 64 bits (while
there is no problem on win 7 32 bits).

Again, I ask the question:

Do you have Windows API calls defined? I thought the problems with
that would only occur in 64-bit Access, but maybe the particular
libraries you're using are different on 64-bit Windows than on
32-bit?
 
A

Alain Bourgeois

I can reproduce the problem with a simple database with just a table in it,
without any api calls.

You can even download it, see top message of the thread.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top