By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,403 Members | 1,089 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,403 IT Pros & Developers. It's quick & easy.

CTypes, 64 bit windows, 32 bit dll

P: n/a
So I have a 64 bit Windows 2003 system, running python 2.5.1.1.

I can import a Windows .dll (msvcrt or whatever) using ctypes, but
when attempting to import another application-specific .dll (tibrv.dll
if anyone is familiar with it), I receive the error WindowsError:
[Error 193] %1 is not a valid Win32 application.

I know there's a Windows on Windows (wow) which allows 32 bit
processes to run on 64 bit windows - is there a way to work this in
somehow? Maybe I'm barking up the wrong tree?

Code is simple, and works on 32 bit systems no

from ctypes import *
#this doesn't work
tibrv = cdll.tibrv
#this does work
msvcrt = cdll.msvcrt
Mar 31 '08 #1
Share this Question
Share on Google+
6 Replies


P: n/a
On Mar 31, 10:22 am, rdahlstrom <roger.dahlst...@gmail.comwrote:
So I have a 64 bit Windows 2003 system, running python 2.5.1.1.

I can import a Windows .dll (msvcrt or whatever) using ctypes, but
when attempting to import another application-specific .dll (tibrv.dll
if anyone is familiar with it), I receive the error WindowsError:
[Error 193] %1 is not a valid Win32 application.

I know there's a Windows on Windows (wow) which allows 32 bit
processes to run on 64 bit windows - is there a way to work this in
somehow? Maybe I'm barking up the wrong tree?

Code is simple, and works on 32 bit systems no

from ctypes import *
#this doesn't work
tibrv = cdll.tibrv
#this does work
msvcrt = cdll.msvcrt
And by "works on 32 bit systems no", I mean "works on 32 bit systems
no problem."
Mar 31 '08 #2

P: n/a
On Mar 31, 4:22 pm, rdahlstrom <roger.dahlst...@gmail.comwrote:
So I have a 64 bit Windows 2003 system, running python 2.5.1.1.

I can import a Windows .dll (msvcrt or whatever) using ctypes, but
when attempting to import another application-specific .dll (tibrv.dll
if anyone is familiar with it), I receive the error WindowsError:
[Error 193] %1 is not a valid Win32 application.

I know there's a Windows on Windows (wow) which allows 32 bit
processes to run on 64 bit windows - is there a way to work this in
somehow? Maybe I'm barking up the wrong tree?

Code is simple, and works on 32 bit systems no

from ctypes import *
#this doesn't work
tibrv = cdll.tibrv
#this does work
msvcrt = cdll.msvcrt
all dlls and python must be 32bit or 64bit, no mixed ...
Mar 31 '08 #3

P: n/a
On Mar 31, 12:53 pm, "mimi.vx" <mimi...@gmail.comwrote:
On Mar 31, 4:22 pm, rdahlstrom <roger.dahlst...@gmail.comwrote:
So I have a 64 bit Windows 2003 system, running python 2.5.1.1.
I can import a Windows .dll (msvcrt or whatever) using ctypes, but
when attempting to import another application-specific .dll (tibrv.dll
if anyone is familiar with it), I receive the error WindowsError:
[Error 193] %1 is not a valid Win32 application.
I know there's a Windows on Windows (wow) which allows 32 bit
processes to run on 64 bit windows - is there a way to work this in
somehow? Maybe I'm barking up the wrong tree?
Code is simple, and works on 32 bit systems no
from ctypes import *
#this doesn't work
tibrv = cdll.tibrv
#this does work
msvcrt = cdll.msvcrt

all dlls and python must be 32bit or 64bit, no mixed ...
Crap, no way to make a 32 bit load, even using the wowexec?
Mar 31 '08 #4

P: n/a
Crap, no way to make a 32 bit load, even using the wowexec?

With WoW64, you can run 32-bit processes on a 64-bit system
(as you do all the time). That's all it does.

You cannot load a 64-bit DLL into a 32-bit application, or
vice versa.

If you want to load a 32-bit DLL on Win64, use the 32-bit
Python.

Regards,
Martin
Mar 31 '08 #5

P: n/a
rdahlstrom <ro*************@gmail.comwrote:
>On Mar 31, 12:53 pm, "mimi.vx" <mimi...@gmail.comwrote:
>On Mar 31, 4:22 pm, rdahlstrom <roger.dahlst...@gmail.comwrote:
So I have a 64 bit Windows 2003 system, running python 2.5.1.1.
I can import a Windows .dll (msvcrt or whatever) using ctypes, but
when attempting to import another application-specific .dll (tibrv.dll
if anyone is familiar with it), I receive the error WindowsError:
[Error 193] %1 is not a valid Win32 application.
I know there's a Windows on Windows (wow) which allows 32 bit
processes to run on 64 bit windows - is there a way to work this in
somehow? Maybe I'm barking up the wrong tree?
...

all dlls and python must be 32bit or 64bit, no mixed ...

Crap, no way to make a 32 bit load, even using the wowexec?
No. In Win64, a process is either entirely 32-bit, or entirely 64-bit. To
do the kind of crossing you seek, you would need to create a separate
process for the 32-bit DLL and use interprocess communication.
--
Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Apr 1 '08 #6

P: n/a
On Apr 1, 2:03 am, Tim Roberts <t...@probo.comwrote:
rdahlstrom <roger.dahlst...@gmail.comwrote:
On Mar 31, 12:53 pm, "mimi.vx" <mimi...@gmail.comwrote:
On Mar 31, 4:22 pm, rdahlstrom <roger.dahlst...@gmail.comwrote:
So I have a 64 bit Windows 2003 system, running python 2.5.1.1.
I can import a Windows .dll (msvcrt or whatever) using ctypes, but
when attempting to import another application-specific .dll (tibrv.dll
if anyone is familiar with it), I receive the error WindowsError:
[Error 193] %1 is not a valid Win32 application.
I know there's a Windows on Windows (wow) which allows 32 bit
processes to run on 64 bit windows - is there a way to work this in
somehow? Maybe I'm barking up the wrong tree?
...
all dlls and python must be 32bit or 64bit, no mixed ...
Crap, no way to make a 32 bit load, even using the wowexec?

No. In Win64, a process is either entirely 32-bit, or entirely 64-bit. To
do the kind of crossing you seek, you would need to create a separate
process for the 32-bit DLL and use interprocess communication.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
Shoot. Alright, thanks for your help. I guess I'll have to roll out
a 64-bit version of the tibco software.
Apr 1 '08 #7

This discussion thread is closed

Replies have been disabled for this discussion.