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

Schreiben eine Zeile ins .INI-File


2 replies to this topic

bernard

bernard
  • Full Members
  • 127 posts

Posted 06 July 2011 - 11:16

Habe InstallShield 2011 - Professional Edition (Version 17)
Habe InstallScript Project (ohne MSI)

Ich schreibe einige Zeilen ins ini-File.

zzz.rul
Enable(LOGGING);
...
ListAddString(listTempMy, szInsertMyLine, AFTER); // insert string into new list

nMyReturn = ListWriteToFile(listTempMy, svListMyFileName); // write list to file
ListDestroy(listTempMy);

z.B.
svListMyFileName = %USERPROFILE%\my_Directory\yyy.ini
szInsertMyLine = LibPreLoad="<Ziel-Path>\xxx.dll"

Es wird alles richtig eingetragen!

Problem
Nach der Deinstallation bleibt diese Zeile im yyy.ini File.
PS
Wenn man mit der Funktion WriteProfString() schreibt werden alle Zeilen nach der Deinstallation gelöscht.

Was ist Unterschied zwischen beiden Funktionen?

Danke im Voraus


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 July 2011 - 15:21

ListWriteToFile shreibt ja die ganze Datei neu. Die entsprechende Uninstall-Aktion wäre, die Datei zu löschen (bzw. alle Einträge zu entfernen). Das ist ja nicht, was du willst. D.h. du solltest selbst ein Backup der Datei vor der Änderung speichern und beim Uninstall wiederherstellen.

bernard

bernard
  • Full Members
  • 127 posts

Posted 07 July 2011 - 07:45

Danke Stefan für die Erklärung.

Habe setup.ilg mit Tools -> InstallScript -> Cabinet/Log File Viewer analyziert.
In Data -> "INI File operations" finde keine Information über "meine" einige Zeilen.