Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Цитата Неадекватный:
NetworkCfg.xml должен создаваться в папке программы, т.е %ProgramFiles%\Моё Программное Обеспечение.
То что в коде "но между XXX должно вводиться Название XXX; Например XXX" это должно работать в инсталляторе "вводиться в окошках" »
Неадекватный, способов несколько.
1. Использовать уже готовый шаблон без значений NetworkCfg.xml (как в вашем посте, первый код) и методы объекта XMLDOM:
читать дальше »

Код: Выделить весь код
[Files]
Source: NetworkCfg.xml; Flags: dontcopy

[code]
procedure CreateNetworkCfg;
var
    objXMLDoc: Variant;
begin
    objXMLDoc := CreateOleObject('Microsoft.XMLDOM');
    objXMLDoc.async := False;
    objXMLDoc.load(ExpandConstant('{tmp}\networkcfg.xml'));
    if objXMLDoc.parseError.errorCode <> 0 then Exit;
    objXMLDoc.selectSingleNode('//AllNetworkConfigs/NetworkConfig/ConfigFileName').Text := NewEdit1.Text;
    objXMLDoc.selectSingleNode('//AllNetworkConfigs/NetworkConfig/UserName').Text := NewEdit2.Text;
    objXMLDoc.selectSingleNode('//AllNetworkConfigs/NetworkConfig/Password').Text := NewEdit3.Text;
    objXMLDoc.selectSingleNode('//AllNetworkConfigs/NetworkConfig/LoginNumber').Text := NewEdit4.Text;
    objXMLDoc.selectSingleNode('//AllNetworkConfigs/NetworkConfig/APN').Text := NewEdit5.Text;
    objXMLDoc.save(ExpandConstant('{app}\networkcfg.xml'));
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
    case CurStep of
        ssPostInstall: CreateNetworkCfg;
    end;
end;

procedure InitializeWizard();
begin
    ExtractTemporaryFile('networkcfg.xml');
    RedesignWizardForm;
end;


2. Использовать SaveStringToFile с длинной строкой.
читать дальше »

Код: Выделить весь код
[code]
procedure CreateNetworkCfg;
begin
    SaveStringToFile(
        ExpandConstant('{app}\networkcfg.xml'),
        '<?xml version="1.0" encoding="UTF-8"?>'#13#10 +
        '<AllNetworkConfigs>'#13#10#9 +
        '<NetworkConfig isNDIS="0" canbeDelete="1" isPreferred="1">'#13#10#9#9 +
        '<ConfigFileName>' + NewEdit1.Text + '</ConfigFileName>'#13#10#9#9 +
        '<UserName>' + NewEdit2.Text + '</UserName>'#13#10#9#9 +
        '<Password>' + NewEdit3.Text + '</Password>'#13#10#9#9 +
        '<LoginNumber>' + NewEdit4.Text + '</LoginNumber>'#13#10#9#9 +
        '<AutoGetAPN>0</AutoGetAPN>'#13#10#9#9 +
        '<APN>' + NewEdit5.Text + '</APN>'#13#10#9#9 +
        '<AutoGetDNS>1</AutoGetDNS>'#13#10#9#9 +
        '<MainDNS>0.0.0.0</MainDNS>'#13#10#9#9 +
        '<StandbyDNS>0.0.0.0</StandbyDNS>'#13#10#9#9 +
        '<AutoGetPDP>1</AutoGetPDP>'#13#10#9#9 +
        '<PDPAddress>0.0.0.0</PDPAddress>'#13#10#9#9 +
        '<PDPType>IP</PDPType>'#13#10#9#9 +
        '<AuthType>PAP</AuthType>'#13#10#9#9 +
        '<AskUserAndPwd>0</AskUserAndPwd>'#13#10#9#9 +
        '<SaveUserAndPwd>0</SaveUserAndPwd>'#13#10#9 +
        '</NetworkConfig>'#13#10 +
        '</AllNetworkConfigs>'
        , False
    );
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
    case CurStep of
        ssPostInstall: CreateNetworkCfg;
    end;
end;

Последний раз редактировалось El Sanchez, 13-06-2012 в 17:19. Причина: fix

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:27, 11-06-2012 | #244