Как запустить задачу Windows 2008 из планировщика с «взаимодействовать с рабочим столом»
У меня есть небольшое приложение .NET, которое я запускаю под Windows 2008 Server через планировщик задач. Это приложение должно открыть файл Excel, а затем сохранить его как CSV. Задача не выполняется, когда я пытаюсь открыть книгу. Если я запускаю его вручную без запуска планировщика задач, приложение работает нормально.
У меня установлено «Запускать с наивысшими привилегиями», а флажок «Запустить погоду пользователь вошел или нет».
Я предполагаю, что этот процесс должен взаимодействовать с рабочим столом аналогично проверке флага «взаимодействовать с рабочим столом» в службе. Но я не смог найти подобную вещь для запланированных задач.
Вот код, который терпит неудачу: (он терпит неудачу при вызове 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);
}
}