Если кто-то делает/сделает лучше и "пушистее" - рассказывайте, делитесь, да воздастся вам по делам вашим, в общем - welcome anytime! Моя задача была чтобы быстро и чтоб работало.
Пару слов про Яндекс Диск ( ЯД 🙂 ) - проект это коммерческий с бесплатной составляющей в виде заманухи. Да, здорово, что ЯД есть, никто не ворчит, но истинные мотивы проекта понимать надо - продавать. Делать бесплатные расширенные "плюшки" в программе никто не собирался. Основные моменты:
- программа устанавливается в каталог конкретного пользователя;
- запускается автозапуском при входе пользователя в систему, либо вручную;
- при включенной синхронизации, синхронизация начинается сразу после старта программы.
Получается для синхронизации файлов, пользователь должен быть все время залогинен в системе. Это не очень безопасно, куда хуже, что это ужасно неудобно. Нужно все время следить чтобы блокировать систему, а не выходить из нее.
Сначала полностью подготавливаете ЯД к работе - скачиваете, устанавливаете, вводите регистрационные данные, назначаете нужную папку, проверяете синхронизацию и завершаете программу.
Затем скачиваете nssm, распаковываете, переносите в Program Files - файл будет исполняться из того места, где он лежит, поэтому сразу переносим по месту. Мои комментарии относительно ЯД'а:
- Запускаете командную строку от имени Администратора, переходите в каталог скачанной nssm;
- Пишете nssm install YaDisk;
- Указываете путь C:\Users\имя_пользователя\AppData\Roaming\Yandex\YandexDisk\YandexDisk.exe;

- Закладка Details, вбиваете Display name:

- Закладка Log on as, вбиваете имя и пароль пользователя, для которого установлена программа:

У меня пользователь с правами Администратора, настроить под обычного пользователя можно - мне это не нужно. Еще есть закладка, где можно выбрать используемые ядра процессора - разумная вещь.
- Нажимаете Install service:

- Заходите в Сервисы, находите YaDisk, нажимаете Запустить:

- Запускаете Диспетчер задач, переходите к Процессам, наша служба - как пирожок - двухслойная:

Первая часть - это запуск nssm и скрипта, вторая - ЯД'а.

При этом графически нигде ЯД не светится - это очень хорошо, а синхронизация работает. Чтобы проверить нужно открыть ЯД в браузере и папку ЯД'а на компьютере - создавать/удалять и смотреть как в другой папке синхронно появляется/удаляется.
Запуск ЯД'а через ярлык программы стартует отдельный процесс с графической оболочкой. Вместе с нашим сервисом получается два одинаковых процесса, возможно отличающихся параметрами запуска:

Насколько конфликтует или нет - не проверял, синхронизация по прежнему работает. Лично я графической оболочкой буду пользоваться редко-редко, может быть для каких-то настроек, не более того. Вот в общем-то и всё. Осталось отключить запуск графической оболочки при входе пользователя.
Справедливости ради нужно поблагодарить человека, давшего наводку (прошу не путать с "на водку") на nssm, я лишь адаптировал к Яндекс Диску. Однако уверен 100%, что моя заметка будет полезна многим.
Добавление от 06.04.2016
Удаляем значок ЯД'а из Моего компьютера, так как щелчок на этом значке запускает графическую оболочку - HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\ удаляем
раздел {19170A69-A883-40D5-AF97-F6DC41495F15}

Источник:
//windowsnotes.ru/programs/kak-zapustit-prilozhenie-v-vide-sluzhby-windows/
Добавление от 22.05.2016
Сегодня увидел, что Яндекс Диск не синхронизируется. Служба работает.. Стал припоминать, вспомнил, что менял пароль от ящика. Это важный момент - при смене пароля, нужно запустить программу ЯД'а и вбить новый пароль. Когда ЯД работает в фоновом режиме про это легко забыть.
Nssm, спасибо, интересный вариант.
А я закинул яд.ехе в шедулер, с перезапуском раз в час.
Всегда пожалуйста. Да наверняка есть еще несколько вариантов.
1. Для начала вам понадобится пара файлов из состава Resource Kit. Скачать ResKit можно здесь или здесь.
2. Копиpyете файлы instsrv.exe и srvany.exe в какyю-нибyдь системнyю диpектоpию, напpимеp, в winnt\system32\ В ResKit есть еще
srvinstw – это пошаговая GUI-оболочка делающая то же, что и instsrv, но ещё умеет ставить/сносить службы удаленно ).
3. Запyскаете из командной стpоки:
instsrv MyService c:\path\to\srvany.exe
где MyService — пpидyманное вами имя вновь созданного сеpвиса. Если в имени имеются пpобелы, то имя сеpвиса необходимо
заключить в кавычки.
4. Тепеpь надо сконфигypиpовать этот сеpвис. Идете в: Start -> Settings -> Control Panel -> Services (services.msc), находите свой новый
сеpвис и заходите в свойства. В откpывшемся окошке отмечаете, каким способом ваш сеpвис бyдет запyскаться: Automatic – бyдет
запyскаться автоматически пpи загpyзки компьютеpа, Manual – бyдет запyскаться только вручную (или по требованию других служб
и приложений), Disabled – Отключен, запрещен к запуску. Если хотите видеть запущенный сеpвис в виде окна на десктопе, то
отметьте чек-бокс «Allow Service to Interact with Desktop» (Разрешить взаимодействие с рабочим столом). Здесь же можно указать
учетную запись от имени которой будет запускаться служба.
5. Запyскаете regedit и создаёте key «Parameters» (без кавычек) в: HKLM \ SYSTEM \ CurrentControlSet \ Service \ Имя_Вашего_сеpвиса \
6. Создаёте под созданным вами ключом «Parameters» (без кавычек) value «Application» (без кавычек) тип — REG_SZ: и прописываете
там полный пyть к исполняемомy файлy.
Hапpимеp, ApplicationName | REG_SZ | c:\path\to\application.exe
7. Перезагружаете компьютер или стартуете сервис вручную.
Источник: //wremya.org/index.php/faq/37-manwindows/111--windows
Спасибо за материал, автоматически в спам улетело, сразу не заметил.
Великолепная статья. Спасибо
Спасибо за благодарность. Делалось давно, уже не знаю насколько актуально с текущей версией Яндекс.Диск.
Актуальна до сих пор)) спасибо за идею!
На дворе 2022 - актуально до сих пор!
Актуально, спасибо!
Пробую на Server2003, при запуске службы выходит ошибка:
Тип события: Ошибка
Источник события: Service Control Manager
Категория события: Отсутствует
Код события: 7024
Дата: 04.02.2019
Время: 11:02:38
Пользователь: Н/Д
Компьютер: BO
Описание:
Служба "YaDisk" завершена из-за внутренней ошибки 3 (0x3).
Дополнительные сведения можно найти в центре справки и поддержки, в "http://go.microsoft.com/fwlink/events.asp".
Спасибо за совет! Пока работает на 2012 Server
а шифровальщик эти данные не достанет?
2020г. WinSrv 2019 Все работает как часы)
Небольшое замечавние на счет удаления ярлыка из Моего ПК. Путь немного изменился:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace{11C9DD7B-CCF5-4502-90A1-FEE8889976D5}
Спасибо, Александр!
Я использую AlwayUp для этого. С ней ЯД с GUI работает и всегда на виду.
Спасибо за инфу!