Подтвердить что ты не робот

WiX: Как зарегистрировать приложение для запуска при запуске Windows?

Я изучаю распространение настольных приложений .NET с MSI, созданным WiX.

Пока это отлично работает. Но у меня есть несколько вопросов, поиск по поисковому запросу не помогает.

Какой рекомендуемый способ регистрации приложения запускаться при запуске Windows (в WiX)?

Какой WixUI можно использовать и как?

Примечания:

  • Приложение не является службой Windows и не должно регистрироваться как таковое.
  • Было бы неплохо позволить пользователю отключить этот параметр в процессе установки.

Спасибо заранее!

4b9b3361

Ответ 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

Я предлагаю вам спросить пользователя с пользовательской формой, если приложение должно автоматически запускаться, а затем создать ссылку в папке автозагрузки пользователей.