Laden...

[erledigt] Code klapt bei exe, bei dienst nicht (Registryzugriff)

Erstellt von =>- techno_prog -<= vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.276 Views
=
=>- techno_prog -<= Themenstarter:in
67 Beiträge seit 2006
vor 17 Jahren
[erledigt] Code klapt bei exe, bei dienst nicht (Registryzugriff)

Hi ich hab ein problem und komm einfach nimmer weiter,
ich hab einen Dienst und eine Konsolenanwendung,
beide besitzten den identischen code,
Wenn ich meine Consolenanwendung starte greife ich mittels 'RegistryKey.OpenRemoteBaseKey' auf eine entfernten rechner in der gleichen domäne zu, da klappt alles, aber sobald ich den gelichen code in meinem Dienst ausführe bekomme ich eine fehlermeldung das der zugriff unzuläsig ist,
habe dan bei den dienst eigenschaften des konto vom Domänen Admin eingegeben, dan gehts auch noch nicht, 🤔

der dienst läuft auf einen win 2003 server mit .NET2.0, SP1

habe auch schon hier gesucht und bin auf nen artikel gestohsen in dem steht das ich unter verwaltung auf .NET2.0 Konfigurieren klicken soll und da soll man das einstellen können, aber ich hab bei mir nur nen eintrag für .NET1.1 Konfigurieren,
hab des .NET2.0 schon neu installiert und unter Software wird es auch aufgeführt, aber ich bekomme den eintrag einfach nicht,

Hab im gleichen dienst auch WMI code der auf einen anderen rechner zugreift das klappt ohne probleme!

Hier mal der Code für den Registyzugriff


            ArrayList installedPrograms = new ArrayList();
            string keyPath = @"Software\Microsoft\Windows\CurrentVersion\Uninstall";
            RegistryKey regKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, Name).OpenSubKey(keyPath); //Registry.LocalMachine.OpenSubKey(keyPath);


            if (regKey != null)
            {
                // Alle Unterschlüssel durchgehen
                string[] subKeyNames = regKey.GetSubKeyNames();

                for (int i = 0; i < subKeyNames.Length; i++)
                {
                    RegistryKey subKey = regKey.OpenSubKey(subKeyNames[i]);

                    object[] inhalt = new object[3];

                    inhalt[0] = "DN: " + subKey.GetValue("DisplayName");
                    if (((string)inhalt[0]).Length <= 4)
                        inhalt[0] = "QD: " + subKey.GetValue("QuietDisplayName");
                    if (((string)inhalt[0]).Length <= 4)
                    {
                        inhalt[0] = "SN: " + subKey.Name.Substring(subKey.Name.LastIndexOf('\\') + 1);
                    }
                    if (((string)inhalt[0]).Length <= 4)
                        inhalt[0] = "-----";

                    inhalt[1] = "V:  " + subKey.GetValue("Version");
                    if (((string)inhalt[1]).Length <= 4)
                        inhalt[1] = "AV: " + subKey.GetValue("ApplicationVersion");
                    if (((string)inhalt[1]).Length <= 4)
                        inhalt[1] = "DV: " + subKey.GetValue("DisplayVersion");
                    if (((string)inhalt[1]).Length <= 4)
                        inhalt[1] = "-----";

                    inhalt[2] = "IL: " + subKey.GetValue("InstallLocation");
                    if (((string)inhalt[2]).Length <= 4)
                        inhalt[2] = "IS: " + subKey.GetValue("Inno Setup: App Path");
                    if (((string)inhalt[2]).Length <= 4)
                        inhalt[2] = "IC: " + subKey.GetValue("DisplayIcon");
                    if (((string)inhalt[2]).Length <= 4)
                        inhalt[2] = "US: " + subKey.GetValue("UninstallString");
                    if (((string)inhalt[2]).Length <= 4)
                        inhalt[2] = "-----";

                     installedPrograms.Add(inhalt);
                }
            }
            else
            {
                // Schlüssel nicht gefunden: Ausnahme generieren
                throw new Exception("Registry-Schlüssel " +
                RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, Name).Name + "\\" + keyPath + " nicht gefunden");
            }

Der beitrag den ich mein ist folgender http://www.mycsharp.de/wbb2/thread.php?threadid=14802

So fals ihr Rechtschreibfehler endeckt dürft ihr Sie gerne behalten 😁
Bin nämlich legastheniker und hab von denen genügend X(