none
Странность в работе с реестром у Net 4.0 и Net 2.0 RRS feed

  • Вопрос

  • public static string MachineGUID()        
    {            
    Guid guidMachineGUID;            
    if (Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Cryptography") != null)
    {
         if (Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Cryptography").GetValue("MachineGuid") != null)                
    {                               
          guidMachineGUID = new Guid(Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Cryptography").GetValue("MachineGuid").ToString()); 
          return guidMachineGUID.ToString();                 
    }
    }
    return null;
    }
    Есть код в программе на Net Framework 2 он берет значение из реестра. Код рабочий и работает без проблем. Вставил этот же код в проект на Net Framework 4. И код уже не работает:

    GetValue("MachineGuid")

    Возвращает Null. Подскажите пожалуйста, что я сделал не так?
    17 октября 2014 г. 7:34

Ответы

  • Какова разрядность системы и разрядность приложения? В 64-ой Windows два таких ключа реестра, один для приложений x64, другой - для x86. В последнем действительно нет параметра "MachineGuid".

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    • Помечено в качестве ответа alexfess 17 октября 2014 г. 8:03
    17 октября 2014 г. 7:57

Все ответы

  • Какова разрядность системы и разрядность приложения? В 64-ой Windows два таких ключа реестра, один для приложений x64, другой - для x86. В последнем действительно нет параметра "MachineGuid".

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    • Помечено в качестве ответа alexfess 17 октября 2014 г. 8:03
    17 октября 2014 г. 7:57
  • ОС Windows 7 x64

    Приложение Net Framework 2 конечная платформа Any CPU

    Приложение Net Framework 4 конечная платформа x86


    Поставил тоже Any CPU все заработало. Огромное спасибо.
    • Изменено alexfess 17 октября 2014 г. 8:03
    17 октября 2014 г. 8:00
  • Ну вот и ответ :) Измените платформу на x64 (или Any CPU) и будет Вам счастье :)

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    17 октября 2014 г. 8:03