質問があります。インターネットを見回しましたが、助けが得られませんでした。これが問題です。-アプリケーションパスの場所をXMLノードに保存したい。問題は、インストーラーが私が書いたのとまったく同じように、そこに置いた単語を書き込むため、ディレクトリにconsts名を使用できないことです。
function NextButtonClick2(CurPageID: Integer): Boolean;
begin
Result := True;
SaveValueToXML(ExpandConstant('{pf}\XXX\Config.xml'), '//@param', PEdit.Text);
SaveValueToXML(ExpandConstant('{pf}\XXX\Config.xml'), '//@path', '{app}\XXX\Aplication.exe');
end;
これは私が得た結果です
<?xml version="1.0" encoding="UTF-8"?>
-<games> <game priority="0" display="1" param="test" path="{app}\Aplication.exe" id="1036"/> </games>
これは私が期待する結果です:
<?xml version="1.0" encoding="UTF-8"?>
-<games> <game priority="0" display="1" param="test" path="C:\Program Files (x86)\XXX\Aplication.exe" id="1036"/> </games>
場所は適切です...しかし、私がそれを手動で書いた場合に限ります。そしてそれは問題です、インストーラーは自動的にXMLからパスノードを編集します...そしてユーザーが別のハードドライブ文字[C、D、F、Hなど]または別のパスの場所を持っている場合メインアプリケーションでは、インストール中にエラーが発生します。
助けてください!これからもありがとう!