2009-06-27 2 views
20

Я изучаю распространение настольных приложений .NET с MSI, созданным WiX.WiX: Как зарегистрировать приложение для запуска при запуске Windows?

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

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

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

Примечания:

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

Заранее благодарен!

ответ

36

I found this using 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" /> 
+0

По-видимому, есть некоторые преимущества для запуска ярлыка вместо прямого использования .exe. – tofutim

+0

@tofutim Ухаживать за подробностями? –

+0

Если AutoStart указывает на lnk в StartMenu, вы можете изменить параметры ярлыка меню «Пуск» и запустить AutoStart с этой версии. – tofutim

0

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

+0

-1, К сожалению, вопрос о WiX. –

+1

почему -1? С WiX легко создать ссылку в папке автозагрузки пользователей? –

+0

... и вам не удалось представить пример, который пользователь искал. –

9

Загляните в реестр на HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Если вы хотите, чтобы он запускался для каждого пользователя, посмотрите в HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Если вы хотите, чтобы он запускался при запуске Windows, без необходимости входа в систему, это Служба.

Смежные вопросы