2009-06-27 201 views
20

我正在探索使用由WiX生成的MSI分发.NET桌面应用程序。WiX:如何注册Windows启动时启动的应用程序?

到目前为止它效果很好。但我有几个问题,谷歌搜索不能帮助。

什么建议的方式注册应用程序启动时启动Windows(在WiX)?

我可以使用什么WixUI?

注:

  • 的应用程序是不是Windows服务,不应该被注册为此类。
  • 如果让用户在设置过程中禁用该选项将会很好。

在此先感谢!

回答

36

found this using Google(通过注册表提供自动程序启动);它还包括添加UI。不要忘记,您还应该在设置之外提供一个选项来启用/禁用自动启动。

它的基本维克斯是:

<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

如果应用程序应该自动启动,然后在用户启动文件夹中创建一个链接,我会建议您使用自定义窗体询问用户。

+0

-1,对不起问题是关于WiX的。 – 2009-06-27 11:54:30

+1

为什么-1?使用WiX可以很容易地在用户启动文件夹中创建链接? – 2009-06-28 13:01:14

9

看看HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run的注册表。如果您希望按用户启动,请查看HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run。如果你希望它在Windows启动时启动,而不需要用户登录,那就是一个Service。

相关问题