
Estou executando o instalador do meu aplicativo na inicialização do Windows 7, seguido de uma reinicialização do sistema solicitada pelo instalador. Agora, para a abordagem, estou escrevendo para a chave de registro RunOnce para que meu instalador seja executado apenas uma vez e a entrada seja excluída automaticamente posteriormente.
Agora, a abordagem acima está funcionando bem, exceto por uma coisa: não consigo mostrar a área de trabalho por esse método até que a instalação seja concluída e ela seja fechada.
Acho que esse comportamento é padrão para o método RunOnce. Queria confirmar isso e, se necessário, posso usar a tecla Run
em vez disso RunOnce
e excluir a entrada de lá assim que meu trabalho estiver concluído. Existe alguma outra maneira de brincar com RunOnce
a chave?
Responder1
A resposta é que preciso usar o método RunOnce do HKCU em vez do HKLM. A ordem em que o Windows executa as entradas de inicialização é:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
<Logon Prompt>
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Pasta de inicialização
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
Referência:INFO: Run, RunOnce, RunServices, RunServicesOnce e inicialização