Приложение ClickOnce не запускается из планировщика - PullRequest
2 голосов
/ 24 июня 2010

У меня есть пакетный файл, который будет отклонять приложение clickOnce:

@REM The odd PING statements are to create a 5 second wait
@echo off
taskkill /F /IM MyApp.exe
PING 1.1.1.1 -n 1 -w 5000 >NUL
"%USERPROFILE%\Path\To\My\App.appref-ms"

Это прекрасно работает, когда я дважды щелкаю по нему: процесс завершается, а затем перезапускается через 5 секунд.

Однако, если я планирую задачу, она убивает процесс, но не перезапускает его.

Кто-нибудь знает, что происходит? (Задача выполняется от имени того же пользователя, на котором я вошел, как при двойном щелчке командного файла, и все работает хорошо)

Спасибо

Ryan

Ответы [ 3 ]

3 голосов
/ 25 октября 2016

У меня была такая же проблема под Windows Server 2012 R2. Мое приложение ClickOnce запускается при запуске вручную и не всегда запускается при запуске из планировщика задач.

Я обнаружил, что это связано с тем, что dfsvc.exe (сервисный помощник ClickOnce) не запускается корректно из планировщика задач. Мое решение состояло в том, чтобы указать Задаче на пакетный файл, который запустит dfsvc.exe до запуска приложения ClickOnce:

:: Run ClickOnce service if not already running
tasklist /NH /FI "IMAGENAME eq dfsvc.exe" 2>NUL | find /I "dfsvc.exe">NUL
if errorlevel 1 start "" "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\dfsvc.exe"

\\the\path\to\your.application
0 голосов
/ 11 января 2014

Я знаю, что это действительно старый, но я пишу, потому что я не мог найти ответы.

(Среда: VS2010, консольное приложение C # с обновлениями для .net 3.5 на Win 7 64)

Мне не удалось запустить консольное приложение в планировщике задач. Мое приложение опубликовано в сетевой папке. Планировщику не удалось запустить \ AutoSync.application с ошибкой «% 1 не является допустимым приложением win32». Планировщик заданий скажет, что \ setup.exe запущен успешно, но ни одна из процедур, которые, по-видимому, выполнялось приложением, не была выполнена, включая сообщение о состоянии, которое оно отправило перед закрытием. Это не имело значения, если бы я использовал путь UNC или буквенный подключенный диск, ничего не будет работать. Я не пробовал публиковать на локальном компьютере, это было невозможно для меня.

Приложение будет работать отлично при запуске вручную. Затем я следовал по пути, который использовал ярлык моего меню «Пуск» - «C: \ Users \ foo \ AppData \ Roaming \ Microsoft \ Windows \ Меню Пуск \ Программы \ Автосинхронизация \» и выбрал найденный там ярлык. Это заполнило фактический путь exe "C: \ Users \ Foo \ AppData \ Local \ Apps \ 2.0 \ W9BDW4LH.KM0 \ J6DPJEM9.LT0 \ auto..tion_a217eb88f33937fd_ \ AutoSync.exe". Это было все, что мне было нужно.

Моя программа теперь работает по расписанию и отправляет мне сообщения по электронной почте после завершения. Однако я готов повторить действие своей задачи после следующего обновления.

0 голосов
/ 28 июня 2010

ClickOnce предназначен для:

  • настольных приложений
  • консольные приложения
  • xbap apps
  • и надстройки VSTO.

Он предназначен для взаимодействия с пользователем.

Что делает ваше приложение?

...