mohammadreza pahlevan Ответов: 1

Мое приложение C# .NET не может создать новый файл или записать его в реестр windows на нескольких системах.


Привет,
Мое приложение c# .net не может записывать данные в реестр или создавать новый файл в некоторых пользовательских системах . У большинства пользователей нет проблем, но у некоторых из них, имеющих тип учетной записи "Администратор" (не должно быть проблем с привилегиями) , есть эта проблема . Когда они активируют учетную запись " Windows Local Administrator "(с помощью панели управления) и установят мое приложение в учетную запись" Windows Local Administrator", их проблема будет решена . Как можно решить их проблему, не заставляя их активировать свою учетную запись "локального администратора Windows".
Заранее благодарю вас за вашу помощь .

Что я уже пробовал:

Я погуглил эту проблему, но безрезультатно . Единственное решение-активировать учетную запись "локальный администратор Windows" и установить программное обеспечение в этой учетной записи.

1 Ответов

Рейтинг:
2

OriginalGriff

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

Доступ к файлам также ограничен многими папками, и этот доступ также становится более ограниченным, на этот раз для уменьшения эффекта атак вирусов и вымогателей. Опять же, не ожидайте, что доступ станет проще! Если ваше приложение использует папку, которая не имеет правильных разрешений для пользователя, под которым работает ваше приложение, то ему нужен доступ локального администратора, чтобы что - то делать, а это опасно. Одной из очень распространенных ошибок является попытка хранить данные в папке приложения , которая защищена от записи в рабочей среде для обеспечения безопасности, но доступна в разработке.

Я бы изменил приложение, чтобы использовать локальные конфигурационные файлы и" безопасные " папки. Это может помочь: Где я должен хранить свои данные?[^]