Im zweiten Blog über die Wise Nachrichtenfenster, möchte ich auf das ‘This Windows Installer file contains upgrade information. Do you want to search your datasource for the packages to use when creating components?’ eingehen.
Die Ursache:
Dieses Fenster erscheint, wenn die Installation Einträge in der Upgrade Tabelle hat.
Warum:
Bei den Anfangszeiten der Windows Intaller Technologie stand die Performance einer Installation sowie deren weiteren Aktionen wie Repapartur, Deinstallation und Update im Vordergrund. Beim Update war das ursprüngliche Ziel, zuerst die neue Version einer Applikation zu installieren und erst danach die alte Version zu deinstallieren. Dies hat zwei Vorteile. Erstens würde bei einem Installationsproblem der neuen Version der Rollback die alte Version wieder herstellen, somit kann der Anwender noch mit der alten Version arbeiten. Zweitens würde bei der Deinstallation der alten Version Zeit gesparrt werden, da nicht alle Dateien deinstalliert werden müssen. Leider hat sich dieses Wunschdenken bis heute nicht durchgesetzt. Alte Installationen werden zuerst Deinstalliert und danach wird die neue Version einer Applikation installiert. Die vielen kleinen technischen Details verhindern oder verunmöglichen es den Applikationsentwickler nach Windows Installer Vorgabe den Update zu erstellen.
Der Wise Windows Installer Editor geht von der ursprünglichen Art des Updates von Microsoft aus (neue Version installieren, alte Version deinstallieren), daher finden wir in den Grundeinstellungen die RemoveExistingProducts Aktion am Ende der InstallExecuteSequence Tabelle.
Die Nachrichten Box selber bedeutet, wenn bei einem Update eine Komponente erstellt wird, so wird der Windows Installer Editor versuchen in alten Installationen diese Komponente zu suchen und bei einem Treffer dessen KomponentenID zu übernehmen.
Best Practices:
Die Antwort zu dieser Frage können Sie mit der RemoveExistingProducts Aktion beantworten. Ist diese in der Installation am Ende der InstallExecuteSequence Tabelle dann können Sie die Frage mit ‘Ja‘ beantworten. Wenn Sie die RemoveExistingProducts Aktion zum Anfang der Installation verschoben haben, oder im Generellen alle alten Intallationen vor einem Update deinstallieren (dies ist die Best Practices), dann können Sie die Frage mit ‘Nein‘ beantworten.
Sollten Sie ausversehen auf ‘Ja‘ gedrückt haben, so passiert nicht besonders viel. Sie verlieren etwas Rechnerzeit, was sich jedoch bei heutigen Systemen nicht wirklich bemerkbar macht.
Hide Message:
Erstellen Sie folgenden Registry-Key bei der Installation von Wise Package Studio oder Wise Installation Studio, damit diese Meldung nicht erscheint:
HKCUSoftwareWise SolutionsWindows Installer EditorHideMessages
Name: 405
Type: REG_DWORD
Value: 7
Type: REG_DWORD
Value: 7
Stefan Hotan
Member of the Ontrex SPA Team
Member of the Ontrex SPA Team