python Call to external program results in [Error 193] %1 is not a valid Win32 application

23,192

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 :)

Share:
23,192

Related videos on Youtube

ccwhite1
Author by

ccwhite1

Updated on July 09, 2022

Comments

  • ccwhite1
    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
    ccwhite1 about 13 years
    When I change the command to call("cscript.exe","<myfile>") it returns the error "TypeError: bufsize must be an integer"
  • ccwhite1
    ccwhite1 about 13 years
    I got it now call(["cscript.exe","<myfile>"])
  • Tobber
    Tobber over 10 years
    As an alternative to running in 32bit, you might find the package in 64bit at this listing: lfd.uci.edu/~gohlke/pythonlibs

Related