Для обновления нашего программного обеспечения мы использовали программу обновления VB6 с уровнями обновлений и различными источниками обновлений. Он скопировал необходимые файлы из источников обновлений в локальный каталог (C: \ program files \ company \ product).
Программы VB6 могут работать только с сервисным помощником (srvany или аналогичным) в качестве сервиса и не имеют достаточных прав для изменения или добавления новых файлов в заданную папку. Но даже программа .NET не имеет необходимых прав для этого, только если вы задали учетные данные администратора в службе.
Если клиент не установит службу с учетными данными администратора, как мы можем использовать службу или программу, вызываемую службой, для изменения файлов в данной папке, это означает, что он имеет права администратора.
MSI / MSP невозможен из-за заданных уровней обновления (разные пользователи с разными версиями программ и отчетов).
Мы пытались вызвать внешнюю программу из службы C # .NET с повышением, но никак ...
Мы проверили некоторые хитрости и хитрости с файлами манифеста или решили создать COM-объект, который мог бы иметь права администратора, но я думаю, что это неправильный путь.
Другая возможность - создать запланированное задание, задав «самый высокий уровень». Но это работает? Если задача должна запускаться после входа в систему, и разные пользователи могут использовать этот компьютер, вы должны определить задачу для каждого пользователя ... Мы не знаем каждый логин на клиентском компьютере, потому что они меняются очень часто.
Может кто-нибудь помочь, пожалуйста?