Como criar Arquivos.ini com base nas informações pegas pelo instalador Com Inno Setup e ISTool
como Faço para pegar uma informação digitada no instalador e criar o arquivo .ini no istool
sei que tem com mais não achei nada na que fala sobre isso, só achei o basico como Tutorial: Criando Instaladores, e essa video aulas [url:descricao=Criando Instaladores com InnoSetup – Aula 1 - 8]http://dev.rbtech.info/criando-instaladores-com-innosetup-aula-08-final/[/url]
sei que tem com mais não achei nada na que fala sobre isso, só achei o basico como Tutorial: Criando Instaladores, e essa video aulas [url:descricao=Criando Instaladores com InnoSetup – Aula 1 - 8]http://dev.rbtech.info/criando-instaladores-com-innosetup-aula-08-final/[/url]
Eduardo Silva
Curtidas 0
Respostas
Eduardo Silva
15/03/2017
Eu pesquisei mais um pouquinho (Pesquisei muito) e encontrei uma solução
na seção Code ficou Assim
na seção INI na parte onde Coloca o Servido ou seja o nome do Computador fica "{code:GetValueNames}/3050" e no arquivo ele ficara
Servidor/3050
No IsTool ficou assim:
na seção Code ficou Assim
[Code] #ifdef UNICODE #define AW "W" #else #define AW "A" #endif const ERROR_MORE_DATA = 234; type TComputerNameFormat = ( ComputerNameNetBIOS, ComputerNameDnsHostname, ComputerNameDnsDomain, ComputerNameDnsFullyQualified, ComputerNamePhysicalNetBIOS, ComputerNamePhysicalDnsHostname, ComputerNamePhysicalDnsDomain, ComputerNamePhysicalDnsFullyQualified, ComputerNameMax ); var Page: TInputQueryWizardPage; ComputerName: string; function GetComputerNameEx(NameType: TComputerNameFormat; lpBuffer: string; var nSize: DWORD): BOOL; external 'GetComputerNameEx{#AW}@kernel32.dll stdcall'; function TryGetComputerName(Format: TComputerNameFormat; out Output: string): Boolean; var BufLen: DWORD; begin Result := False; BufLen := 0; if not Boolean(GetComputerNameEx(Format, '', BufLen)) and (DLLGetLastError = ERROR_MORE_DATA) then begin SetLength(Output, BufLen); Result := GetComputerNameEx(Format, Output, BufLen); end; end; procedure CriarPaginaServidor; begin // Create the page Page := CreateInputQueryPage(wpSelectComponents, 'Conexão Autosad', 'Parâmetros de conexão com o servidor de banco de dados.', 'Informe o servidor para conexão com o banco de dados.'); // Add items (False means it's not a password edit) Page.Add('Servidor:', False); if TryGetComputerName(ComputerNameDnsFullyQualified, ComputerName) then Page.Values[0] := ComputerName else // Set initial values (optional) Page.Values[0] := 'localhost'; end; function NextButtonClick(CurPageID: Integer): Boolean; begin if CurPageID = Page.ID then begin if (CurPageID = Page.ID) then begin if (Page.Values[0] = '') then begin MsgBox('O campo servidor deve ser preenchido!', mbError, MB_OK); Result := False; end else Result:= True; end; end else Result:= True; end; function GetValueNames(param: String): String; begin Result := Page.Values[0]; end; procedure InitializeWizard; begin CriarPaginaServidor; end;
na seção INI na parte onde Coloca o Servido ou seja o nome do Computador fica "{code:GetValueNames}/3050" e no arquivo ele ficara
Servidor/3050
No IsTool ficou assim:
[INI] ; Criação do Arquivo Config.ini Filename: \\Config.ini; Section: AUTOSAD; Key: DriverID; String: FB; Components: Servidor Filename: \\Config.ini; Section: AUTOSAD; Key: Database; String: \\Banco\\BD_AUTOSAD.FDB; Components: Servidor Filename: \\Config.ini; Section: AUTOSAD; Key: user_name; String: PROSYSTEM; Components: Servidor Filename: \\Config.ini; Section: AUTOSAD; Key: password; String: pro690625; Components: Servidor Filename: \\Config.ini; Section: AUTOSAD; Key: Protocol; String: Local; Components: Servidor Filename: \\Config.ini; Section: AUTOSAD; Key: Server; String: {code:GetValueNames}/3050; Components: Servidor Filename: \\Config.ini; Section: AUTOSAD; Key: Port; String: 3050; Components: Servidor Filename: \\Config.ini; Section: AUTOSAD; Key: SQLDialect; String: 1; Components: Servidor Filename: \\Config.ini; Section: AUTOSAD; Key: CharacterSet; String: WIN1251; Components: Servidor Filename: \\Config.ini; Section: AUTOSAD; Key: VendorLib; String: gds32.dll; Components: Servidor
GOSTEI 0