wix开机启动

来源:互联网 发布:软件项目技术方案 编辑:程序博客网 时间:2024/06/05 07:14

前言:之前两个版本都是使用的WixUI_InstallDir前言后来考虑到用户经常安装在系统目录或是根目录,所以第一个变更是取消目录选择,使用默认目录;最近360的认证规则刷新了一次,开机启动(非用户选择)变成了病毒,所以第二个变更便是加入复选框,让用户知晓并有选择的权利。下面就是解决这两个问题的经历:

变更一:取消目录选择

啥都没变直接改为WixUI_Minimal,最后效果不甚理想:


授权说明并未显示出来,非得鼠标滑过或是拖动滚动条才能显示出来。没太多时间研究原因,直接在WixUI_InstallDir的基础上修改,具体可查看

 

具体修改如下:


复制一份WixUI_InstallDir.wxs,改个名字,去掉目录选择对话框,修改一下”上一步下一步”的关联,就可以达到效果

变更二:开机启动

官网有个例子是安装完之后启动程序,HowTo: Run the Installed Application After Setup

我稍微做了写调整以适应之前的工程:

<UI>

   <UIRef Id="WixUI_brd" />

   <UIRef Id="WixUI_ErrorProgressText" />

   

   <Publish Dialog="ExitDialog"

       Control="Finish"

       Event="DoAction"

       Value="startup">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 andNOT Installed</Publish>

</UI>

<PropertyId="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="允许开机启动,以便网页可以任性拉起助手。" />

<Property Id ="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value = "1" />

 

<CustomAction Id="startup"FileKey='startupEXE' ExeCommand='' Return='asyncNoWait'  Impersonate="yes" />

说明:<UIRef Id="WixUI_brd" />是解决第一个变更的;<Publish >是点完成之后写注册表(开机启动);指定WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT是用于在完成界面显示一个CheckBox;指定WIXUI_EXITDIALOGOPTIONALCHECKBOX的值为1表示CheckBox默认是选中状态。

看下图就知道怎么显示出CheckBox:

只有定义了WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT,在完成界面上才显示CheckBox。

具体写注册表的动作就放在exe 或是dll里面

0 0