У меня есть служба Windows, которая развернута с использованием проекта развертывания VS2010.Я требую, чтобы имя пользователя / пароль было введено в установщик, а затем эти данные были переданы в реестр для использования службой.
Установщик работает нормально, а настраиваемые действия настроены правильно.Если я пытаюсь подключиться к HKLM, я не получаю ни ошибки, ни вывода, эта же команда для HKCU работает нормально.Это то же самое, что и стандартный и административный пользователь (включая RunAs).
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
var username = Context.Parameters["username"];
var password = Context.Parameters["password"];
// HKLM\Software\MySoftware
RegistryKey hklm = Registry.LocalMachine.CreateSubKey("SOFTWARE\\MySoftware");
hklm.SetValue("username", username, RegistryValueKind.String);
hklm.SetValue("password", password, RegistryValueKind.String);
hklm.Close();
// HKCU\Software\MySoftware
RegistryKey hkcu = Registry.CurrentUser.CreateSubKey("SOFTWARE\\MySoftware");
hkcu.SetValue("username", username, RegistryValueKind.String);
hkcu.SetValue("password", password, RegistryValueKind.String);
hkcu.Close();
}
Я попытался использовать .OpenSubkey (x, true) вместо CreateSubkey (x).Результаты одинаковы.
Любая помощь будет очень признательна.
С уважением
Крис