Ich habe für meine Anwendung einen Installer gebaut mit dem Tool NSIS (Nullsoft Scriptable Install System) mit Hilfe
eines
XML Plugins sollen ein paar Dinge während der Installtion in eine Einstellungsdatei gespeichert werden.
Ansich keine Sache, nur muß ich bei einem Knoten ein Attribut und auch den 'Text' ändern jedoch klappt immer nur eins
nicht beides. Ich hoffe jemand hat eine idee woran es liegen könnte.
Die
XML Datei sieht folgender maßen aus...
XML-Code:
<?
xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<settings>
<app>
<window maximized="true">
<position left="15" top="45" width="1205" height="853" />
</window>
<Lang code="de" id="0" />
<ExportDir />
</app>
<dbase>
<localDataDir ProgDir="false" AppDir="true" Directory="false" />
<remoteDataDir NetBackup="true">C:\Temp\DOH</remoteDataDir>
</dbase>
</settings>
Im installer werden erst 3 RadioButtons abgefragt und dann die Attribute vom Knoten 'localDataDir' gespeichert
was auch soweit klappt. Im zweiten Schritt soll das Attribut 'NetBackup' vom Knoten 'remoteDataDir' auf "false"
gesetzt werden sowie der zuvor vom Anwender eingebene Pfad als Knoten Text gespeichert werden. Zur zeit Funktionier
nur letzters.
Code:
;Flags auslesen
!insertmacro MUI_INSTALLOPTIONS_READ $TempResult "io.ini" "Field 3" "State"
${IF} $TempResult == 1
StrCpy $bProgDir true
${ELSE}
StrCpy $bProgDir false
${ENDIF}
!insertmacro MUI_INSTALLOPTIONS_READ $TempResult "io.ini" "Field 4" "State"
${IF} $TempResult == 1
StrCpy $bAppDir true
${ELSE}
StrCpy $bAppDir false
${ENDIF}
!insertmacro MUI_INSTALLOPTIONS_READ $TempResult "io.ini" "Field 5" "State"
${IF} $TempResult == 1
StrCpy $bDirectory true
${ELSE}
StrCpy $bDirectory false
${ENDIF}
;Verzeichnis für Geräte-Daten auslesen
!insertmacro MUI_INSTALLOPTIONS_READ $Dir "io.ini" "Field 8" "State"
StrCpy $bNetBackup false
;Einstellungen in
XML Datei speichern...
${
xml::LoadFile} "$DYNFILES\${FILE_DYN_SETTINGS}" $0
${
xml::GotoPath} "/settings/dbase/localDataDir" $0
${
xml::FirstChild} "" $0 $0
${
xml::SetAttribute} "ProgDir" $bProgDir $0
${
xml::SetAttribute} "AppDir" $bAppDir $0
${
xml::SetAttribute} "Directory" $bDirectory $0
${
xml::GotoPath} "/settings/dbase/remoteDataDir" $0
${
xml::FirstChild} "" $0 $0
${
xml::SetAttribute} "NetBackup" $bNetBackup $0
${
xml::SetNodeValue} $Dir
${
xml::SaveFile} "$DYNFILES\${FILE_DYN_SETTINGS}" $0
${
xml::Unload}
Ich bin zur Zeit total ratlos wieso das eine klappt jedoch das andere nicht bzw. nicht beides zusammen.