最近研究了一下如何使用WIX制作具有时间限制的安装包,下图是demo的效果图。
完成这个demo主要有两点值得注意:
1. 选择合适的脚本语言(VBScript or JScript)实现定制操作。
2. 选择合适的实际执行上面的脚本。
下面分享我的实现过程:
1. 实现一段检查当前时间是否越界的脚本代码,并将它封装到CustomAction中。
使用VBScript比较当前日期和限定日期,小于0表示越界,这时调用WScript想注册表添加坏键。
2. 选择合适的时机执行上述脚本,越早越好。
在本文的demo中,我在PrepareDlg之前执行脚本,对于大多数情况而言,这已经是最早的时机了。当然,你也可以选择在AppSearch之前执行。
3. 添加一个RegistrySearch属性,用于第一步提到的坏键。
4. 添加Condition用于检查第三步添加的属性是否存在,并在需要的时候弹出错误信息。
5. 实现一个清除操作,用于清除第一步添加的坏键。
6. 在FatalError对话框中发布Finish事件,同时将值设置给第五步提到的清除操作。
到这里就完成,代码很简单,希望有价值。
源码下载地址如下:
TimeLimit.rar
分享到:
相关推荐
WIX制作C#应用程序安装包
MSI安装包工具Wix帮助文档,这个可以直接生成MSI安装文件
程序中为wix3.7版本,但对于环境对wix3.5到wix3.7版本的需求都可使用(自己已经亲测可用),具体使用方法见压缩包内的readme文件
Wix Toolset 最新安装包,也包括VS支持包。安装后在VS上找不到Wix的话,就安装VS对应版本的支持包
WIX 工具生成 MSI 驱动安装包的脚本,打包工具
wix3.0中文资源包 wix3.7中文资源包 WixUI_zh-cn.wxl WixUI_zh-tw.wxl
wix教程wix教程wix教程wix教程wix教程wix教程
git客户端离线安装包
WiX Toolset v3.11.1 源码 在使用wix toolset 进行打包安装的时候,常常需要自定义界面,自定义界面就需要参照Wix本身提供的模板,在源码中经常会用到的目录是 wix3-wix3111rtm\src\ext\UIExtension\wixlib
WiX的核心是一组构建工具,它们使用与产品其余部分相同的构建概念构建Windows Installer程序包:编译源代码然后链接以创建可执行文件; 在这种情况下,.exe安装包,.msi安装包,.msm合并模块和.msp补丁。WiX命令行...
wix3.11版本安装工具
使用jdk的jpackage 打包时需要用到WiX 工具 (light.exe, candle.exe)
wix development for windows installer
WiX3.10版本安装工具
wix 3.6 developers guide to windows installer.
Wix打包说明,含有图文说明,并附有具体的实现代码。(亲测可用)
使用wix toolset打包C#程序为安装程序msi的实例。
WiX Toolset v3.7 The most powerful set of tools available to create your Windows installation experience. Free and Open Source since 2004!