1

I'm trying to call ie4uinit from a python script so that I can update the icon in my task bar. ie4uinit.exe -ClearIconCache does just that, however whenever python calls it, either with subprocess.call or os.system, the following error comes up and the program is not called.

"ie4uinit.exe" is not recognized as an internal or external command,
operable program or batch file.

I have tried giving the full path location i.e.

"C:\Windows\System32\ie4uinit.exe"

Same result.
I have even made a .bat to abstract the call.

I suspect the problem is stemming from a difference in permissions between calling the command from the command line, and calling it through python. But I don't know how.

Hsad
  • 11
  • 3
  • Probably you're running a 32-bit version of Python. Try `c:\windows\sysnative\ie4unit.exe` – Harry Johnston Jul 02 '16 at 07:39
  • Yea, I am running a 32-bit version of Python, but the ie4unit.exe doesn't seem to exist. Nore does the Sysnative folder. There is SysWOW64, but that is devoid of the ie4unit.exe. – Hsad Jul 02 '16 at 14:25
  • Also, I can't imagine why a 32bit program can't call a 64bit one. – Hsad Jul 02 '16 at 14:28
  • `sysnative` isn't a folder, it is a special instruction to the 32-bit emulator. It will work, try it. See [WoW64 - Registry and File System](https://en.wikipedia.org/wiki/WoW64#Registry_and_file_system) on Wikipedia. – Harry Johnston Jul 03 '16 at 01:01
  • Yep `\sysnative\ie4uinit.exe` worked! Thanks Harry. – Hsad Jul 04 '16 at 19:03
  • Possible duplicate of [python os.listdir doesn't show all files](http://stackoverflow.com/questions/16271306/python-os-listdir-doesnt-show-all-files) – Harry Johnston Jul 04 '16 at 21:06

0 Answers0