Где хранятся пользовательские настройки .NET IF User = SYSTEM?
Я работал с обновленным обновлением одного из моих приложений и с помощью Properties.Settings.Default.Upgrade()
и обнаружил, что после обновления моего приложения обновляется мое приложение, оно запускается под пользователем SYSTEM, а не по умолчанию/зарегистрированному пользователю.
Мне это интересно, где находится user.config для SYSTEM?
Я знаю, где user.config хранится нормально (C:\Documents and Settings\%USERPROFILE%\Local Settings\Application Data\etc...
), но нет папки в Documents and Settings
для пользователя SYSTEM. Кто-нибудь знает, где это и/как .NET справляется с этим?
Ответы
Ответ 1
Папка Local Application Data для учетной записи SYSTEM обычно находится в
C:\Windows\system32\config\systemprofile\Local Settings\Application Data\
для Windows XP и
C:\Windows\system32\config\systemprofile\AppData\Local\
для более поздних версий.
(Я пишу обычно, потому что
-
Windows не нужно устанавливать в C:\Windows
, и
-
имена папок Local Settings
и Application Data
локализованы в Windows XP, и
-
в 64-разрядных версиях Windows папка для 32-разрядных приложений находится в папке C:\Windows\SysWOW64
вместо System32
.)
Ответ 2
Поскольку я не знаю ответа, я бы сделал следующее, чтобы выяснить:
- Установить SysInternals Process Monitor (Прямая загрузка).
- Запустите Process Monitor, установите фильтр
Path
в ваше имя приложения.
- Запустите приложение.
- Наблюдайте за местоположениями в Process Monitor.
Это помогло мне часто в прошлом, может быть, это тоже могло быть для вас?
Ответ 3
HKEY_USERS\.DEFAULT
- это местоположение, где неинтерактивный пользователь получает свой профиль, когда никто не вошел в систему.
Раздел реестра HKEY_CURRENT_USER связан с пользователем по умолчанию, а не с текущим пользователем. Чтобы получить доступ к другому профилю пользователя, выполните олицетворение пользователя, затем нажмите HKEY_CURRENT_USER.