views:

747

answers:

4

I'm exploring distribution of .NET desktop applications with MSI generated by WiX.

So far it works great. But I've got a few questions, googling can't help out with.

What's the advised way of registering application to start when windows launches (in WiX)?

What WixUI could I use and how?

Notes:

  • The application is not a Windows Service and should not be registered as such.
  • It would be nice to let user to disable that option in the setup process.

Thanks in advance!

A: 

I would suggest you ask the user with a custom form if the application should startup automatically and then create a link in the users startup folder.

BeowulfOF
-1, Sorry the question is about WiX.
Rinat Abdullin
why -1? With WiX it is easy to create a link in users startup folder?
BeowulfOF
+1  A: 

WiX can add keys to the registry, so first you need to google to find which keys to use and second, google to find how to add keys in WiX.

zvolkov
+1  A: 

Take a look in the registry at HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. If you want it to start per-user then look in HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. If you want it to start when Windows starts, without requiring a user to log on, that's a Service.

Dave Markle
+4  A: 

I found this using Google (Providing automatic program start via the Registry) it also include adding UI. Don't forget the you should also provide an option outside the setup to enable/disable autostart.

The basic Wix for it is:

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

  <!-- Auto-start via Registry -->
  <Component Id="MerliniaAssistanceAutostart" Guid="Place-your-own-GUID-here">
    <Registry 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" />
Shay Erlichmen