Где хранятся пользовательские настройки .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.