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