WiX: How to register application to start when Windows launches?
Solution 1
I found this using Google (Providing automatic program start via the Registry); it also includes adding UI. Don't forget 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="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" />
Solution 2
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.
Rinat Abdullin
Rinat Abdullin is an international software engineer and consultant for the distributed applications and cloud architectures. About Me | Blog on CQRS, Clouds and .NET development
Updated on June 27, 2022Comments
-
Rinat Abdullin almost 2 years
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!