Aqui está o que estou tentando fazer: quero chamar o instalador passando como primeiro parâmetro o arquivo EXE que quero executar após a instalação ser bem-sucedida.
Assim :
c:\downloads\myinstall.exe "c:\Program Files (x86)\MyApp\Myapp.exe"
No caso acima, quero chamar 'Myapp.exe' após a conclusão da instalação.
Isso é possível?
Primeiro, um aviso: não me sinto bem em deixar seu instalador executar um comando arbitrário. Ele pode ser abusado. Um invasor pode fazer o usuário executar seu instalador inocente (possivelmente assinado por código) com algum código malicioso. Pode até enganar um antivírus. Pelo menos minha solução executa o código sem privilégios de administrador. Mas mesmo assim...
A sintaxe de linha de comando proposta conflita com a sintaxe de linha de comando padrão do Inno Setup . E se o usuário executar o instalador, por exemplo, com
/LOG
a opção de linha de comando como:É melhor você ficar com a sintaxe switch. Por exemplo, adicione seu próprio
/RUN
switch:Também torna a implementação mais fácil, pois você pode usar
{param}
"constant" . E você pode usar isso naRun
seção facilmente:Se você precisar de mais controle, você pode, é claro, continuar usando o código Pascal em
CurStepChanged
. Para ler o/RUN
switch, use:Veja também É possível aceitar parâmetros de linha de comando personalizados com o Inno Setup .
Consegui descobrir como fazer isso, aqui está o código caso alguém precise: