Frage

Ich habe eine .ini-Datei mit der Konfiguration.Ich muss überprüfen, ob es in der neuen Installation vorhanden ist, um es erneut zu vermeiden.Außerdem, wenn die neuen .ini neue Felder haben, fügen Sie der vorhandenen Datei hinzu.

War es hilfreich?

Lösung

Installieren Sie keine INI-Datei als Datei, sondern konvertieren Sie die Einträge in inifile tischeinträge . Dadurch können alle Ini-Dateiänderungen als "Atomwechseleinheiten" behandelt werden, die ein ordnungsgemäßes Zusammenführen und Rollback über den eingebauten MSI-Mechanismus ermöglichen. Sie vermeiden alle individuellen Action-Komplexität.

Wie chris in seinem großen Upgrade-Kommentar hinweist: Tun Sie die Dinge auf dem richtigen Weg in Wix / MSI, und Sie vermeiden viele Probleme, die sich angeben, wenn Änderungen oder Updates kompliziert werden. IniFile-Updates umgesetzt, um den richtigen Weg umzusetzen, sind robust und einfach umzugehen.

In Wix verwenden Sie die IniFile-Element , um dies zu erreichen. Alle Merge-Funktionen, Rollback Support und Advanced Ini File-Handhabung ist kostenlos geliefert. Alles, was Sie tun müssen, ist zu definieren, was in der INI-Datei während Ihrer Installation in der INI-Datei hinzugefügt oder geändert werden muss. Es wird auch erstellt, wenn es nicht an erster Stelle da ist.

Verwenden des IniFile-Elements kann schwieriger aussehen, als es ist. Hier ist ein Beispiel . Sie können auch einen Blick auf die bekanntes WIX-Tutorial hier .

Alle MSI-Experten wiederholen diesen Rat: Verwenden Sie niemals ein benutzerdefiniertes Maßnahmen, um ein System zu ändern, wenn es äquivalente eingebaute MSI-Konstrukte gibt.

Andere Tipps

Set neveroverwrite="yes" auf der Komponente von .ini, und behandeln Sie das Update anschließend über eine benutzerdefinierte Aktion.

bearbeiten : Im Allgemeinen ist es viel besser, den inifile-Tisch zu verwenden, wie in meiner Antwort erläutert, da Sie Rollback und zusammenführen Fähigkeiten . Einige Leute bevorzugen jedoch die installierte INI-Datei, die als Datei installiert ist Erlaubt die einfache Änderung der Datei von außerhalb der MSI-Datei . Obwohl dies nicht bevorzugt ist, ermöglicht dies den Personen, die Ini-Datei direkt am Installationsmedienort "Hotfix" zu ermöglichen. Teams können dies verwenden, um den Installateur die neueste Ini von der Entwicklung abzuholen. Damit gibt es technische Probleme, die über eine benutzerdefinierte Aktion abgewickelt werden können (am besten erheblich ersetzte Probleme beim Installieren). Es ist auch möglich, dass eine INI-Datei nicht-standardmäßige Elemente und Formatierung enthält, die nicht in den IniFil-Tisch passt (selten, aber möglich - Menschen mit Sinne, dann verwenden Sie eine andere Dateierweiterung als ini) . Wie bereits erläutert, würde ich den aktualisierenden Ini-Dateien über Ihre eigene Maßnahmen erfordern, es sei denn, Sie tun etwas ganz besonderes - das ist tatsächlich erforderlich. Es ist kompliziert, umzusetzen und richtig zu bekommen.

Ich würde vorschlagen, 2 INI-Dateien zu haben.Einer, den der Installer besitzt und eine, die der Antrag / Benutzer besitzt.Das Installationsprogramm kann die IT-Ini-Datei immer überschreiben und machen Sie sich keine Sorgen, um auf Benutzerdaten zu stampfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top