Registry-Abfrage für Installationspfad

  • Seawas. Hab da ein Problem mit C# und Zugriff auf Registry Einträge. Ich will vor dem Start meines Programms die Version und den Pfad einer installierten Excel Version abfragen und dann im Hauptprogramm ein entsprechendes using für eine COM - Referenz (Excel) verwenden.
    Da using aber Präprozessorbedingt ist, kann ich den entsprechenden Pfad ja nicht als Variable übergeben. Wer hat da eine Idee.::
    greets.flo

  • Dynamisch einbinden? Geht doch sicher über Reflection oder so.
    Müsste imho sowas wie das LoadLibrary der Win-API sein.
    hth

  • Zitat von linken_harmy

    Seawas. Hab da ein Problem mit C# und Zugriff auf Registry Einträge. Ich will vor dem Start meines Programms die Version und den Pfad einer installierten Excel Version abfragen und dann im Hauptprogramm ein entsprechendes using für eine COM - Referenz (Excel) verwenden.
    Da using aber Präprozessorbedingt ist, kann ich den entsprechenden Pfad ja nicht als Variable übergeben. Wer hat da eine Idee.::
    greets.flo

    http://my.execpc.com/~gopalan/dotnet/reflection.html

  • Ok, vielleicht sollte ich dazu sagen, dass ich selbst kein C# kann un das nur für einen Kollegen rausfinden will (ich hab ein ähnliches Problem in C++) Also es geht nur darum erst mal eine Funktion GetPath zu erhalten, die den RegistryKey nach Excel durchsucht und dann die Variable PATH durchsucht und als irgendeinen Datentyp (vermutlich string oder?) zurückliefert. was dann mit diesem string passiert könnten wir später noch genauer klären... oder geht das gar nicht so ...? Weil das mit den Reflections hab ich gar nicht verstanden... aber danke natürlich für die infos, ich gebs mal an den C# spezi weiter :)

  • Zitat von linken_harmy

    Ok, vielleicht sollte ich dazu sagen, dass ich selbst kein C# kann un das nur für einen Kollegen rausfinden will (ich hab ein ähnliches Problem in C++) Also es geht nur darum erst mal eine Funktion GetPath zu erhalten, die den RegistryKey nach Excel durchsucht und dann die Variable PATH durchsucht und als irgendeinen Datentyp (vermutlich string oder?) zurückliefert. was dann mit diesem string passiert könnten wir später noch genauer klären... oder geht das gar nicht so ...? Weil das mit den Reflections hab ich gar nicht verstanden... aber danke natürlich für die infos, ich gebs mal an den C# spezi weiter :)

    naja mit reflection kannst eine beliebige dll-datei laden und dann stehen dir die klassen und deren methoden zur verfügung. dh du musst nur die jeweilige dll-datei finden und beim LoadAssembly einfach den pfad angeben. welche dll das genau ist weiß ich nicht, wüsste auch aus dem stehgreif nicht wo genau man informationen über diese dll findet wüsst ich auch nicht, aber wenn du sagst in der registry steht der pfad drinne dann soll es so sein :)

  • also das thema ist so gut wie erledigt, es ging drum dass wir eine dll entsprechend der installierten excel version "installieren" mussten. Jetzt übernimmt ein automatisches Setup die Suche nach der aktuellen Version und kopiert dann automatisch die richtige DLL ins entsprechende Verzeichnis. Das mit den Reflections war der Schlüssel bzw. das konnte meinem Kollegen auf die Sprünge helfen und jetzt funktioniert das! Vielen Dank an alle!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!