Ändern von Text-Dateien über Regular Expressions

Fragen zum AKInstallerMSI
Antworten
Matthias Gutbier
Beiträge: 8
Registriert: 03.02.2007, 14:29

Ändern von Text-Dateien über Regular Expressions

Beitrag von Matthias Gutbier »

Ich habe eine XML Datei, deren Inhalt ich bei der Installation ändern möchte. Ich habe das über die Funktion "Text-Dateien" versucht. Die Ersetzung von Text funktioniert im Testmodus.

Unklar ist mir allerdings, wie Variablen verwendet werden können. Ich habe mal die Syntax "[VARNAME]" angenommen. Aber mit einem Ersetzungstext wie von

Code: Alles auswählen

<DIR></DIR>
nach

Code: Alles auswählen

<DIR>[INSTALLDIR]</DIR>
erhalte ich nur

Code: Alles auswählen

<DIR></DIR>
als Ergebnis. Was muss ich hier beachten. Werden Variablen bei der Textumsetzung überhaupt unterstützt? Die Hilfe sagt da nicht viel drüber.

Viele Grüße
Matthias Gutbier
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Abend!

Zur Zeit werden Eigenschaften z. B. [INSTALLDIR] nicht unterstützt.
Ich werde dies mal für den Ersetzen-Test einbauen. Für den Suchen-Test macht diese nicht so viel Sinn, da der Wert der Eigenschaft möglicherweise Zeichen des RegExp-Befehlssatz beinhalten könnte, was dann zu Fehlern führt.

Nebenbei, eine Änderung von XML-Dateien über XPath ist geplant.

Mit freundlichen Grüßen
A. K.
Matthias Gutbier
Beiträge: 8
Registriert: 03.02.2007, 14:29

Beitrag von Matthias Gutbier »

Vielen Dank,

XPATH klingt natürlich super. Aber die Textersetzung wäre schon sehr hilfreich mit der Unterstützung von Eigenschaften und das Wesentliche könnte ich auf diesem Wege erledigen.

Viele Grüße
Matthias Gutbier
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Über die aktuelle Vorabversion 1.6.70 sind jetzt Eigenschaften im Ersetzen-Test möglich.
Gruß
A.K.
Matthias Gutbier
Beiträge: 8
Registriert: 03.02.2007, 14:29

Beitrag von Matthias Gutbier »

Hallo,

leider gelingt es mir nicht, Dateien wärend der Installation zu ändern. Es klappt nur mit dem Testbutton (und hier auch nur, wenn die Datei nicht im UNIX Modus gespeichert wurde). Führe ich die Änderung bei der Installation durch, erhalte ich die Fehlermeldung "Warnung 25006 Die Änderung der Datei "c:\programme\xyz\xyz.xml" konnte nicht durchgeführt werden. Fehler: ."

Offensichtlich stimmt der Zeitpunkt der Änderung nicht, denn "c:\Programme\xyz" existiert bei Erscheinen der Fehlermeldung noch garnicht.

Viele Grüße
Matthias Gutbier
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Hallo!

Existiert die Datei vor der Installation schon auf dem Rechner?

Gruß
A.K.
Matthias Gutbier
Beiträge: 8
Registriert: 03.02.2007, 14:29

Beitrag von Matthias Gutbier »

Nein, sie existiert noch nicht. Sie ist Teil des Installationspaketes.

Viele Grüße
Matthias Gutbier
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!
Matthias Gutbier hat geschrieben:Nein, sie existiert noch nicht. Sie ist Teil des Installationspaketes.
Okay, da liegt der Knackpunkt. Zur Zeit geht dieses nur mit bereits existierenden Dateien.

In einem der nächsten Updates wird es möglich sein, den Zeitpunkt der Ausführung zu ändern bzw. er wird nach dem Aufspielen der Dateien liegen.

[Edit:] Kann nun mit V1.6.100 festgelegt werden.

Mit freundlichen Grüßen
A. Kapust
ChrisW
Beiträge: 6
Registriert: 01.03.2007, 13:54
Wohnort: München

Habe V1.6.370 aber irgenwei funktioniert die Textänderung ni

Beitrag von ChrisW »

Guten Morgen,

ich benutze V1.6.370 von AKInstallerMSI. Laut diesem Beitrag sollte Ersetzung bei Textdateien seit V1.6.100 funtkionieren. Ich habe es mit mehreren Dateien probiert. Auch bei mir wird eine Datei installiert, die ich dann ändern möchte. ich bekomme dieselbe Fehlermeldung wie oben beschrieben. Leider finde ich keine Möglichkeit, wo ich einstellen kann, wann das Textändern durchgeführt werden soll....

Gruß
Christoph
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!
Könnte ich mal die STPM-Datei haben, dann schau ich mir die Einstellungen an und teste das mal damit.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
ChrisW
Beiträge: 6
Registriert: 01.03.2007, 13:54
Wohnort: München

Beitrag von ChrisW »

Die Datei ist per Mail unterwegs....

Danke.
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Abend!

Kann es sein, dass die Datei datapath.dat bei der ersten Installation geändert werden soll? Sprich Installation und dabei anpassen?

Falls dem so sein soll, bitte mal aus dem Kontextmenü den Punkt Ausführung festlegen... -> Nach dem Kopieren der Dateien auswählen.

ansonsten bitte noch mal melden.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
ChrisW
Beiträge: 6
Registriert: 01.03.2007, 13:54
Wohnort: München

Beitrag von ChrisW »

Ja, das stimmt. Den menüpunkt habe ich seit Freitag gesucht :-) Ich hatte ihn eher im Menü "Eintrag bearbeiten" vermutet. Dort gibt es ja auch den Punkt ausführen. Dort ist aber nur "Installation" und "Deinstallation" zur Auswahl. Daß ich in der Auflistung den Menüpunkt finde, damit hatte ich nicht gerechnet :o

Danke nochmal für die Hilfe am Sonntag ;-)

Langsam komme ich dann doch damit zurecht...

Jetzt ist mir aber noch was untergekommen... Ich nutze ein OneFeatureSetup. Möchte aber trotzdem "Features" unterstützen. Ich wollte diese durch Checkboxes machen. Aber egal wie ich es versuche, bleibt das INSTALLLEVEL immer gleich (Habe mir das mal ausgeben lassen auf dem Formular). Wenn ich es aber mit OptionButtons mache, funktioniert es. Ist etwas besonderes zu beachten, wenn man eine Checkbox mit einer Eigenschaft verwenden will, bzw. eine Eigenschaft mit der checked/unchecked Eigenschaft verknüpfen will?

Viele Grüße
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!

Das ist eigentlich ein neues Thema. 8)

Sie könnten beim Next-Button ein ControlEvent benutzen. Z. B. SetInstallLevel und als Bedingung den Wer der Eigenschaft, die die Checkbox setzt.

Besser Sie setzen unter Feature -> Eintrag ändern... ->Bedingungen ein. Die dann als Bedingung den Wert der Checkbox nutzt.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
ChrisW
Beiträge: 6
Registriert: 01.03.2007, 13:54
Wohnort: München

Beitrag von ChrisW »

Ich weiß, daß es ein neues Thema ist :-) War aber grad hier drinnen...
Hatte ich zwar alles schonmal probiert, aber vielleicht war es zuviel auf einmal, oder ich habe vergessen den SetInstallLevel der beim Aufruf von OneFeatureDialog automatisch auf 1000 gesetzt wird rauszunehmen...

Ich versuche es einfach nochmal in aller Ruhe :-) Jetzt im Moment geht es ja mit RadioButtons :-))

Trotzdemvielen Dank nochmal.

Gruß
Antworten