
Estoy ejecutando el instalador de mi aplicación al iniciar Windows 7 seguido de un reinicio del sistema solicitado por el instalador. Ahora, para el enfoque, estoy escribiendo la clave de registro RunOnce para que mi instalador se ejecute solo una vez y la entrada se elimine automáticamente después.
Ahora el enfoque anterior funciona bien excepto por una cosa: no puedo mostrar el escritorio con este método hasta que la instalación haya finalizado y se haya cerrado.
Creo que este comportamiento es el predeterminado para el método RunOnce. Quería confirmar eso y, si es necesario, puedo usar la tecla Run
de lugar RunOnce
y eliminar la entrada desde allí una vez que haya terminado mi trabajo. ¿Hay alguna otra forma de jugar con RunOnce
la clave?
Respuesta1
La respuesta es que necesito utilizar el método RunOnce de HKCU en lugar de HKLM. El orden en el que Windows ejecuta las entradas de inicio es:
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
Carpeta de inicio
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
Árbitro:INFORMACIÓN: Ejecutar, RunOnce, RunServices, RunServicesOnce y Inicio