Есть одна фирма, все пользователи которой сталкиваются с одной и той же проблемой. Ни одна другая фирма не сообщает о проблеме, и мы не можем воспроизвести проблему в нашей тестовой среде.
Я не могу определить причину проблемы.
Проблема в том, что каждый пользователь вынужден запускать программу C# вручную, поскольку программа не запускается автоматически, когда пользователь входит в систему на своем компьютере.
Текущий механизм автоматического запуска программы заключается в предоставлении ярлыка в папке «Автозагрузка» во время установки.
Код: Выделить всё
C:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Программа работает непрерывно, если она явно не закрыта пользователем или он не выходит из системы, не перезагружается компьютер и т. д.
Ошибка возникает, когда программа начальной загрузки пытается удалить и скопировать исполняемый файл во время запуска.
Я предполагаю, что либо файл используется, либо у пользователя нет разрешения на его удаление.
Программа устанавливается в домашний каталог пользователя (C:\Users\[имя пользователя])
ИТ-администратор пользователя подтвердил, что пользователь имеет полный контроль и все разрешения (кроме специальных разрешений) для подпапок и исполняемых файлов.
Пользователь не является администратором.
Код: Выделить всё
System.UnauthorizedAccessException: Access to the path 'C:\Users\username\UI\jre\bin\filename.exe' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at UI.Client.RetryDeleteFile(String filename) in Z:\Perforce\Head\main\src\dotnet\UIStartUp\UI\Client.cs:line 852
2019-04-02 06:59:05.SSS [ERROR] UI.Client:852: Not able to delete file (retrying): C:\Users\username\UI\jre\bin\[email protected]:
ИТ-администратор, отвечающий за Рабочие столы пользователей не очень-то сотрудничают, и у них по праву заканчивается терпение, поскольку мы стреляем в темноте.
Думаю, мы сможем придумать вариант установки, чтобы избежать удаления файлы, но это отключит функцию, с помощью которой мы можем удаленно обновлять наше программное обеспечение, не проходя процесс установки.
Подробнее здесь: https://stackoverflow.com/questions/554 ... -is-denied