Викс:Как зарегистрировать приложение для запуска при запуске Windows?
-
20-08-2019 - |
Вопрос
Я изучаю распространение настольных приложений .NET с MSI, созданных WiX.
Пока это работает отлично.Но у меня есть несколько вопросов, с которыми поиск в Google не может помочь.
Каков рекомендуемый способ регистрации приложения для запуска при запуске Windows (в WiX)?
Какой WixUI я мог бы использовать и как?
Примечания:
- Приложение не является службой Windows и не должно быть зарегистрировано как таковое.
- Было бы неплохо позволить пользователю отключить эту опцию в процессе настройки.
Заранее спасибо!
Решение
Я нашел это с помощью Google (Обеспечение автоматического запуска программы через реестр);это также включает в себя добавление пользовательского интерфейса.Не забывайте, что вы также должны предоставить опцию вне программы установки для включения / отключения автозапуска.
Основным Wix для этого является:
<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" />
Другие советы
Загляните в реестр по адресу HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
.Если вы хотите, чтобы это запускалось для каждого пользователя, то загляните в HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
.Если вы хотите, чтобы он запускался при запуске Windows, не требуя от пользователя входа в систему, это Сервис.
Я бы посоветовал вам спросить пользователя с пользовательской формой, должно ли приложение запускаться автоматически, а затем создать ссылку в папке автозагрузки пользователей.