原文 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. 一旦ORA-28000: the account is locked用户锁定故障排除

    今天我的同事们反映的问题,测试库的变化password,并改变相关的应用程序中使用password后,其中一个仍然会出现在帐户被锁定,报告ORA-28000: the account is locke ...

  2. ASP.NET——验证码的制作

            我们在登陆站点,发表博客或者提交评论的时候,常常会遇到填写验证码这一项,当时感觉挺奇妙的样子,最终在牛腩新闻公布系统里接触到了,在这里小小的总结下.         用到的东东有三个: ...

  3. WPF DataGrid_SelectChanged获取单元内容

    private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)        {          ...

  4. jQuery Ajax: $.post请求示例

    jQuery Ajax: $.post请求示例 leyangjun.html页面 <html> <head> <meta http-equiv="Content ...

  5. 疯狂Java学习笔记(84)----------大约 Java 对象序列化,你不知道 5 事

    几年前,.当一个软件团队一起用 Java 书面申请.我认识比一般程序猿多知道一点关于 Java 对象序列化的知识所带来的优点. 关于本系列 您认为自己懂 Java 编程?其实,大多数程序猿对于 Jav ...

  6. 程序设计实践C++ 程序代写(QQ 928900200)

    程序设计实践 采用C++作为编程语言. 设计开发一个“学生信息”管理系统.该系统模拟数据库管理系统(DBMS)的功能,为用户提供数据存储.查找的能力. 该系统存储的学生信息包括: 学号.姓名.性别.语 ...

  7. Ubuntu 设备 spark

    周围环境: Unbunt 12.04 Hadoop 2.2.x Sprak 0.9 Scala scala-2.9.0.final.tgz 一步 1. 下载 scala 2. 解压scala,然后改动 ...

  8. 【游戏】2048及各种变种大集合汇总【更新ing~新版Floppy2048 - 恒星聚变版 - 恶搞改数据】

    threes - 鼻祖 手机版:http://asherv.com/threes/ js版:http://threesjs.com/ 2048 - 原版 http://gabrielecirulli. ...

  9. BootStrap布局案例

    BootStrap布局 bootstrap 2.3版与3.0版的使用区别 http://www.weste.net/2013/8-20/93261.html 以一个博客系统的首页,来介绍如何布局 1, ...

  10. C# WinForm多线程(三)Control.Invoke

    下面我们就把在Windows Form软件中使用Invoke时的多线程要注意的问题给大家做一个介绍. 首先,什么样的操作需要考虑使用多线程?总的一条就是,负责与用户交互的线程(以下简称为UI线程)应该 ...