C# Anwendungspfad

Delacroix

Cadet 4th Year
Registriert
Mai 2012
Beiträge
71
Hallo CB-gemeinde, :)

Ich hätte da mal ne kleine Frage, da mich gerade das Problem echt auf die Palme bringt.

Hab eine Anwendung die zentral auf einem Server läuft (ne kleine exe zum testen vorerst) und diese Anwendung kann ich von allen Clients aufrufen (über den Netzwerkpfad z.B. \\meinServer\Ordner\meineAnwendung.exe) in dem ich eine Verknüpfung auf dem Desktop ablege.

So. Das ganze aufrufen etc. funktioniert ja auch so weit ganz gut... nur soll meine Exe z.B. herausfinden welche Windows Version und welche Service Pack Version installiert ist und das dann in eine Datei (im selben Ordner wie die Anwendung) speichern...

Jetzt hab ich aber das Problem, dass ich nur den Startup Pfad der Verknüpfung herausbekomme, aber nicht den Netzwerkpfad in dem die richtige Anwendung liegt!

Folgendes hab ich bereits ausprobiert... und trotzdem immer das selbe :(

PHP:
string _path = Application.StartupPath;

string _path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName)

FileInfo info = new FileInfo(Assembly.GetEntryAssembly().Location);
string _path = info.DirectoryName;
Ergänzung ()

Ok... ich glaub ich hab den Fehler gefunden...

Wenn ich die Verknüpfung manuell anlege, dann wird ja das Feld "Ausführen in:" freigelassen...
wenn ich dort aber ebenfalls den Netzwerkpfad eintrage, dann läufts :D :D :D

Dennoch würde mich interessieren... welche der drei Varianten wäre den die korrektere? Oder kennt ihr vielleicht noch andere? Bessere? :) ;)
 
Was spuckt

My.Application.Info.DirectoryPath

zur Laufzeit aus?
 
Zuletzt bearbeitet:
Delacroix schrieb:
Dennoch würde mich interessieren... welche der drei Varianten wäre den die korrektere? Oder kennt ihr vielleicht noch andere? Bessere? :) ;)

Keine dieser Methoden liefert dir einen UNC-Pfad, den musst du dir schon selber bauen.
Wie auch immer, wenn es dir darum geht Systeminfos auszulesen, ist WMI die deutlich bessere Wahl anstatt auf jedem Client ein Programm auszuführen.
 
Naja es ging einfach nur darum, dass ich ne kleine Anwendung hab die über den Netzwerkpfad ausgeführt wird (bzw. eine Verknüpfung die auf den Netzwerkpfad verweist).

Es funktioniert aber mittlerweile, wie gesagt es lag einzig an dem, dass bei der Verknüpfung der Ordner in dem das Programm ausgeführt werden soll nicht eingetragen war ;)
 
Zurück
Oben