Inno Setup - Criar página de consulta de entrada do usuário com comprimento e limite de formato de entrada e usar a entrada

Portanto, como o título diz, quero criar uma Página de consulta de entrada do usuário (fácil), mas quero que o campo rejeite os caracteres de espaço e limite a entrada a não mais que 15 caracteres (um pouco mais difícil para mim). Mas então eu preciso gravar a entrada em um arquivo, o que também não tenho certeza de como fazer.

Aqui está a aparência do meu código agora:

var
  Page: TInputQueryWizardPage;

Procedure InitializeWizard();
Begin
  Page := CreateInputQueryPage(wpSelectTasks, 'Choose a Profile Name', 'This name will be used as your Profile Name', 'Please specify a name to be used as your Profile Name (make sure it''s unique), then click Next.');
  Page.Add('Name:', False);
  Page.Values[0] := 'YourName';
End;

function GetUserInput(param: String): String;
Begin
  result := Page.Values[0];
End;

Como você pode ver, esse código não tem limitações para caracteres. Essa é a primeira coisa que preciso de ajuda.

Meu segundo problema é escrever esse valor.

Mais uma vez, estou trabalhando com um arquivo INI não padrão, não minha culpa. Portanto, esse arquivo é muito parecido com um INI padrão, apenas não possui seções, apenas chaves e valores. A própria seção INI do Inno Setup não serve para mim, pois ela não permitirá a entrada "fora" de uma seção, então acho que terei que tratar um arquivo de texto (?).

Preciso escrever o resultado como valor em uma chave, denominada 'nome do perfil'.

questionAnswers(1)

yourAnswerToTheQuestion