Создать значение реестра на локальной машине с помощью C # - PullRequest
2 голосов
/ 12 апреля 2010

Я пытаюсь сохранить путь установки в реестре, чтобы моя служба Windows знала, где было установлено мое другое приложение.

Я использую развертывание Visual Studio для создания значения реестра в HKEY_CURRENT_USER, но моя служба Windows, работающая в LocalMachine, не имеет к этому доступа. Затем я заставил установщик создать значение реестра в HKEY_LOCAL_MACHINE, но когда я просматриваю реестр после установки, он никогда не получал значение. Есть идеи?

Ответы [ 3 ]

2 голосов
/ 13 апреля 2010

Оказывается, что оно было записано в HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ вместо HKEY_LOCAL_MACHINE \ SOFTWARE \, потому что у меня 64-битные окна.

1 голос
/ 12 апреля 2010

Вам не нужно делать один свой. MSI фактически установит один для вас, это может быть найдено в

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{ProductGUID}\InstallLocation

EDIT

Я только что посмотрел, и кажется, что он не устанавливается каждый раз ...

0 голосов
/ 12 апреля 2010

Возможно, у вас не установлен установщик, который запрашивает повышение привилегий, и он устанавливает его в виртуализированном реестре для каждого пользователя.

Проверьте HKEY_CLASSES_ROOT \ VirtualStore \ Machine. Если ваш ключ там, вам нужно настроить ваш установщик так, чтобы он запрашивал повышение прав.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...