Hallo zusammen,
habe mal wieder eine Frage. Habe ein Termin, Geburtstagserinnerungs Programm erstellt und installiere es mit Hilfe von Setup Projekt.
Beim installieren gebe ich eine leere Datenbank mit, also die Felder sind schon beinhaltet, jedoch keine Daten.
Gibt es eine Möglichkeit diese Datenbankdatei (.sdf) beim deinstallieren oder neuinstallieren temporär zu speichern und bei der Neuinstallation in den Ordner zu kopieren, damit die Daten bei einer Neuinstallation vorhanden sind?
Gruß
partywelt
Meines Wissens nach gibt es OOB nicht die Möglichkeit, da der Windows Installer alle Komponenten der Installation registriert.
Du kannst dir aber eine CustomAction programmieren die diese Aufgabe innerhalb deines Setups durchführt.
hmm ok ... an benutzerdefinierte aktionen hab ich auch schon gedacht, hab ich nur noch nie mit gerarbeitet. ist mein erstes setup projekt.
wie ich das verstehe kann ich ein neues projekt machen, welches dann die Datenbank sichert, oder? kann ich demnach ein GUI Projekt erstellen, welches die DB-Datei sichert und beim neuinstallieren eine Abfrage kommt ob ich diese DB über ein OpenFileDialog öffnen möchte oder eine neue DB erstellen (leere DB aus dem ursprünglichen Setup Projekt) möchte. Sehe ich das richtig?
gruß partywelt
So habe nun 2 neue Projekte erstellt. Das eine speichert die existierende Datenbank an einen gewählten Ort. Die Exe-Datei soll beim Deinstallieren aufgerufen werden.
Die andere Datei importiert eine existierende Datenbank von der Festplatte und soll beim installieren aufgerufen werden.
Nun habe ich die entsprechende Exe-Datei bei Benutzerdefinierten Aktionen unter Installation und Deinstallation eingefügt und diese werden über den Installer ins Anwendungsverzeichnis kopiert. Nur leider werden diese Exe-Dateien weder bei Installation noch bei der Deinstalltion ausgeführt.
In der Benutzeroberfläche des Setupprojektes habe ich diese nicht eingefügt. Wobei ich da nur die Installation steuern kann und nicht die Deinstalltion. Was mache ich falsch.
Gruß
partywelt
Meine Frage hat sich gerade erledigt. Das Problem lag daran, dass bei den Benutzerdefinierten Aktionen die Option InstallerClass auf True lag, jetzt habe ich sie auf False gesetzt und es funktioniert.