Deinstallations-Optionen mit Setup-Project?

Hallo,

bei dem „Setup-Project“ im VS dotnet vermisse ich eine Möglichkeit, einen eventuellen Deinstallationsvorgang meines Programms auf dem lokalen System zu editieren.

Beispiele:

  1. Ich habe bei mir selbst mein Programm mit der Installation installiert. Natürlich ist im Start-Programme-MeinProgramm keine Verknüpfung zur Deinstallationsroutine zu finden. Habe ja auch keinen Link definiert… Wie mache ich das?

  2. Ich habe dann mein Programm unter Systemsteuerung-Software deinstalliert.
    (Bemerkung: Zuvor hatte ich , um sicher zu gehen, die Comic Sans MS Schriftart mit in den Windows-Fonts Ordner installiert.)
    Nach der Deinstallation startete mein frisch im VS (vor-)kompilierter Code nicht mehr, da offenbar die o.g. Schriftart komplett von meinem System entfernt war oder beschädigt war. Das Setup hat also eine Datei deinstalliert, die vor der Installation schon auf dem System war! (Habe dann selbst nochmal manuell meine Font-Datei im Windows-Fonts aktualisiert)

Hat da jemand Hinweise für mich?
Danke und Gruß
Alex

Ich hatte geschrieben:

  1. Ich habe dann mein Programm unter Systemsteuerung-Software
    deinstalliert.
    (Bemerkung: Zuvor hatte ich , um sicher zu gehen, die Comic
    Sans MS Schriftart mit in den Windows-Fonts Ordner
    installiert.)
    Nach der Deinstallation startete mein frisch im VS
    (vor-)kompilierter Code nicht mehr, da offenbar die o.g.
    Schriftart komplett von meinem System entfernt war oder
    beschädigt war. Das Setup hat also eine Datei deinstalliert,
    die vor der Installation schon auf dem System war! (Habe dann
    selbst nochmal manuell meine Font-Datei im Windows-Fonts
    aktualisiert)

Das Problem ist offenbar nur einmal aufgetreten… Also erledigt. Die Frage 1 steht noch offen; wie erstelle ich einen Link für´s Deinstallieren?

Hallo,

wenn ich Dich recht verstehe, möchtest Du einen Link auf eine Deinstallationsroutine, der durch Deine Installationsroutine gebaut wird. Tut mit leid, keine Ahnung, wie das geht.
Allerdings kannst Du für die Deinstallation Deiner .net-Software wiederum das setup.exe aufrufen, mit dem Du’s installiert hast. Der bietet dann zwei Optionen an:
Programm reparieren und Programm entfernen.

Gruß
Thomas

Die Frage 1 steht noch offen; wie erstelle ich einen
Link für´s Deinstallieren?

Hallo Thomas,

vielen Dank, genau das, was ich gesucht habe! Eine Frage noch:

  1. muss die Setup.exe mit installiert werden? muss ich also die Setup.exe in einem 2. Setup-Project-Packvorgang mit einbinden?

  2. Oder wurde sie bei der Installation von Windows vielleicht automatisch mit kopiert und befindet sich nun irgendwo in den Windows-Verzeichnissen?

Viele Grüße
Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Alex,

also Schritt für Schritt:

  1. Du schreibst eine Windows-Forms oder Konsolen-Anwendung.
  2. In der gleichen Projekt mappe erstellst Du ein neues Setup-Projekt.
  3. Das Setup-Projekt erkennt beim Erstellen automatisch die Abhängigkeiten zu Deinem Anwendungsprojekt. Die siehst Du in dem Ordner „Gefundene Abhängigkeiten“ in dem Setup-Projekt.
  4. Du erstellst die Projektmappe. D.h. Du kompilierst den ganzen Kram.
  5. Im Windows-Explorer findest Du in dem Verzeichnis „deinevisualstudio-projekte\deinsetupprojekt…“ und dann in „DEBUG“ oder „RELEASE“ alle Dateien, die Du auf den Rechner, auf dem Du Deine Anwendung installieren willst, transportieren musst. Mit „transportieren“ ist ein einfaches Kopieren gemeint. Das müssten typischerweise folgende Dateien sein: „deineanwendung.MSI“, „SETUP.EXE“ und „SETUP.INI“. Alle von mir klein geschriebenen Verzeichnis- und Dateinamen musst Du für Deine Umgebung anpassen.
  6. Auf dem Zielrechner rufst Du „SETUP.EXE“ auf. Und das sowohl für die Installation als auch für die Deinstallation.

Noch Fragen?

Gruß
Thomas

Hallo Thomas,

vielen Dank, genau das, was ich gesucht habe! Eine Frage noch:

  1. muss die Setup.exe mit installiert werden? muss ich also
    die Setup.exe in einem 2. Setup-Project-Packvorgang mit
    einbinden?

  2. Oder wurde sie bei der Installation von Windows vielleicht
    automatisch mit kopiert und befindet sich nun irgendwo in den
    Windows-Verzeichnissen?

Viele Grüße
Alex

Hallo Thomas,

danke für den Tipp, dass die beiden Projekte in die gleiche Projektmappe kommen, das ist sehr viel sauberer, als ich es vorher gemacht hatte.

Aber zufrieden bin ich damit immer noch nicht. Nehmen wir mal an, die Installation erfolgt von einer CD aus. Dann müsste ja die CD im Laufwerk liegen, damit die Setup-Datei aufgerufen werden kann. Klar, wie gesagt, man hat immer die Möglichkeit, unter Systemsteuerung-Software zu deinstallieren. Aber ich hätte doch gerne einen entsprechenden Link im Programme-Ordner, und zwar ohne dass die Setup-CD im Laufwerk liegen muss. Gibt es da nicht eine Möglichkeit?

Danke und Gruß
Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Alex,

das war ja eine der großen Neuerungen der .net-Technologie, dass man ein sogenannte XCOPY-Installation machen kann. Sobald das .net-Framework auf dem Zielrechner installiert ist (das muss wirklich noch installiert werden, da da einige Sachen in der Registry eingetragen werden), kann man die Anwendungen selbst einfach irgendwo hinkopieren. In der Praxis ist das aber leider nicht wirklich durchgängig so: z.B. benutzt meine Anwendung Crystal-Reports-Klassen. Da muss leider wiederum irgendwas richtig installiert werden. Aber solange Du nur eine „einfache“ Anwendung hast, reicht ein normales Kopieren der .exe- mit den entsprechenden .dll-Assemblies. Das kannst Du auch mit einer Batch-Datei erledigen. Und als Deinstallation reicht dann ein Löschen der entsprechenden Dateien, was wiederum eine Batch-Datei erledigen könnte.

Viel mehr weiß ich allerdings auch nicht mehr zu dem Thema.

Schöne Grüße
Thomas

Hallo Thomas,

danke für den Tipp, dass die beiden Projekte in die gleiche
Projektmappe kommen, das ist sehr viel sauberer, als ich es
vorher gemacht hatte.

Aber zufrieden bin ich damit immer noch nicht. Nehmen wir mal
an, die Installation erfolgt von einer CD aus. Dann müsste ja
die CD im Laufwerk liegen, damit die Setup-Datei aufgerufen
werden kann. Klar, wie gesagt, man hat immer die Möglichkeit,
unter Systemsteuerung-Software zu deinstallieren. Aber ich
hätte doch gerne einen entsprechenden Link im
Programme-Ordner, und zwar ohne dass die Setup-CD im Laufwerk
liegen muss. Gibt es da nicht eine Möglichkeit?

Danke und Gruß
Alex