原文 NSIS:使用FileFunc.nsh头文件判断文件版本
这里,轻狂拿WMP10做一个例子。关于WMP10的原始安装文件,可以下载后通过/C /T:D:\Windows Media Player参数(参数说明:将文件解开到D:\Windows Media Player文件夹)得到。
首先,引入头文件:
!include "FileFunc.nsh"
然后,写详细的代码:
Section "WMP" SEC_WMP
${GetFileVersion} "$PROGRAMFILES\Windows Media Player\wmplayer.exe" $R1
Pop $R1
${If} $R1 < '10.0.0.3802'
MessageBox MB_YESNO "您的Windows Media Player版本过低,是否升级到推荐版本?" IDNO NoReadme
SetDetailsPrint textonly
DetailPrint "正在安装 Windows Media Player10..."
SetDetailsPrint listonly
SetOutPath "$TEMP\MP10"
File "Windows Media Player10\9SeriesD.wmz"
File "Windows Media Player10\asferror.dll"
File "Windows Media Player10\audiodev.dll"
File "Windows Media Player10\blackbox.dll"
File "Windows Media Player10\CEWMDM.dll"
File "Windows Media Player10\codecs10.cat"
File "Windows Media Player10\codecs10.inf"
File "Windows Media Player10\Compact.wmz"
File "Windows Media Player10\control.xml"
File "Windows Media Player10\custsat.dll"
File "Windows Media Player10\DRM10.cat"
File "Windows Media Player10\DRM10.inf"
File "Windows Media Player10\DRMClien.dll"
File "Windows Media Player10\DrmStor.dll"
File "Windows Media Player10\drmupgds.exe"
File "Windows Media Player10\drmv2clt.dll"
File "Windows Media Player10\eula.txt"
File "Windows Media Player10\l3codecp.acm"
File "Windows Media Player10\LAPRXY.DLL"
File "Windows Media Player10\logagent.exe"
File "Windows Media Player10\migrate.exe"
File "Windows Media Player10\MPCD10.cat"
File "Windows Media Player10\MPCD10.inf"
File "Windows Media Player10\MPPRE10.cat"
File "Windows Media Player10\MPPRE10.inf"
File "Windows Media Player10\MPSTUB10.cat"
File "Windows Media Player10\MPSTUB10.inf"
File "Windows Media Player10\mpvis.DLL"
File "Windows Media Player10\msnetobj.dll"
File "Windows Media Player10\msnlogo.png"
File "Windows Media Player10\msnsmall.png"
File "Windows Media Player10\msoobci.dll"
File "Windows Media Player10\MsPMSNSv.dll"
File "Windows Media Player10\MsPMSP.dll"
File "Windows Media Player10\msscp.dll"
File "Windows Media Player10\MSWMDM.dll"
File "Windows Media Player10\mymusic.inf"
File "Windows Media Player10\Plylst1.wpl"
File "Windows Media Player10\Plylst10.wpl"
File "Windows Media Player10\Plylst11.wpl"
File "Windows Media Player10\Plylst12.wpl"
File "Windows Media Player10\Plylst13.wpl"
File "Windows Media Player10\Plylst14.wpl"
File "Windows Media Player10\Plylst15.wpl"
File "Windows Media Player10\Plylst2.wpl"
File "Windows Media Player10\Plylst3.wpl"
File "Windows Media Player10\Plylst4.wpl"
File "Windows Media Player10\Plylst5.wpl"
File "Windows Media Player10\Plylst6.wpl"
File "Windows Media Player10\Plylst7.wpl"
File "Windows Media Player10\Plylst8.wpl"
File "Windows Media Player10\Plylst9.wpl"
File "Windows Media Player10\qasf.dll"
File "Windows Media Player10\QuickSi.wmz"
File "Windows Media Player10\Revert.wmz"
File "Windows Media Player10\setup_wm.exe"
File "Windows Media Player10\skins.inf"
File "Windows Media Player10\skinsmui.inf"
File "Windows Media Player10\syncpl01.wpl"
File "Windows Media Player10\syncpl02.wpl"
File "Windows Media Player10\syncpl03.wpl"
File "Windows Media Player10\syncpl04.wpl"
File "Windows Media Player10\syncpl05.wpl"
File "Windows Media Player10\syncpl06.wpl"
File "Windows Media Player10\syncpl07.wpl"
File "Windows Media Player10\syncpl08.wpl"
File "Windows Media Player10\syncpl09.wpl"
File "Windows Media Player10\syncpl10.wpl"
File "Windows Media Player10\syncpl11.wpl"
File "Windows Media Player10\syncpl12.wpl"
File "Windows Media Player10\unregmp2.exe"
File "Windows Media Player10\uWDF.exe"
File "Windows Media Player10\WdfApi.dll"
File "Windows Media Player10\WdfMgr.exe"
File "Windows Media Player10\WMADMOD.DLL"
File "Windows Media Player10\WMADMOE.DLL"
File "Windows Media Player10\WMASF.DLL"
File "Windows Media Player10\WMDM10.cat"
File "Windows Media Player10\WMDM10.inf"
File "Windows Media Player10\WMDMLOG.dll"
File "Windows Media Player10\WMDMPS.dll"
File "Windows Media Player10\wmdrmdev.dll"
File "Windows Media Player10\wmdrmnet.dll"
File "Windows Media Player10\wmerror.dll"
File "Windows Media Player10\WMFSDK10.cat"
File "Windows Media Player10\WMFSDK10.inf"
File "Windows Media Player10\wmidx.dll"
File "Windows Media Player10\wmlaunch.exe"
File "Windows Media Player10\WMNetMgr.dll"
File "Windows Media Player10\wmp.dll"
File "Windows Media Player10\wmp.ocx"
File "Windows Media Player10\WMP10.cat"
File "Windows Media Player10\wmp10.chm"
File "Windows Media Player10\WMP10.inf"
File "Windows Media Player10\wmpasf.dll"
File "Windows Media Player10\wmpband.dll"
File "Windows Media Player10\wmpcd.dll"
File "Windows Media Player10\wmpcore.dll"
File "Windows Media Player10\wmpdxm.dll"
File "Windows Media Player10\wmpenc.exe"
File "Windows Media Player10\WMPEncEn.dll"
File "Windows Media Player10\wmperr10.chm"
File "Windows Media Player10\wmplayer.adm"
File "Windows Media Player10\wmplayer.exe"
File "Windows Media Player10\wmploc.DLL"
File "Windows Media Player10\wmpshell.dll"
File "Windows Media Player10\wmpsrcwp.dll"
File "Windows Media Player10\wmpui.dll"
File "Windows Media Player10\WMSDMOD.DLL"
File "Windows Media Player10\WMSDMOE2.DLL"
File "Windows Media Player10\WMSET10.cat"
File "Windows Media Player10\WMSET10.inf"
File "Windows Media Player10\wmsetsdk.exe"
File "Windows Media Player10\wmsetsdk.inf"
File "Windows Media Player10\WMSPDMOD.DLL"
File "Windows Media Player10\WMSPDMOE.DLL"
File "Windows Media Player10\WMVADVD.DLL"
File "Windows Media Player10\WMVADVE.DLL"
File "Windows Media Player10\WMVCORE.DLL"
File "Windows Media Player10\WMVDMOD.DLL"
File "Windows Media Player10\WMVDMOE2.DLL"
File "Windows Media Player10\WPD10.cat"
File "Windows Media Player10\WPD10.inf"
File "Windows Media Player10\wpdconns.dll"
File "Windows Media Player10\wpdmtp.dll"
File "Windows Media Player10\wpdmtp.inf"
File "Windows Media Player10\wpdmtpdr.dll"
File "Windows Media Player10\wpdmtpus.dll"
File "Windows Media Player10\WPDSp.dll"
File "Windows Media Player10\wpdtrace.dll"
File "Windows Media Player10\wpdusb.sys"
File "Windows Media Player10\wpd_ci.dll"
ExecWait '$TEMP\MP10\setup_wm.exe /Q' $R1
RMDir /r "$TEMP\MP10"
${EndIf}
NoReadme:
SectionEnd
- NSIS:使用WinVer.nsh头文件判断操作系统版本
原文 NSIS:使用WinVer.nsh头文件判断操作系统版本 AtLeastWin<version> 检测是否高于指定版本 IsWin<version> 检测指定版本(唯一限 ...
- NSIS使用WinVer.nsh头文件判断操作系统版本
NSIS使用WinVer.nsh头文件判断操作系统版本,首先请下载最新的WinVer.nsh: http://nsis.sourceforge.net/Include/WinVer.nsh(下载后置于 ...
- PHP取二进制文件头快速判断文件类型
<?php /*文件扩展名说明 *7173 gif *255216 jpg *13780 png *6677 bmp *239187 txt,aspx,asp,sql *208207 xls.d ...
- PHP取二进制文件头快速判断文件类型的实现代码
通过读取文件头信息来识别文件的真实类型. 一般我们都是按照文件扩展名来判断文件类型,但是这个很不靠谱,轻易就通过修改扩展名来躲避了,一般必须要读取文件信息来识别,PHP扩展中提供了类似 exif_im ...
- 判断文件是否存在,不存在创建文件&&判断文件夹是否存在,不存在创建文件夹
1.判断文件是否存在,不存在创建文件 File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm"); if( ...
- [Go] golang创建目录写文件判断文件
package main import ( "log" "os" ) func main() { //创建目录 os.Mkdir("test" ...
- [函数] PHP取二进制文件头快速判断文件类型
一般我们都是按照文件扩展名来判断文件类型,但其实不太靠谱,因为可以通过修改扩展名来伪装文件类型.其实我们可以通过读取文件信息来识别,比如 PHP扩展中提供了类似 exif_imagetype 这样的函 ...
- C#判断文件及文件夹是否存在并创建(C#判断文件夹存在)
protected void Button1_Click(object sender, EventArgs e) { if (Directory.Exists(Server.MapPath(" ...
- Asp.Net判断文件是否存在
在上传文件时经常要判断文件夹是否存在,如果存在就上传文件,否则新建文件夹再上传文件 判断语句为 if (System.IO.Directory.Exists(Server.MapPath(" ...
随机推荐
- dij算法为什么不能处理负权,以及dij算法变种
对于上面那张图,是可以用dij算法求解出正确答案,但那只是巧合而已. 我们再看看下面这张图. dist[4] 是不会被正确计算的. 因为dij算法认为从队列出来的点,(假设为u)肯定是已经求出最短路的 ...
- 漫游Kafka介绍章节简介
原文地址:http://blog.csdn.net/honglei915/article/details/37564521 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息 ...
- vim ---- 自己主动的按钮indent该命令
当使用vim一段代码的副本到一个程序时,有,经常indent会有一些问题. . 下面的这个强大的命令,使您可以一键码具有很好的格式. gg=G 样品:
- Robotium原则的实施源代码分析
从前面的章节<Robotium源代码分析之Instrumentation进阶>中我们了解到了Robotium所基于的Instrumentation的一些进阶基础.比方它注入事件的原理等,但 ...
- JS伪3D 图形透视效果
本文地址:http://blog.csdn.net/ei__nino/article/details/9243331 本来是想实现多个圆片的透视效果,对于运算都是测试得出的.不是严谨的数学计算. 使用 ...
- 排列组合相关算法 python
获取指定长度得全部序列 通过事件来表述这个序列,即n重伯努利实验(二项分布)的全部可能结果.比如时间a表示为: a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 假设每次实验为从 ...
- Gradle构建多模块项目(转)
废话不多说,直接进入主题. 1. 创建项目 首先创建项目,名称为 test: mkdir test && cd test gradle init 这时候的项目结构如下: ➜ test ...
- 每天进步一点点之SQL 获取表中某个时间字段离当前时间最近的几条
实际中用到的SQL: select * from (select top 3 Id, case when startSignup>GETDATE() then '敬请期待' when (star ...
- WCF基金会
概念: Windows CommunicationFoundation(WCF)是由微软发展的一组数据通信的应用程序开发接口.能够翻译为Windows通讯接口.它是.NET框架的一部分. 简单地说,W ...
- 分布式服务框架 dubbo/dubbox 入门示例(转)
dubbo是一个分布式的服务架构,可直接用于生产环境作为SOA服务框架. 官网首页:http://dubbo.io/ ,官方用户指南 http://dubbo.io/User+Guide-zh.htm ...