2009-06-27 11 views
20

Estoy explorando la distribución de aplicaciones de escritorio .NET con MSI generado por WiX.WiX: cómo registrar la aplicación para que se inicie cuando se inicie Windows?

Hasta ahora funciona muy bien. Pero tengo algunas preguntas, Google no puede ayudarme.

¿Cuál es la forma recomendada de registrar la aplicación para iniciar cuando se inicia Windows (en WiX)?

¿Qué WixUI podría usar y cómo?

Notas:

  • La aplicación no es un servicio de Windows y no deberían registrarse como tal.
  • Sería bueno dejar que el usuario deshabilite esa opción en el proceso de instalación.

¡Gracias de antemano!

Respuesta

36

I found this using Google (Proporciona inicio automático del programa a través del Registro); también incluye agregar UI. No olvide que también debe proporcionar una opción fuera de la configuración para habilitar/deshabilitar el inicio automático.

El Wix básica para ello es:

<Property Id="ASSISTANCE_START_VIA_REGISTRY">1</Property> 

    <!-- Auto-start via Registry --> 
    <Component Id="MerliniAssistanceAutostart" Guid="Place-your-own-GUID-here"> 
    <RegistryValue Id="MerAs.rst" Root="HKMU" Action="write" 
        Key="Software\Microsoft\Windows\CurrentVersion\Run" 
        Name="Merlinia Assistance Client" 
        Value="[INSTALLDIR]Assistance.exe" 
        Type="string" /> 
    <Condition>ASSISTANCE_START_VIA_REGISTRY</Condition> 
    </Component> 

    <ComponentRef Id="MerliniaAssistanceAutostart" /> 
+0

Aparentemente, hay algunos beneficios al comenzar un atajo en lugar de directamente desde .exe. – tofutim

+0

@tofutim ¿Te preocupas por elaborar más? –

+0

Si AutoStart apunta a la lnk en el menú de inicio, puede modificar los parámetros de acceso directo del menú de inicio y hacer que AutoStart comience esa versión. – tofutim

0

Le sugiero que le pregunte al usuario con un formulario personalizado si la aplicación debe iniciarse automáticamente y luego crear un enlace en la carpeta de inicio de los usuarios.

+0

-1, sentimos la pregunta es sobre WiX. –

+1

por qué -1? Con WiX, ¿es fácil crear un enlace en la carpeta de inicio de los usuarios? –

+0

... y no proporcionó el ejemplo que el usuario estaba buscando. –

9

Eche un vistazo en el registro al HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Si desea que comience por usuario, busque en HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Si desea que comience cuando se inicia Windows, sin que sea necesario que el usuario inicie sesión, se trata de un Servicio.

Cuestiones relacionadas