转载自:http://www.flighty.cn/html/bushu/20140704_239.html   现在我们想实现这样的功能: 如果目标机器存在D盘,那么就安装程序到D盘,否则安装在系统盘. 后来又加了一个判断,即注册表中如果存在安装路径键值,则使用其键值作为安装路径.   思路: 通过检查D盘有没有磁盘空间来进行判断,如果D盘不存在,或者D盘是光驱,得到的磁盘空间必定是null.   示例: !include "MUI2.nsh" !include "File…
原文 NSIS:在注册表中记录安装路径以便重装或升级时读取 在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬. 第1步:在“安装目录选择页面”前面加入以下代码: 1 !define MUI_PAGE_CUSTOMFUNCTION_show Pageshow 第2步:读取注册表中关于安装路径的键值,如果没有,就使用默认路径. 1 InstallDirRegKey HKCU “Software\eBook Workshop” “” 第3步:在主区段中把安装路径写入注册表.…
在nsis制作自定义界面中,目录选择页面个人感觉最为繁琐,因为该界面不仅涉及到界面控件的创建,还要涉及到控件消息传递和状态改变时的回调函数通告. 迅雷界面为例: 其中安装目录中的8盘符,在本机中并不存在,为避免用户安装出错,在控件的通告函数中禁用下一步,等待用户修改为可用磁盘. Function OnChange ${NSD_GetText} $INST_SDAT_LOC $6 ;获取控件文本状态,这里是指安装目录框的文字,也就是安装路径. StrCpy $INSTDIR $6 ;将值赋予常量…
原文 NSIS:使用PassDialog插件实现密码安装(卸载)功能 有时,出于特殊的需求,我们要给安装或卸载程序加一个密码,只有输入了正确的密码才可以继续.比如: 下面我们使用插件来实现安装密码: 1.设定字体及大小   1 ;www.flighty.cn 2 SetFont "tahoma" 8   2.加载插件(NSIS集成增强版中包含此插件及示例): 1 ReserveFile "${NSISDIR}\Plugins\nsDialogs.dll" 3.在相应…
原文 NSIS:禁止选择安装路径和编辑安装目录 如果你想在安装包中禁止用户选择安装路径和编辑安装目录,有两种方式.   第一种:注释或删除安装目录选择页面 1 ;!insertmacro MUI_PAGE_DIRECTORY 直接没有安装目录选择页面,用户当然无法选择啦!   第二种:在安装目录选择页面加函数 01 ; 安装目录选择页面 02 !define MUI_PAGE_CUSTOMFUNCTION_SHOW mulu 03 !insertmacro MUI_PAGE_DIRECTORY…
一.判断当前所在系统 let sUserAgent = navigator.userAgent;let isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");let isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (n…
原文 NSIS:制作软件升级安装包 相信不是每个人写的软件都只发布一次就可以了,肯定要有修改和维护的情况发生.在这种情况下,您可能就需要一个软件的升级安装包了.   现在,我们就来一步步把这个安装包做出来.   前提:用户已经使用我们的完整安装包安装过了,且已经在注册表中记录了安装路径.   1 ;在注册表中写入安装路径 2 WriteRegStr HKCU "Software\轻狂的软件" "" $INSTDIR   我们要实现以下功能: 1.运行时检测注册表中是…
NSIS 确实是一个不错的安装程序制作软件.新版本 2.0a7 真正实现了中文支持和支持 WinXP 的安装对话框. 不过要用它实现漂亮的安装界面和完美的安装功能就必须好好的写脚本. 而 NSIS 的脚本指令是在是太多了,有时候觉得好像又回到了学习 C 语言的年代.他丰富而起强大的功能甚至 可以编译出一些小而使用的软件(例如查找窗口句柄,然后...) 好了,不多说.我在这里着重介绍关于 NSIS 的一些使用问题以及新界面安装程序的制作过程,中间会附上一个 示例脚本. 这里只说单语言的简体中文 1…
需求:在浏览器或者app webview中打开的页面,js判断本机是否已安装搜狐新闻客户端. 一.微信 1.分享——好友/朋友圈,feed会有搜狐新闻标记,打开url后缀参数isappinstalled=0/1(本机已装app为1,反之为0) 2.微信浏览器打开之后,点击右上角二次分享——好友/朋友圈,feed无标记,打开url后缀参数isappinstalled=0(本机是否安装app都为0) 思路:可以先判断isappinstalled,==1则一定安装了.然后根据二代协议打开的时间差来判断…
一. 准备工作 下载nsis相关工具包,点击此下载 1. 安装程序:nsis-2.46-setup.exe 2. 编辑程序:cnisedit203.exe 3. 帮助文档:NSIS205帮助文档.rar 4. 第三方库:ExecCmd.dll.AddPath.nsh.WriteEnvStr.nsh 二. 安装nsis-2.4.6-setup.exe 1. 安装完后,右键nsi格式的文件,如果没有出现Compile NSIS Script和Compile NSIS Script(Choose Co…