NSIS:使用WinVer.nsh头文件判断操作系统版本
admin | nsis | 2014-10-27
AtLeastWin<version> 检测是否高于指定版本
IsWin<version> 检测指定版本(唯一限定版本)
AtMostWin<version> 检测是否低于指定版本
<version> 允许的值:
95、98、ME、NT4、2000、XP、2003、Vista、2008、7、2008R2
示例1:
C++
name "使用头文件判断操作系统"
outfile '使用头文件判断操作... [阅读全文]
NSIS脚本:更改壁纸
admin | nsis | 2014-10-27
我们在制作主题安装包的时候,经常要进行自动更改壁纸的操作,其实用NSIS实现这一点非常简单。示例代码如下:
C++
Name "更改壁纸"
OutFile "更改壁纸.exe"
Caption "更改壁纸"
SetCompressor /FINAL /SOLID lzma
!include UsefulLib.nsh
page instfiles
Var HWND
Section
${GetWallpaper} "$r0" ;获得当前壁纸路径
${... [阅读全文]
NSIS皮肤插件
admin | nsis | 2014-10-27
[有一个更好的皮肤,大家不妨试一下。http://www.flighty.cn/html/bushu/20110413_118.html ]对于一般的安装不推荐使用皮肤,因为此插件的最大缺点是容量大了,单单个DLL就4.02MB,而且还要附加.skf作为插件调用的皮肤!假如安装包大小过500MB或以上的使用也不错,至少能漂亮一些!压缩包内有几个皮肤以及插件与说明,还有示例脚本,一看则明!
... [阅读全文]
NSIS:在注册表中记录安装路径以便重装或升级时读取
admin | nsis | 2014-10-27
在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬。第1步:在“安装目录选择页面”前面加入以下代码:
C++
!define MUI_PAGE_CUSTOMFUNCTION_show Pageshow
1
!define MUI_PAGE_CUSTOMFUNCTION_show Pageshow
第2步:读取注册表中关于安装路径... [阅读全文]
NSIS:禁止多次安装实例
admin | nsis | 2014-10-27
为了防止用户重复安装软件,我们可以加入以下的判断来进行限制。第一步:在安装脚本中,将是否已安装的标记Installed写入注册表中:
C++
Section -Post
WriteRegDword HKLM "${PRODUCT_DIR_REGKEY}" "Installed" 1
SectionEnd
123
Section -Post WriteRegDword HKLM "${PRO... [阅读全文]
NSIS:强制结束软件进程
admin | nsis | 2014-10-27
有时候,我们选择卸载软件后发现安装目录中的主文件依然存在,不是我们卸载代码写的不对,而是卸载的时候软件根本就没有关闭!
在卸载前加上下面这个宏可以在一定程度上免除上述的尴尬,不信,你就试试!
轻狂注: 本宏可用于删除程序前使用!判断用户的程序是否仍在运行,如果运行,就将其进程结束,再删除程序。
代码如下:
C++
... [阅读全文]
NSIS:禁止选择安装路径和编辑安装目录
admin | nsis | 2014-10-27
如果你想在安装包中禁止用户选择安装路径和编辑安装目录,有两种方式。
第一种:注释或删除安装目录选择页面
C++
;!insertmacro MUI_PAGE_DIRECTORY
1
;!insertmacro MUI_PAGE_DIRECTORY
直接没有安装目录选择页面,用户当然无法选择啦!
第二种:在安装目录选择... [阅读全文]
NSIS:使用PassDialog插件实现密码安装(卸载)功能
admin | nsis | 2014-10-27
有时,出于特殊的需求,我们要给安装或卸载程序加一个密码,只有输入了正确的密码才可以继续。比如:
下面我们使用插件来实现安装密码:
1、设定字体及大小
C++
;www.flighty.cn
SetFont "tahoma" 8
12
;www.flighty.cnSetFont "tahoma" 8
2、加载插件(NSIS... [阅读全文]
NSIS:制作软件升级安装包
admin | nsis | 2014-10-27
相信不是每个人写的软件都只发布一次就可以了,肯定要有修改和维护的情况发生。在这种情况下,您可能就需要一个软件的升级安装包了。
现在,我们就来一步步把这个安装包做出来。
前提:用户已经使用我们的完整安装包安装过了,且已经在注册表中记录了安装路径。
C++
;在注册表中写入安装路径
WriteRegStr HKCU "Software\... [阅读全文]
NSIS:实现程序窗口逐渐透明的渐入渐出效果
admin | nsis | 2014-10-27
需要修改版的插件(支持timer功能):
MUI:InstallOptions.dll
MUI2:nsDialogs.dll
以及system插件,(受api限制)只能运行于2k或者更高的平台之上。
轻狂说明:
请在相应目录下建立transparent.ini文件。
C++
/*
<a href="http://www.flighty.cn" target="_blank">www.flighty.cn</a>
*/
!AddPluginDir .\
;--... [阅读全文]