Problem mit UpdateXML

Post Reply
measson
Posts: 175
Joined: 05. Oct 2012, 12:32
Contact:

Problem mit UpdateXML

Post by measson » 14. Jan 2013, 13:49

Ich habe momentan bei einem Paket folgendes Problem:

ich möchte die Datei C:\temp\abc.xml, die so aussieht

Code: Select all

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Settings>
    <Setting name="Disable update check">0</Setting>
</Settings>
folgendermaßen ändern:

Code: Select all

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Settings>
    <Setting name="Disable update check">1</Setting>
</Settings>
Dafür verwende ich folgende Befehlszeile in der Setup.inf

Code: Select all

UpdateXml (C:\temp\abc.xml, "/Settings/Setting[@name='Disable update check']", "", 1)
Ich bekomme immer den Fehler den Fehler "Kann in Datei .... nicht schreiben". Ich habe die Zugriffsberechtigungen sogar testweise schon auf Jeder/Vollzugriff gesetzt, bekomme aber dennoch diesen Fehler. Woran liegt das? Ist mein Befehl falsch, der XPath-Ausdruck vielleicht?

User avatar
r.wiegel
Posts: 903
Joined: 05. Feb 2010, 13:45
Location: Regensburg
Contact:

Re: Problem mit UpdateXML

Post by r.wiegel » 14. Jan 2013, 14:57

Der Befehl könnte das Problem lösen:

Code: Select all

ReplaceTextFile ("C:\temp\abc.xml", "0</Setting>", "1</Setting>", 1)
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH

measson
Posts: 175
Joined: 05. Oct 2012, 12:32
Contact:

Re: Problem mit UpdateXML

Post by measson » 14. Jan 2013, 15:52

r.wiegel wrote:Der Befehl könnte das Problem lösen:

Code: Select all

ReplaceTextFile ("C:\temp\abc.xml", "0</Setting>", "1</Setting>", 1)
Das funktioniert zwar, ich finde es aber äußerst unschön und würde das doch ganz gern mit der UpdateXml-Funktion erledigen, wenn sie schon existiert für solche Anwendungsfälle. Die Frage ist, warum behauptet die Funktion, dass sie nicht in die Datei schreiben könne. Auch wenn die Fehlermeldung es andeutet, aber ein Berechtigungsproblem kann es meiner Meinung nach kaum sein, wenn ReplaceTextFile artig seinen Dienst verrichtet - an demselben File wohlgemerkt.

User avatar
r.wiegel
Posts: 903
Joined: 05. Feb 2010, 13:45
Location: Regensburg
Contact:

Re: Problem mit UpdateXML

Post by r.wiegel » 20. Mar 2013, 13:24

Hallo measson,

ich durfte es auch mal mit dem XMLUpdate-Befehl umsetzen.
Richtig ist in deinem Fall:

Code: Select all

UpdateXml ("C:\temp\ABC.xml", "//Setting[@name='Disable update check']", "", "1")
Gruß
Roman
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH

measson
Posts: 175
Joined: 05. Oct 2012, 12:32
Contact:

Re: Problem mit UpdateXML

Post by measson » 22. Mar 2013, 10:58

Danke für das Update!

measson
Posts: 175
Joined: 05. Oct 2012, 12:32
Contact:

Re: Problem mit UpdateXML

Post by measson » 15. Apr 2014, 16:35

Nachdem ich heute mal wieder über die Funktion gestolpert bin, konnte ich endlich herausfinden, was die Meldung "Kann in Datei XYZ nicht schreiben" hervorrufen kann.

1. Die Datei ist nicht vorhanden
2. Keine Schreibberechtigung auf Datei

soweit sogut. Außerdem (nicht ganz naheliegend bei der Fehlermeldung)

3. XML ist nicht wohlgeformt (z.B. durch manuelle Editieren während des Testens)
4. Der XPath ist syntaktisch ungültig (z.B. Klammern oder Anführungsstriche falsch gesetzt)
5. Der XPath Ausdruck liefert kein Element zurück


Beispiel zu 5.
Wenn der X-Path-Ausdruck "//myNodeName[@value='foo']" in der XML-Datei kein passendes Element findet, weil es keinen Knoten der Form <myNodeName value='foo'/> gibt, dann liefert

UpdateXML ("C:\temp\test.xml", "//myNodeName[@value='foo']", "", "newValue")

den oben genannten Fehler.

Vielleicht hilft das ja jemandem weiter.

User avatar
bboehm
Posts: 572
Joined: 07. Apr 2008, 18:47
Location: München
Contact:

Re: Problem mit UpdateXML

Post by bboehm » 15. Jun 2015, 16:16

Hallo,

Ich bräuchte bitte mal etwas Hilfe, da ich schon wieder der Leitung sitze. :roll:

Es muss folgendes eingetragen werden:

Code: Select all

<userConfig name="ManuallySelectedAuthenticator" value="1200"/>
Durch diesen Thread habe ich den ersten Teil schon geschafft, aber es fehlt noch "value...".

Beste Danke im Voraus
Bernhard
IT-Administrator mit Migrationshintergrund bei Fraunhofer-Gesellschaft

Produktionssystem: W2k22, Empirum 24.0.1, MS SQL 2017 Enterprise
Testsystem: W2k19, Empirum 24.0.1, MS SQL 2017 Express

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 4 guests