У меня есть система, которая включает в себя установщика, службу Windows и конфигурацию GUI-программы. Установщик не является стандартным проектом развертывания установки для визуальной студии, а другой программой, которую я закодировал. Программа установки запускает конфигурационную программу после установки службы.Какой пользовательский реестр я получаю, к которому моя программа запускается из моего установщика?
Я внес изменения в конфигурационную программу, которая по умолчанию помещает текстовое поле в значение реестра в реестре HKEY_CURRENT_USER (которое от стороннего программного обеспечения, поэтому я не могу изменить местоположение этого значения). Все это отлично работает, когда я запускаю конфигурационную программу из моего меню, но когда программа установки запускает программу после ее завершения, это значение не загружается из реестра.
Вот код, который запускает программу после завершения установки:
Process process = new Process();
process.StartInfo.FileName = Program.Installer.ConfigPath;
process.StartInfo.Arguments = Location.X.ToString() + " " + Location.Y.ToString();
process.Start();
while (!process.Responding)
Thread.Sleep(50);
Close();
Application.Exit();
Вот код, который получает значение реестра:
_regKey = Registry.CurrentUser.OpenSubKey("Software\\" + _appName);
return _regKey.GetValue(key);
Я просматривалась как процессы в диспетчере задач, и я не вижу разницы между ними вообще. Оба управляются одним и тем же пользователем по тому же пути. Установщик требует повышения, но я отдельно повысил конфигурационную программу, и это все еще сработало.
Может ли кто-нибудь подумать о каких-либо других различиях в процессе, который был запущен Windows, и о процессе, который был вызван другим процессом?
Спасибо,
Опасайтесь виртуализации реестра в 64-разрядной версии Windows. –
Оба установщика и программа скомпилированы как 32-разрядные приложения. Меня смущает то, что программа также использует другой набор ключей в hive_LOCAL_MACHINE \ Software hive, который программа успешно читает и записывает из того, была ли она запущена из установщика или нет. – Connell