Gravando chave de registro específica de 32/64 bits no final da instalação no Inno Setup

Quero criar um instalador com o Inno Setup, pela primeira vez usando esta ferramenta.
O que estou tentando fazer é agrupar um instalador existente de um software existente com um instalador personalizado mais detalhado (ou seja, um Setup.exe dentro de um Setup.exe).

O que funciona para mim depois de pesquisar até agora é solicitar ao instalador (Inno Setup * .exe) que execute o instalador incluído (configuração real do software).
Por que preciso de outro instalador? Porque eu quero dar algumas funções extras.

Em particular é:Quero adicionar uma chave de registro no final da minha instalação, como a última etapa, adequada ao sistema de bits relevante (32/64 bits). E é aqui que estou pedindo ajuda de especialistas, por favor. (principal preocupação)

Meus problemas em detalhes são os seguintes:

Eu consegui adicionar a chave usando o[Registry] seção do Inno Setup. Contudo,[Registry] parece sempre correr antes[Run] - mas eu preciso da chave adicionada após a instalação (adicionada em um caminho regedit que a própria instalação cria), não antes, então excluí o que já funcionava (apenas na ordem errada) em[Registry]. Para realizar um reg-add após a instalação principal, encontrei os dois procedimentosAfterInstall eCurStepChanged/ssPostInstalleDeinitializeSetup o que parece não se encaixar tão bem na minha preocupação (mas pensarAfterInstall seria o que estou procurando (?!), já que nada mais deve vir depois e acho que não será executado, se a instalação anterior já falhar (?!).Não conheço a sintaxe Pascal para adicionar uma chave de registro (string) em um caminho existente. Eu poderia adicioná-lo em[Registry], no entanto, quando se trata do[Code]Sinto-me um pouco perdido, até agora fiz muita pesquisa sobre as funções do Inno Setup e outras.Terceiro problema é que o caminho no registro é diferente, dependendo do sistema de 32 ou 64 bits. Então, eu realmente preciso de uma consulta extra aqui, verificando o bit-System antes de adicionar um ou outro caminho / chave (porque a instalação do próprio programa cria o caminho, dependendo da versão do bit), encontrei a funçãoIsWin64 (Booleano), agora tentando misturar uma função (bit-version-query) com um procedimento (AfterInstall) soa mesmo para mim como um iniciante errado. Além disso, tentei criar uma consulta if-else, e o compilador me disse que estava fazendo errado.if IsWin64 then... funciona, mas adicionar um outro não.

Então a soluçãoem teoria seria aproximadamente algo como ...

procedure MyAfterInstall();  
  function IsWin64: Boolean;  
      if 64-bit Reg-Add HKLM\SOFTWARE\Wow6432Node\A
      else Reg-Add HKLM\SOFTWARE\B

Desculpe por não oferecer mais. Normalmente não estou codificando.

Se relevante, é o que tenho na minha seção de código até agora:

[Code]
procedure DeinitializeSetup();
begin
  RegWriteStringValue(
    HKEY_LOCAL_MACHINE, 'SOFTWARE\Wow6432Node\A', 'ConnectionString ', 'Data Source=Test;');
end;

Razão pela qual eu useiDeinitializeSetup foi porque é uma coisa que funcionou para mim até agora, no entanto, eu sei que essa função é chamada mesmo que o usuário saia da instalação antes que algo seja instalado, o que não é tão bom. Estou executando isso após a instalação porque a própria instalação do software cria o caminho ao qual eu quero adicionar a chave, não faz sentido ter a chave enquanto a instalação do software falhou ... Talvez também exista uma maneira melhor para isso.
Pedimos desculpas por muitas palavras e agradecemos antecipadamente por qualquer ajuda.

questionAnswers(1)

yourAnswerToTheQuestion