WScript.Shell Run gives "No application is associated with the specified file for this operation." when opening images.

7

I am facing an issue while trying to open an image file from a Silverlight app in Windows 10 using WScript.Shell.

The code is as follows.

        try
        {
            dynamic shell = AutomationFactory.CreateObject("WScript.Shell");
            shell.Run(@"C:\temp\X.jpg");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.StackTrace);
        }

This piece of code works perfectly fine when the default application is set to 'Photos' / 'Internet Explorer' in Windows 10 'Default Apps' settings.

However, when the default app is set to 'Paint', I get an exception "No application is associated with the specified file for this operation. (Exception from HRESULT: 0x80070483)"

Please note that when I try to double click on the same image in Windows explorer, it opens up in Paint application without errors.

Why does this happen? Please help.

silverlight-5.0
wsh
asked on Stack Overflow Oct 28, 2016 by Chhavi Sehgal

1 Answer

1

Problem

  • windows script host not running desired application for known file type

Solution

  • expressly specify the desired application and run using WScript.Shell Object

Example

  • in the example below, we reference both the program and the file we want to run with strRunLine

    <?xml version="1.0"?>
    <package>
    <job id="default">
        <script language="jscript">
        <![CDATA[
            // save to demo_runpaint.wsf
            var WshShell        =   new ActiveXObject("Wscript.Shell");
            var strRunLine      =   "";
    
            strRunLine  = "mspaint.exe C:/path/to/capture.png";
            WshShell.Run( strRunLine );
        ]]>
        </script>
    </job>
    </package>
    

Pitfalls

  • the desired program must be in your system PATH or else you must specify the full path to the application expressly.
answered on Stack Overflow Apr 12, 2019 by dreftymac • edited Apr 12, 2019 by dreftymac

User contributions licensed under CC BY-SA 3.0