C# Setup Installer mit Update oder Deinstallationsfunktion


#1
Moin zusammen,
:coffee:

ich habe mal wieder ein kleines Problem.

Ich habe eine C# Anwendung in der ich ein "Setup Project" eingebunden habe, damit ich die Anwerbung ordentlich installieren kann.
Dieses Setup ist so konfiguriert, dass die Anwendung im Autostart Ordner hinterlegt wird, da sie beim Systemstart ausgeführt werden soll.
Das läuft auch soweit.

Nun möchte ich aber, wenn ich eine neue Version der Setup Exe erstell habe und die Installation ausführe, dass der Installer die alte Version deinstalliert.
Führe ich die Installation über Visual Studio aus dann geht das, aber die Installation über die Setupdatei, kann die alte Version nicht deinstallieren.

Leider habe ich bisher nichts im Netz gefunden, was dies erklären würde.

Als zweites ist mir aufgefallen, dass der Autostarteintrag den man im Taskmanager sehen kann, verknüpft ist zum Ordner Windows Installer und dass er einen Alphanummerischen Namen trägt (z.B. _98A98ASD98.exe)
Da die anderen Programme im Autostart als Ziel das Programmverzeichnis haben, denke ich, dass ich hier was ordentlich falsch mache. :D

Vielleicht hat jemand einen Tipp, das wäre fantastisch, denn das Problem mit dem deinstallieren habe ich bei anderen Programmen auch.


Danke schon mal und Gruß (y)
 

Spyke

Capoeirista
Premium-User
#2
Schau mal nach in den Einstellungen des Setup Projektes.
Da müsste es 2 Einträge für eine Versionsnummer geben,
wenn eine der beiden geändert wird ändert sich auch die zugehörige Projekt GUID des Setups.
Diese Guid sollte gleich bleiben.
Eventuell liegts da dran.
(Könnte auch sein das es nur ein Versionseintrag gibt und gefragt wird ob die Guid angepasst werden soll)
 
#3
hi,

danke schon mal für die Antwort.
Also ich habe einen
ProductCode mit mehreren Stellen in geschweiften Klammern
UpgradeCode mit mehreren Stellen in geschweiften Klammern
Version 1.0.4001

Eine GUI im SetupProject finde ich gar nicht und das Feld GUI in dem Project das mein Programm ist, ist leer (Projekt\Einstellungen\Anwendung\Assemblyinfomationen)

Ich habe das Projekt neu erstellt im Setup Projekt die Abhängigkeiten aktualisiert und es neu erstellt. Die Nummern bleiben immer gleich. Allerdings sind Product & Upgrade Code unterschiedlich.

Der durch das Setup erstellte Ordner unter System\Windows\Installer\
hat als Namen den ProductCode. Hier liegt die Datei die im Taskmanager unter Autostart angezeigt werden. (_123389412983471283.exe) Diese ändert sich scheinbar, da hier 3 verschiedene liegen.

Was mir aber noch aufgefallen ist, die durch das Setup erstellen Verknüpfungen haben im Ziel nur die EXE stehen und im Ausführen den Programme Pfad. Normalerweise solte im Feld Ziel doch der gesamte Pfad zur Exe stehen.
 

Spyke

Capoeirista
Premium-User
#4
Ich wollte gerade mal nachschauen, aber unser System wurde dies bezüglich automatisiert.
Zum Setup Projekt komm ich nicht mehr.

Ich weiß nur noch, die ProduktVersion müsste es gewessen sein.
Die muss immer gleich bleiben sonst geht keine Update oder Deinstallieren mehr.
(Da muss es sone Projekt Guid geben, die meine ich, das Feld müsste im PropertyGrid bei den Einstellungen des Setup Programms ReadOnly sein.)
 
#5
hi,

also ich habe noch einmal nach sich ändernden Nummern geschaut.
Beim Erstellen des Setup Projektes wird eine MSI erzeugt. Hier gibt es unter "Ursprung" die Felder "Revisionsnummer" & "Inhalt erstellt". Die Revisionsnummer ändert sich beim Erstellen jedes Mal aber viel gruseliger finde ich, dass im Feld Inhalt erstellt der
"21.06.1999 9:00" steht.
Wo kann ich das denn ändern?
Ansonst habe ich nun alles auf ReadOnly gestellt was ich gefunden habe, aber es klappt nicht.

Irgendwas mache ich noch falsch, ich muss mir wohl noch mal eine Anleitung suchen, wie man dieses Setup Projekt richtig erstellt, vielleicht vergesse ich ja was...

:mad:

Ich habe aber mal noch eine Frage, vielleicht hast du da ja auch noch eine Idee zu. Wie kann ich dem Setup sagen, dass die Anwendung nach der Installation gestartet werden soll?