Provavelmente, é uma má ideia deixar a escolha para o usuário. Eu usaria os cabeçalhos x64 para determinar o diretório padrão.
Inclua isso no cabeçalho do seu script.
!include LogicLib.nsh
!include x64.nsh
Em seguida, use isso no script, por exemplo na função .onInit
:
${If} ${RunningX64}
# 64 bit code
${Else}
# 32 bit code
${EndIf}
Como você não pode criar um MessageBox simples com botões personalizados, sugiro que crie uma página de diálogo com botões de opção usando nsDialogs . A declaração If
iria então para a função deixar (veja o estado estado de controle ), consultando o valor de ${NSD_GetState}
.