Hallo zusammen!
Ich hab seit kurzem auch das Glück, mit IS 11.5 arbeiten zu dürfen / müssen.
Folgende Situation:
Setup muss u.A. nach dem Installationsprozess verschiedene INI-Dateien editieren. Die Sektionen in den INIs sind immer nach dem Muster [Sektionsname.xyz] aufgebaut, wobei xyz immer eine fortlaufende, dreistellige Nummer darstellt.
Das ist soweit auch kein Problem, habe mit InstallScript auch eine Funktion gecodet, die alle vorhandenen Sektionen ausliest und dann nach der letzten gefundenen Sektion eine neue einfügt, wobei die Nummer um eins erhöht wurde. Auch dieser Teil der Funktion geht ohne Probleme.
Problem:
Wenn die Installation abgebrochen wird bzw. die Deinstallation aufgerufen wird, werden die erstellten Schlüssel problemlos aus der INI-Datei gelöscht, aber die Sektion, z.B. [Sektion.123] bleibt in der INI-Datei zurück und wird nicht gelöscht.
Die Sektion muss allerdings auch gelöscht werden, sonst kann die Installierte Anwendung leicht Fehler produzieren.
Ich füge die Einträge wie folgt zur INI-Datei hinzu:
WriteProfString (INI_FILE,szNewSectionName,"","");
WriteProfString (INI_FILE,szNewSectionName,"Key1",sValue1);
WriteProfString (INI_FILE,szNewSectionName,"Key2",sValue2);
WriteProfString (INI_FILE,szNewSectionName,"Key3",sValue3);
WriteProfString (INI_FILE,szNewSectionName,"Key4",sValue4);
...wobei szNewSectionName ein String ist mit dem Format / Inhalt z.B. Section.123 ist. Schreiben in die Datei ist wie gesagt kein Problem, aber die Sektion wird nicht gelöscht.
Vielleicht kann mir ja jemand weiterhelfen!!
Danke!
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.
Setup läßt Reste in INI-Dateien zurück
Started by
pharao2k
, Mar 29 2006 14:34
3 replies to this topic
Posted 30 March 2006 - 09:29
Was passiert wenn du diese Zeile weglässt:
WriteProfString (INI_FILE,szNewSectionName,"","");
die ist ja eigentlich sowieso überflüssig, denn du stellst ja über die Nummern sicher, dass es die Sektion nicht gibt.
WriteProfString (INI_FILE,szNewSectionName,"","");
die ist ja eigentlich sowieso überflüssig, denn du stellst ja über die Nummern sicher, dass es die Sektion nicht gibt.
Stefan Krüger
InstallSite.org twitter facebook
Posted 30 March 2006 - 17:09
QUOTE |
WriteProfString (INI_FILE,szNewSectionName,"",""); |
Stimmt, die Zeile ist wirklich überflüssig. Hab die Zeile entfernt aber der Rest bleibt immer noch zurück. Dabei ist mir aufgefallen, dass zwischen dem letzten Eintrag der vorherigen Sektion und der neu erstellten Sektion keine Leerzeile ist.
Bsp:
.
..
Eintrag=Wert
[NEUESEKTION.123]
NeuerEintrag=NeuerWert
..
.
Sollte doch kein Problem sein, oder?
Posted 01 April 2006 - 13:57
Nö sollte kein Problem sein.
Notfalls könntest du
WriteProfString (INI_FILE,szNewSectionName,"","");
in das Uninstall Event Script schreiben.
Notfalls könntest du
WriteProfString (INI_FILE,szNewSectionName,"","");
in das Uninstall Event Script schreiben.
Stefan Krüger
InstallSite.org twitter facebook