原文 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. hash表、hash算法

    概念: 散列表(Hash table.也叫哈希表),是依据关键码值(Key value)而直接进行訪问的数据结构. 也就是说,它通过把关键码值映射到表中一个位置来訪问记录,以加快查找的速度.这个映射函 ...

  2. SqlServer保留几位小数的两种做法

    SqlServer保留几位小数的两种做法   数据库里的 float momey 类型,都会精确到多位小数.但有时候 我们不需要那么精确,例如,只精确到两位有效数字. 解决: 1. 使用 Round( ...

  3. mysql多实例的配置(转)

    1.创建多实例的目录: mkdir -p /data/mysql/mysql_3307/{data,tmp,logs} mkdir -p /data/mysql/mysql_3308/{data,tm ...

  4. 经典排序算法 - 归并排序Merge sort

    经典排序算法 - 归并排序Merge sort 原理,把原始数组分成若干子数组,对每个子数组进行排序, 继续把子数组与子数组合并,合并后仍然有序,直到所有合并完,形成有序的数组 举例 无序数组[6 2 ...

  5. arcmap坐标点生成线和面(更正版)

    一:本博客的脉络 (1 )做了例如以下更正:之前在网上搜到的结果是:arcmap坐标点生成线和面 ------ 注意该功能在ArcGIS10中没有了,当时自己也没有多想就转载了,再此做一下更正或者叫做 ...

  6. 猫学习IOS(三)UI纯代码UI——图片浏览器

    猫分享.必须精品 看看效果 主要实现相似看新闻的一个界面,不用拖拽,纯代码手工写. 首先分析app能够非常easy知道他这里有两个UILabel一个UIImageView还有两个UIButton 定义 ...

  7. proxy pattern 代理模式

    常用的几种代理模式简要说明如下:  (1) 远程代理(Remote Proxy):为一个位于不同的地址空间的对象提供一个本地的代理对象,这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中,远 ...

  8. IIS6,IIS7中查看w3wp进程

    当我们服务器创建了很多应用程序池,然后某个w3wp.exe进程占用CPU和内存过高,我们怎么查找这个w3wp.exe进程属于哪一个网站呢.其实微软为我们提供了很好的查看工具: 首先打开windows任 ...

  9. 【原创】shadowebdict开发日记:基于linux的简明英汉字典(三)

    全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...

  10. C#读书

    C#读书雷达   大家都知道,ThoughtWorks的技术雷达每年都会发布两到三次,它不但是业界技术趋势的标杆,更提供了一种卓有成效的方法论,即打造自己的技术雷达.在这种思想的驱动下,我们诞生了自己 ...