wix开机启动
2015-09-09 18:17
495 查看
前言:之前两个版本都是使用的WixUI_InstallDir前言后来考虑到用户经常安装在系统目录或是根目录,所以第一个变更是取消目录选择,使用默认目录;最近360的认证规则刷新了一次,开机启动(非用户选择)变成了病毒,所以第二个变更便是加入复选框,让用户知晓并有选择的权利。下面就是解决这两个问题的经历:
变更一:取消目录选择
啥都没变直接改为WixUI_Minimal,最后效果不甚理想:
![](https://img-blog.csdn.net/20150909181513862?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
授权说明并未显示出来,非得鼠标滑过或是拖动滚动条才能显示出来。没太多时间研究原因,直接在WixUI_InstallDir的基础上修改,具体可查看
![](https://img-blog.csdn.net/20150909181536366?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
具体修改如下:
![](https://img-blog.csdn.net/20150909181604513?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
复制一份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:
![](https://img-blog.csdn.net/20150909181632562?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
只有定义了WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT,在完成界面上才显示CheckBox。
具体写注册表的动作就放在exe 或是dll里面
变更一:取消目录选择
啥都没变直接改为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里面
相关文章推荐
- uva 10534 Wavio Sequence
- CALayer Animation实践(一):让应用灵动起来!
- Android 读取工程中的txt文件
- webRTC resource
- HDU-A Corrupt Mayor's Performance Art【线段树+位运算】
- android中MVP模式
- Linux中的变量
- Asp.Net 开发之图片上传
- ActionBar详解之三(自定义样式)
- 【leetcode】Recover Binary Search Tree
- DrawerLayout 抽屉效果
- Java获取数据库TimeStamp类型时间代码
- 安卓项目为什么要clean,以及如何clean
- 流媒体 UDP服务器设计
- equals与hashcode的关系
- java 动态代理实现
- 系统垃圾清理方法
- 应用中如何使用适当的数据结构
- TMS320C28x C/C++ Data Type
- 资金金额:小写转大写