Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Aktualisierung einer Access-Anwendung (mdb-Datei)


8 replies to this topic

Majue

Majue
  • Full Members
  • 185 posts

Posted 13 September 2011 - 14:37

Hallo,

für folgendes Problem suche ich eine Lösung:

eine vorhandene Access-Anwendung, die mit einem IS-Setup installiert wurde, soll nun per Update-Patch aktualisiert werden. Das funktioniert nur, wenn das Setup ausgeführt wurde und anschließend direkt der Patch ausgeführt wird. Sobald die Access-Anwendung einmal gestartet wurde und sich das Dateidatum geändert hat, wird diese Datei nicht mehr aktualisiert. Ich habe in den Dateieigenschaften schon "immer überschreiben" aktiviert, aber das hilft nichts. Wie bekomme ich es hin, dass diese Datei bei jedem Update überschrieben wird?
Alternativ würde es auch helfen, wenn diese Datei beim Ausführen des Updates automatisch zuerst gelöscht würde. Die Frage ist dann, wie löse ich das am besten?

Ich hoffe, jemand kann mir weiterhelfen.

Gruß
Jürgen Markert

(Anwender von InstallShield 2016 - Professional Edition)


ali

ali
  • Full Members
  • 1,008 posts

Posted 13 September 2011 - 16:01

wie rufst du dein Patch auf, als exe oder als msp mit Parameter?
und es ist ein Quickpatch !?
schon mal ein Log erstellt?

Edited by ali, 13 September 2011 - 16:30.


Majue

Majue
  • Full Members
  • 185 posts

Posted 15 September 2011 - 13:35

Das Problem konnte ich lösen. Da sich das Dateidatum einer MDB-Datei bei jedem Zugriff ändert, ist diese Datei immer neuer, als die neu zu installierende Datei. Ich habe jetzt REINSTALLMODE = amus eingetragen und nun geht es.

Gruß
Jürgen Markert

(Anwender von InstallShield 2016 - Professional Edition)


ali

ali
  • Full Members
  • 1,008 posts

Posted 15 September 2011 - 13:43

hast du dein Patch mal geloggt. Nicht das durch den REINSTALLMODE und den Repair deines ursprünglichen Paketes nun auch andere Komponenten neuere Zielkomponenten ersetzen, z.B. Systemkomponenten aus evtl. div. MergeModulen?

Majue

Majue
  • Full Members
  • 185 posts

Posted 16 September 2011 - 10:34

Die Gefahr besteht nicht, da der neueste Patch jeweils alle Komponenten in der aktuellsten Version enthält.

Bleibt aber die Frage, wie sich das Problem sonst auch anders lösen ließe. Wenn z. B. ein Anwender ein neueres Setup startet, meldet der Installer richtiger Weise "das Setup wird wieder aufgenommen" und es werden alle Dateien aktualisiert, bis auf die MDB-Datei. Dabei habe ich explizit für diese Datei angegeben, dass sie "immer überschrieben" werden soll. Das scheint der Installer aber einfach zu ignorieren.

Wo liegt da der Fehler? Eine Idee war, die Datei per CA vorab zu löschen, denn wenn sie nicht auf dem Zielsystem vorhanden ist, funktioniert alles wie gewünscht. Das kann aber eigentlich nicht die Lösung sein.

Gruß
Jürgen Markert

(Anwender von InstallShield 2016 - Professional Edition)


ali

ali
  • Full Members
  • 1,008 posts

Posted 16 September 2011 - 11:37

nur noch mal zu Sicherheit, wir reden hier doch über ein Quick-Patch Projekt, oder?

QUOTE
Die Gefahr besteht nicht, da der neueste Patch jeweils alle Komponenten in der aktuellsten Version enthält.

Naja, wenn da nur die eigenen Komponenten im Setup sind und keine Fremden zb. von Microsoft.

sorry das ich dir nicht folgen kann.

QUOTE
Wenn z. B. ein Anwender ein neueres Setup startet, meldet der Installer richtiger Weise "das Setup wird wieder aufgenommen" und es werden alle Dateien aktualisiert

Welches neue Setup? Das Patch das du erzeugt hast? oder ein Minor oder Major Upgrade?, wieso wird das Setup wiederaufgenommen, das wird es ja nur, wenn zb. ein Reboot erfolgte.

QUOTE
Wo liegt da der Fehler? Eine Idee war, die Datei per CA vorab zu löschen, denn wenn sie nicht auf dem Zielsystem vorhanden ist, funktioniert alles wie gewünscht. Das kann aber eigentlich nicht die Lösung sein.


Naja, mit einem Quick Patch kannst du ja nur CA'a ausführen, die in deinem Hauptsetup schon drin sind. Es wäre mal interessant heraus zu finden was der Installer denkt wieso er die Datei nicht ersetzen will/kann. Eigentlich sollte die Aktion "Immer überschreiben" für das Quick Patch funktionieren, nur das log sagt wieso nicht. Evtl. liegt es an einer Einstellung im zu aktualisierenden Setup. z.b. hatte ich schon mal Probleme mit der Einstellung "Generate File Hash Values".

IS2009 ist ja schon sehr alt, hast du mal geschaut ob es evtl. fixes für die Version gibt die ein Quick Patch Problem lösen?

Edited by ali, 16 September 2011 - 11:52.


Majue

Majue
  • Full Members
  • 185 posts

Posted 21 November 2011 - 14:12

Nachdem ich nun diverse Tests durchgeführt habe, tritt das Problem vor allem noch bei 64-Bit Systemen auf, da hier - zu allem Überfluss - die MDB-Datei auch noch virtualisiert wird. Die Datei wird zwar im Programmverzeichnis ausgetauscht, da die virtualisierte Datei aber wohl neuer ist, wird sie nicht ausgetauscht.

Wie kann ich dem Setup / Patch mitteilen, dass

a) die Datei nicht virtualisiert wird oder
cool.gif auch die virtualisierte Datei ausgetauscht wird?

Gruß
Jürgen Markert

(Anwender von InstallShield 2016 - Professional Edition)


ali

ali
  • Full Members
  • 1,008 posts

Posted 21 November 2011 - 15:16

QUOTE
die Datei nicht virtualisiert wird

Meines Wissens gar nicht, da hier das BS (ab Vista) automatisch beim ersten schreibenden Zugriff auf die MDB ein Abbild im virtual Store erzeugt. Dies geschieht, weil es ab Vista keinen schreibenden Zugriff mehr auf Dateien im ProgramFolder gibt. Die Lösung wäre hier schon von vornherein auf Vista-Kompatibilität zu achten und keine zu ändernden Komponenten mehr im Programmverzeichnis abzulegen.

QUOTE
auch die virtualisierte Datei ausgetauscht wird?

Mit MSI wüsste ich hier keinen Weg! Evtl. ein Script oder DLL.

Edited by ali, 21 November 2011 - 15:17.


Majue

Majue
  • Full Members
  • 185 posts

Posted 21 November 2011 - 15:35

Danke! Ja, das habe ich befürchtet! Dann wird in diesen Fällen wohl der Admin manuell eingreifen müssen. Bei einer nachfolgenden Programmversion kann ich das dann ja ändern.

Gruß
Jürgen Markert

(Anwender von InstallShield 2016 - Professional Edition)