Cómo ejecutar una tarea de Windows 2008 desde el programador con "interactuar con el escritorio"

Tengo una pequeña aplicación .NET que estoy ejecutando bajo Windows 2008 Server a través del Programador de tareas. Esta aplicación necesita abrir un archivo de Excel y luego guardarlo como csv. La tarea falla cuando intento abrir el libro de trabajo. Si lo ejecuto manualmente sin que el programador de tareas lo ejecute, la aplicación funciona bien.

Lo tengo configurado en "Ejecutar con los privilegios más altos" y tengo "Ejecutar el tiempo que el usuario ha iniciado sesión o no" marcado.

Supongo que este proceso debe interactuar con el escritorio de manera similar para verificar el indicador "interactuar con el escritorio" en un servicio. Pero no he podido encontrar algo similar para las tareas programadas.

Aquí está el código que está fallando: (falla en la llamada workbook.open)

public static void ConvertExcelToCsv(string source, string destination)
{
    if (File.Exists(destination)) File.Delete(destination);

    Application xl = new Application();

    try
    {
        Workbook workbook = xl.Workbooks.Open(source, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
        Worksheet ws = (Worksheet)workbook.Sheets[1];
        ws.SaveAs(destination, XlFileFormat.xlCSV, Type.Missing, Type.Missing, false, false, Type.Missing, Type.Missing, Type.Missing,true);

        Marshal.ReleaseComObject(ws);
    }
    finally
    {
        xl.DisplayAlerts = false;
        xl.Quit();

        Marshal.ReleaseComObject(xl);                
    }

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta