Why am I getting error code "193" when I try to Invoke an Application with SilkTest?
When using the Invoke method to launch an application with SilkTest, you may get the following error message:
This may be caused because the Agent retrieves the iexplore.exe path from the registry and tries to access it iteratively (until it succeeds), in the following manner:
- C:\Program Files\Internet
- C:\Program Files\Internet.exe
- C:\Program Files\Internet Explorer\iexplorer.exe
If any of the first 4 files exist in the locations above, Internet Explorer will fail to invoke and you will receive error 193. The last path is the correct path to iexplore.exe and as such will work correctly.
For example, removing the "C:\Program" file from the C directory, or any of the first 4 files in the list above that may exist, will cause the Invoke method to work correctly. If any of these files are needed it will work fine if you move them to another location.
In the screenshot below it is shown how SilkTest goes through this iteration from the Process Monitor Logs. In the first section the "C:\Program" file exists and so SilkTest tries to open it, succeeds and then the script stops. This produces error 193. In the second section the "C:\Program" file does not exist and so SilkTest navigates correctly to the iexplore.exe path and the script continues running as designed.
Note: if there is a folder or directory with the names as mentioned above it will also work fine, it is only a problem if they are files.
An alternative to this is to edit the iexplore.exe path from the registry. Navigate to "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE" in the registry and put double quotes around the value data.
C:\Program Files\Internet Explorer\IEXPLORE.EXE
"C:\Program Files\Internet Explorer\IEXPLORE.EXE"