Поиск ключей реестра, выдающих разные выводы в .net core и .net framwork - PullRequest
0 голосов
/ 31 октября 2019

При поиске определенного раздела реестра в разделе ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ на локальном компьютере \ Microsoft \ Windows \ CurrentVersion \ Uninstall с использованием C #, приложение> net Framework дает другой результат, чем в ядре .Net App

RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", false);

Console.WriteLine(key.GetSubKeyNames().Length);
foreach (String keyName in key.GetSubKeyNames())
{

    RegistryKey subkey = key.OpenSubKey(keyName);
    string displayName = subkey.GetValue("DisplayName") as string;
    if (displayName == null)
    {
        Console.WriteLine("NULL");
        continue;
    }
    Console.WriteLine(displayName);
    if (displayName.Contains("MyApp") == true)
    {
        Console.WriteLine("Found");
        return;
    }
}

. Сетевой каркас, выдающий 863 имени, и ядро ​​.net, дающий 247 различных наборов результатов.

1 Ответ

0 голосов
/ 31 октября 2019

Я подозреваю, что приложение .NET Framework - это 32-разрядная программа, а приложение .NET Core запускается в 64-разрядной среде выполнения.

Если вы хотите перечислить реестр WOW64 в приложении .NET Core, вы можете следоватьинструкции здесь: Как открыть ключ реестра WOW64 из 64-разрядного приложения .NET

...