您的位置:首页 > 其它

wix开机启动

2015-09-09 18:17 495 查看
前言:之前两个版本都是使用的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里面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: