python Call to external program results in [Error 193] %1 is not a valid Win32 application
Solution 1
As the warning says, file.wsf
isn't an application. It's a script that gets run by being passed as an argument to the script engine. You'll probably need to call the script handler instead. I've no idea what the handler application is, but let's assume that it's cscript.exe
. You should adjust your call()
to run this and pass the wsf file as a parameter.
Solution 2
Do you have the 64-bit version of Python installed?
I got the same kind of error when I was trying to do a ctype call to a (32-bit) dll running Python 2.7 (64-bit). When I changed to the 32-bit version of Python, the error disappeared and things started working! Perhaps you are having the same problem?
I suppose in Win64, a 64-bit process must be all 64-bit :)
Related videos on Youtube
ccwhite1
Updated on July 09, 2022Comments
-
ccwhite1 almost 2 years
I am writing a GUI front end that after it does a bunch of validation will execute a series of already existing vbscript .wsf files.
My problem is when I try to execute the .wsf files I get the error
WindowsError: [Error 193] %1 is not a valid Win32 application
Running them from the command line works fine
d:\<some path>\<some file>.wsf
I have tried several different options, call, os.system etc. But all result in the same Win32 error.
call("d:\<some path>\<some file>.wsf")
Any ideas?
-
ccwhite1 about 13 yearsWhen I change the command to call("cscript.exe","<myfile>") it returns the error "TypeError: bufsize must be an integer"
-
ccwhite1 about 13 yearsI got it now call(["cscript.exe","<myfile>"])
-
Tobber over 10 yearsAs an alternative to running in 32bit, you might find the package in 64bit at this listing: lfd.uci.edu/~gohlke/pythonlibs