原文 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:使用FileFunc.nsh头文件判断文件版本的更多相关文章

  1. NSIS:使用WinVer.nsh头文件判断操作系统版本

    原文 NSIS:使用WinVer.nsh头文件判断操作系统版本 AtLeastWin<version> 检测是否高于指定版本 IsWin<version> 检测指定版本(唯一限 ...

  2. NSIS使用WinVer.nsh头文件判断操作系统版本

    NSIS使用WinVer.nsh头文件判断操作系统版本,首先请下载最新的WinVer.nsh: http://nsis.sourceforge.net/Include/WinVer.nsh(下载后置于 ...

  3. PHP取二进制文件头快速判断文件类型

    <?php /*文件扩展名说明 *7173 gif *255216 jpg *13780 png *6677 bmp *239187 txt,aspx,asp,sql *208207 xls.d ...

  4. PHP取二进制文件头快速判断文件类型的实现代码

    通过读取文件头信息来识别文件的真实类型. 一般我们都是按照文件扩展名来判断文件类型,但是这个很不靠谱,轻易就通过修改扩展名来躲避了,一般必须要读取文件信息来识别,PHP扩展中提供了类似 exif_im ...

  5. 判断文件是否存在,不存在创建文件&&判断文件夹是否存在,不存在创建文件夹

    1.判断文件是否存在,不存在创建文件 File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm"); if( ...

  6. [Go] golang创建目录写文件判断文件

    package main import ( "log" "os" ) func main() { //创建目录 os.Mkdir("test" ...

  7. [函数] PHP取二进制文件头快速判断文件类型

    一般我们都是按照文件扩展名来判断文件类型,但其实不太靠谱,因为可以通过修改扩展名来伪装文件类型.其实我们可以通过读取文件信息来识别,比如 PHP扩展中提供了类似 exif_imagetype 这样的函 ...

  8. C#判断文件及文件夹是否存在并创建(C#判断文件夹存在)

    protected void Button1_Click(object sender, EventArgs e) { if (Directory.Exists(Server.MapPath(" ...

  9. Asp.Net判断文件是否存在

    在上传文件时经常要判断文件夹是否存在,如果存在就上传文件,否则新建文件夹再上传文件 判断语句为 if (System.IO.Directory.Exists(Server.MapPath(" ...

随机推荐

  1. SecureCRT 6.7.1 注冊机 和谐 破解 补丁 方法

    之前一直在用SecureCRT 6.5.3 版本号,和谐补丁也好找,甚至中文版本号也可找到(眼下仅仅找到了SecureCRT.6.2.0) 可是换为 6.7.1 后就怎么也注冊不了了.. 没办法试了各 ...

  2. coco2d-x 基于视口的地图设计

    <pre name="code" class="plain"> 基于视口的地图设计 DionysosLai 2014-06-14 第三人称游戏,玩家 ...

  3. Oracle 阅读器-刚看完表空间回复的详细解释

    (一) 当使用一个控制文件的备份恢复,例如下面的附图.使用备份控制文件恢复位置 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGVtb25zb24=/fo ...

  4. c++宏源证券编程

    1,定义宏功能,作,func(x) = x-1?      最简单的, 假设x = 2则 #define func(x) 1 特化出来x,令 #define func_helper_2 1 #defi ...

  5. CentOS 5 安装Oracle10g

    原创作品.离 "深蓝的blog" 博客.欢迎转载.转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlon ...

  6. 【Web探索之旅】第三部分第三课:协议

    内容简介 1.第三部分第三课:协议 2.第四部分预告:Web程序员 第三部分第三课:协议 之前的课,我们学习了Client-Server模型的客户端语言和服务器语言. 客户端语言有HTML,CSS和J ...

  7. CareerCup chapter 1 Arrays and Strings

    1.Implement an algorithm to determine if a string has all unique characters What if you can not use ...

  8. C#并行编程

    C#并行编程中的Parallel.Invoke 一.基础知识 并行编程:并行编程是指软件开发的代码,它能在同一时间执行多个计算任务,提高执行效率和性能一种编程方式,属于多线程编程范畴.所以我们在设计过 ...

  9. Lua 数据库访问(转)

    本文主要为大家介绍 Lua 数据库的操作库:LuaSQL.他是开源的,支持的数据库有:ODBC, ADO, Oracle, MySQL, SQLite 和 PostgreSQL. 本文为大家介绍MyS ...

  10. 如何更改Java括号中的默认对齐

    (1)在使用程序猿非常Java当大括号的排列有感就是它的不那么整齐! 很多人不知道为什么会这样: public class HelloWorld{ pulic static void main(Str ...