Datei/en werden nicht ersetzt.

Fragen zum AKInstallerMSI
Antworten
Ralf Deing
Beiträge: 19
Registriert: 17.09.2008, 16:58

Datei/en werden nicht ersetzt.

Beitrag von Ralf Deing »

Hallo Herr Kapust,

ich bin glaube ich zu blöde.

Ich dachte das es nun funktioniert, aber die Datei wird nicht ausgetauscht.
Irgendwie ist auch mein Beitrag eben nicht eingetragen worden, deshalb hier noch einmal:

Bei meiner ersten Installation (setup.exe) werden folgende Dateien installiert:
Bild
Eigentlich geht es nur um die Access Datenbank Datei Winschirr2009.accdr.

Diese soll im Update einfach nur gegen die neue Ausgetauscht werden.
Datei im Update Setup:
Bild

Ich starte den UDT aus der Winschirr2009.accdr Datei. Diese wird nach dem Starten des UDT geschlossen. Nun findet der UDT die Update-Datei.
Es wird installiert und es wird ohne Fehlermeldung beendet. In der Registry wird auch die neue Version Nr. angezeigt. Nur die Winschirr2009.accdr wurde nicht ersetzt.
Ich habe auch schon diese Daten geändert:
Bild
Bild

Auch wenn ich den Produktcode ändere passiert ausser der Fehlermeldung 2711 nichts.
Ich kann Ihnen gerne mal die beiden Projektdateien mailen.
Oder brauchen Sie noch weitere Infos.
Meine Ziel: einfach nur die Winschirr2009.accdr gegen die neue ersetzen. Mehr nicht.

MFG Ralf Deing
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!

Die Datei ist unversioniert und wird wahrscheinlich während der Ausführung Ihrer Applikation geändert, richtig?

Das ist kein großes Problem!

Alle Infos dazu finden Sie in der Anleitung unter Tipps & Tricks -> Unversionierte Dateien.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Ralf Deing
Beiträge: 19
Registriert: 17.09.2008, 16:58

Beitrag von Ralf Deing »

Hallo,

das habe ich gelesen. Aber unten im Installer steht, dass nur
Exe, Dll, ocx usw. ausgelesen werden. Da hatte ich dann den Rest nicht weitergelesen, da ja meine eine accdr ist.

Ich gebe also künstlich [ProduktVersion] ein und die Sprache auf "0"??

Habe es eben versucht. Grundversion 10.0.0.0 erstellt mit "[ProduktVersion] in der Datei. und 10.1.0.0 in dem Update.

Nur "vergißt" der Installer diese Einstellung!

BildEingegeben, gespeichert und wieder geöffnet-weg!?
Bild
Oder geht das erst in der Standard?

So, wurde die Datei immer noch nicht ausgetauscht.

Oder wo muß ich die Nummer einstellen?

MFG Ralf Deing
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!

Die Einstellung Beim Erstellen auslesen muss dann natürlich deaktivert werden.
A hat die Datei keine Versionsnummer und B wollen Sie diese damit ja explizied setzen.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Ralf Deing
Beiträge: 19
Registriert: 17.09.2008, 16:58

Beitrag von Ralf Deing »

Ich hab schon Tomaten auf den Augen. Sitze ja schon seit gestern an diesem Problem was nicht endet.

Ich habe nun den Punkt [ProduktVersion] ausgewählt, gespeichert und Setup.exe erstellt und installiert.

Nun das Update, wieder [ProduktVersion] ausgewählt, gespeichert und update.exe erstellt und installiert.

Immer noch die gleiche Datei. Ist nicht ersetzt worden.
Muß jetzt die ProduktVersion immer gleich sein? Die wird ja ausgelesen von "Projekt" oder. Und die ist ja von 10.0.0.0 auf 10.1.0.0 erhöht. Geht es deshalb nicht? Oder muß ich hier das FileDate nehmen? Das ist aber auch unterschiedlich.

MFG

Ralf Deing
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Abend!

Nach dem ich mir die neue und die aktuelle MSI-Datei angesehen habe, ist der Umstand schnell klar.

Beide MSIs müssten die gleiche Anzahl an Dateien enthalten, dieses ist nicht der Fall.
In der alten Version sind 57 Dateien in der neuen Version 3 Dateien.

In der alten Version hat die ACCDR-Datei die Bezeichnung: FL_58_WinSchirr2009_accdr
der neuen Version : C_FL_68_WinSchirr2009_accdr

Demzufolge haben die "Komponenten" auch unterschiedliche GUIDs,
was wiederum heißt, dass dieses unterschiedliche Komponenten (Dateien) für den
Windows Installer sind.

Folgendes ist bei Updates zu beachten:

-Es bleibt immer die gleiche STPM-Datei, bei einem Update wird kein neues Projekt angefangen!

-Es werden die Dateien nicht aus dem Projekt entfernt um sie anschließend neu einzubinden! Dies erzeugt neue GUID und bedeutet unterschiedlich Komponenten!

-Werden Dateien aus dem Setup-Projekt genommen (weil Sie überflüssig sind) ändert sich der Produktcode.

-Wandern Dateien in andere Verzeichnisse (damit ist auf dem Zielrechner gemeint) können diese aus dem Projekt entfernt und im neuen Verzeichnis wieder eingefügt werden (Es muss sich um neue Komponenten handeln).

-Ändert sich auf dem lokalen Rechner (Ihrem Entwicklungsrechner) der Pfad einer Datei, wird die Datei nicht aus dem Projekt entfernt, sondern nur in den Einstellungen der Pfad angepasst. Die Komponente (und damit die GUID) darf sich nicht ändern!

Im Prinzip handelt es sich bei Ihren MSI-Dateien um zwei unterschiedliche Produkte, die den gleichen Upgradecode und Namen nutzen.

Was ist zu tun:

-Entfernen Sie die Installation von Ihrem (Test)Rechner.

-Nutzen Sie die STPM-Datei, welche Sie bei der vorherigen Version genutzt haben.

-Ändern Sie die Versionsnummer der ACCDR-Datei wie weiter oben angesprochen.

-Ändern Sie die Projekt-Versionsnummer

-Installieren Sie die alte Version auf Ihrem (Test)Rechner

-Erstellen ein neues Setup und installieren dieses.

Die Datei sollte jetzt aktualisiert werden. Idealerweise nutzen Sie als Testumgebung VMWare oder vergleichbares.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Ralf Deing
Beiträge: 19
Registriert: 17.09.2008, 16:58

Beitrag von Ralf Deing »

Hallo Herr Kapust,

ahh, nun wird einiges klar. Das würde dann wohl auch bedeuten, dass
die Deinstallation auch alle Dateien entfernt. Nun war es jedesmal zwar deinstalliert, aber die Dateien blieben auf dem Rechner.

Eine kleine Frage noch, dann habe ich erstmal genug Input um das alles umzusetzen und zu testen:
1.In der MSI ist eine Datei die Schirrdaten.mdb.
Diese wird ja als erstes mit installiert. Nun wird mit dem Programm gearbeitet und es werden dort Daten eingefügt (Backend). Diese Datei muß so bleiben wie Sie ist. Wenn alle Dateien im Update enthalten bleiben wird diese auch gelöscht und neu erstellt?? Was muß ich bei dieser beachten, damit die nur bei der Erstinstallation erstellt wird.
2. Wenn diese schon aus einer Vorgängerversion existiert und manuell in das neue Verzeichnis kopiert wird, weil schon Daten vorhanden sind, wie bleibt die erhalten und wird nicht
mit der "leeren" geupdatet??

MFG

Ralf Deing
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Abend!

Für unversionierte Dateien wird ein Hash erstellt. Wird keine Versionsnummer erzwungen (durch die Angabe einer solchen), wird die Datei nicht verändert.

Wird die Datei also auf dem Zielsystem (wodurch auch immer) verändert, heißt dieses, der Hash stimmt nicht mehr und damit gilt diese Datei als vom Benutzer angepasst und hat damit vorrang vor der im Setup.

(Dies gilt nur für unversionierte Dateien!)

Sie müssen dafür also nichts weiter beachten.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Ralf Deing
Beiträge: 19
Registriert: 17.09.2008, 16:58

Beitrag von Ralf Deing »

Perfekt!

Das hört sich sehr gut an. Was mir aufgefallen ist:

Ich hatte ja von Anfang an die Dateien so erstellt. Wenn ich nun die Dateien so "verpacke" würde es auch mit den MSI-Paketen funktionieren.
Ich muß doch immer im UDT die Syncron und Parameter /MSILIMITUI 35 verwenden. Bleibt das so?

Nun noch eine abschliesende Frage, dann haben Sie endlich Ruhe vor mir:
Was ist mit den, im Bootstrapper eingebundenen Dateien (Runtime usw.)
Muß ich die nun auch in dem UpdateMSI mit einpacken oder können die wegbleiben? Ich lade ja die exe hoch und nicht die msi. Und die ist ja verdammt groß! Oder nehme ich fürs Update die MSI mit anderen Parametern?

Aber erstmal vielen Dank. Man merkt sicher das das mein erstes InstallerPaket ist, das ich baue.
Super Support! Und schnelle hilfreiche Hilfe, jederzeit.

MFG
Ralf Deing
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!

Es gelten die hier http://www.akapplications.com/forum/viewtopic.php?t=492 aufgeführten Antworten.

Sie können das MSI, die Exe oder einen Patch verwenden.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Antworten