none
Hilfe lokal installieren und Dateipfad/name RRS feed

  • Frage

  • Hallo, habe mich nun wirklich für C# entschieden und nun ergibt sich für mich nach der Installation die erste Frage: Wie kann ich Visual C# 2010 Express dazu bringen, dass es nicht immer erst den Browser startet, wenn ich die F1- (Hilfe-) Taste drücke? Im Moment mag es ja noch gehen, aber wenn ich im wärmen Teil des Jahres unterwegs bin und höchstens eine Internetanbindung über einen UMTS-Stick habe, dann setzt das dann wirklich viel Geduld voraus in etlichen Landesteilen. Dann auch gleichzeitig noch die Frage: Wie kann ich das lokale Verzeichnis in dem sich ein Programms befindet und den augenblicklichen Namen eines Programms feststellen? Über Application.ExecutablePath? Danke im Voraus für die Antwort(en) und noch eine schöne Zeit zwischen den Jahren.
    Sonntag, 26. Dezember 2010 13:21

Antworten

  • Hallo,

    der Name eines Programmes ist IMHO Schall und Rauch.
    Da sollte doch etwas ansprechenderes in der Titelzeile stehen
    (bei mir sind die EXE-Namen meist noch 8stellig und nicht gerade anwenderfreundlich ;-)

    Für eine neue Frage solltest Du einen neuen Thread erstellen,
    denn so finden andere mit ähnlichen Fragen diesen leichter wieder,
    als wenn das in einem "Sammelthread" untergeht.

    Gruß Elmar

    • Als Antwort markiert schymura Dienstag, 28. Dezember 2010 07:31
    Montag, 27. Dezember 2010 23:48

Alle Antworten

  • Hallo,

    zum Hilfesystem:
    Du kannst über das Menü Hilfe => "Hilfeeinstellungen verwalten" festlegen (dazu ggf. als Administrator ausführen),
    ob Du bevorzugt übers Internet oder über lokale Inhalte zugreifen willst.
    Zudem kannst Du dort häufig genutzten Inhalt auf der lokalen Festplatte speichern.

    Die Hilfe (Help Viewer) selbst integriert sich immer im Browser, wobei es mit Service Pack 1 einige Erweiterungen geben wird:
    http://thirdblogfromthesun.com/2010/10/the-story-of-help-in-visual-studio-2010-part-3/

     

    Zum Start-Verzeichnis:
    Das kannst Du für eine Windows Forms Anwendung über Application.StartupPath ermitteln.
    Application.ExecutablePath liefert den Namen des Programms (.Exe) mit dem die Anwendung gestartet wurde.

    Gruß Elmar

    Sonntag, 26. Dezember 2010 21:42
  • Hallo Elmar,
    danke für die schnelle Antwort.
    Zu deiner Antwort zu Hilfesystem kann ich sagen:
    Ja, hätte ich gern gemacht, aber der Hilfebibliothekmanager bot mir unter Einstellungen jeweils nur die Onlinehilfe an, lokale Hilfe war nicht aktivierbar. Außerdem gab es beim Start auch noch eine Meldung für ein nicht gefundenes HelpLibaryverzeichnis. Schon beim allerersten Start.
    Eingedenk meiner Erfahrungen mich Windows (mein Betriebssystem ist übrigens immer noch XP) deinstallierte ich C#, startete neu und installierte es neu. Das gleiche Problem.
    Erst also ich ein Image (Abbild) der Systempartition vor dem ersten Installieren von C# zurück gespielt hatte und dann C# neu installiert hatte konnte ich auch im  Hilfebibliothekmanager die lokale Hilfe aktivieren.
    Dank auch für die Antwort auf die Frage nach dem Dateinamen: Application.StartupPath gibt den Pfad, aber wie ist der augenblickliche Dateiname, denn eine Datei lässt sich ja nun mal umbenennen.
    Nun, ich kann ja dann jetzt auch selbst nachschauen, wenn das Hilfesystem dann vollständig updatet ist.
    Schöne Grüße.
    Montag, 27. Dezember 2010 08:10
  • Hallo,

    zum Installationsproblem:
    Eine sauberes Windows ist immer von Vorteil. Leider wird das im Laufe der Jahre nicht unbedingt besser.

    zum Pfad:
    Der Name der Exe-Datei steht in ExecuteablePath - gewechselt wird der während der Laufzeit eines Programmes nicht.
    Und da anhand des Namens einige weitere Pfade wie Verzeichnisnamen für die Anwendungseinstellungen ermittelt
    werden, sollte man ihn tunlichst nicht umbenennen, da damit die Einstellungen zurückgesetzt werden.

    Gruß Elmar

    Montag, 27. Dezember 2010 16:15
  • Hallo Elmar,
    danke.
    Zitat: Der Name der Exe-Datei steht in ExecuteablePath - gewechselt wird der während der Laufzeit eines Programmes nicht.
    Ja, ExecuteablePath habe ich nun auch schon auf verschiedenen Rechnern getestet. Stimmmt , zur Laufzeit wird der Name nicht geändert.
    Aber dem User steht es ja frei den Namen einer Datei, die er sich von Heise.de oder Chip.de oder auch Microsoft herunter geladen hat, beliebig zu ändern.
    Beispiel: Angenommen es lädt jemand mein Programm Biorhythmus von heise.de runter, dann kann er es ja ohne weiteres OTTO.EXE nennen.
    So lange es nicht richtig unter Windows installiert wird passiert nichts Dummes, das Programm kann sich (noch ein Delphi-Programm) dann halt selbst als OTTE.EXE melden in der Form usw.
    Das gleiche geht auch (schon getestet) mit C#. Man muss nur beim Erstellen CD auswählen, schon kann man das Programm ohne eigene Installation auf jedem (ab 98) Windows Rechner laufen lassen. Ich muss dann dem Nutzer nur erklären, dass er (sie) zwar das Programm Setup.Exe takten soll, es aber nur soweit laufen lassen muss, bis die Sicherheitsabfrage kommt, dann kann das Setup beendet werden, denn dann sind alle notwendigen Applikationen installiert worden.
    Das eigentliche Programm kann dann in ein beliebiges Verzeichnis kopiert und gestartet werden.......
    Dankbare Grüße.
    Montag, 27. Dezember 2010 17:53
  • Hallo,

    das man Programme unbenennen kann, ist nichts Neues.
    Allerdings verstehe ich nicht, was Dir dabei Sorgen bereitet.

    Willst Du prüfen ob der Name geändert wurde, so kannst Du die FileVersionInfo-Klasse bemühen.

    Für eine Anwendungs-Bezeichnung wäre besser geeignet, dass AssemblyTitle-Attribut
    über die Projekt-Eigenschaften festzulegen.Das findest Du u. a. ebenfalls in den Versionsinformationen.

      var versionInfo = FileVersionInfo.GetVersionInfo(Application.ExecutablePath);
      Console.WriteLine("FileName: {0}, OriginalName: {1}",
      	versionInfo.FileName,
      versionInfo.OriginalFilename);
    
      Console.WriteLine("Assembly Title: {0}", versionInfo.FileDescription);
    

    Gruß Elmar

    Montag, 27. Dezember 2010 18:21
  • Hallo Elmar,
    Sorgen bereitet mir (fast) nichts.
    Danke für den Hinweis auf FileVersionInfo.
    So genau brauche ich es gar nicht, ich finde es halt nur schöner, wenn sich ein Programm mit der Bezeichnung in der Titelzeile (System.Windows.Forms.Form.Text) zeigt, die das Programm auch als Name (umbenannt) hat.Ebenso finde ich es besser, wenn es sich in allen Ausgaben (etwa unter Menüpunkt einem Information) mit dem augenblicklichen Namen meldet.
    Schöne Grüße.
    PS. Soll ich lieber in einem vorhandenen Thread eine Frage stellen, die nicht ganz dazu passt, oder lieber eine Frage unter neuem Titel stellen?
    Montag, 27. Dezember 2010 21:34
  • Hallo,

    der Name eines Programmes ist IMHO Schall und Rauch.
    Da sollte doch etwas ansprechenderes in der Titelzeile stehen
    (bei mir sind die EXE-Namen meist noch 8stellig und nicht gerade anwenderfreundlich ;-)

    Für eine neue Frage solltest Du einen neuen Thread erstellen,
    denn so finden andere mit ähnlichen Fragen diesen leichter wieder,
    als wenn das in einem "Sammelthread" untergeht.

    Gruß Elmar

    • Als Antwort markiert schymura Dienstag, 28. Dezember 2010 07:31
    Montag, 27. Dezember 2010 23:48
  • Hallo Elmar,
    Danke.
    Schöne Grüße
    Dienstag, 28. Dezember 2010 07:31