NSIS使用总结
专注的流浪猫
这个作者很懒,什么都没留下…
展开
-
NSIS 解决 side-by-side configuration error
用NSIS制作的安装包,在没有安装VC运行环境的情况下,运行该安装包结束后,启动程序,可能会出现side-by-side configuration error。解决该问题的办法就是下载vc_red.cab 和vc_red.msi,双击运行vc_red.msi(实际上是安装vc_red.cab),安装完成后再运行程序则不会出现该错误。 我们也可以直接将这两个文件放进安装包中。这样运行安装原创 2013-03-23 23:29:21 · 1444 阅读 · 0 评论 -
NSIS 改变选择组件颜色
!define TVM_SETBKCOLOR 0x111D ;Window Message Background!define TVM_SETTEXTCOLOR 0x111E ;Window Message TextFindWindow $0 "#32770" "" $HWNDPARENT ;获取窗体GetDlgItem $0 $0 1032SendMessage $0 ${TV转载 2013-03-23 22:57:28 · 1741 阅读 · 0 评论 -
NSIS 如何删除VISTA系统开始菜单的快捷方式
在使用NSIS脚本写安装程序时,经常要在开始菜单创建一些应用程序或网页的快捷方式,在卸载脚本中要讲这些快捷方式删除。删除快捷方式的指令如下:Delete " $SMPROGRAMS\MyProgram\MyProgram.lnk"但是,在Vista系统下运行卸载程序时,则不能将其删除。最后终于找到原因:是运行权限不够。只有获得管理员权限,才能删除该快捷方式。下面是解决方原创 2013-03-23 17:24:48 · 1331 阅读 · 0 评论 -
NSIS 常用变量解释
$INSTDIR用户定义的解压路径。$PROGRAMFILES程序文件目录(通常为 C:\Program Files 但是运行时会检测)。$COMMONFILES公用文件目录。这是应用程序共享组件的目录(通常为 C:\Program Files\Common Files 但是运行时会检测)。$DESKTOPWindows 桌面目录(通常为 C:\windows\desk转载 2013-03-23 16:33:45 · 1251 阅读 · 0 评论 -
NSIS 创建互斥防止安装程序重复运行
Function .onInitInitPluginsDir ;创建互斥防止重复运行 System::Call 'kernel32::CreateMutexA(i 0, i 0, t "WinSnap_installer") i .r1 ?e' Pop $R0 StrCmp $R0 0 +3 MessageBox MB_OK|MB_ICONEXCLAMATIO转载 2013-03-23 23:05:07 · 2354 阅读 · 0 评论 -
NSIS ReserveFile 的使用
ReserveFile用于预先打包文件(常见的有.ini, .bmp),可方便加速(安装)释放文件。最常用于自定义页面的.ini文件。原创 2013-03-23 22:50:47 · 2808 阅读 · 0 评论 -
NSIS 常用的命令及函数
1:file [/nonfatal] [/a] ([/r] [/x 文件|通配符 [...]] (文件|通配符) [...] | /oname=输出路径\文件名 输入路径\文件名)释放文件到当前输出路径。如果使用了 /nonfatal 开关且当文件未找到时使用警告来代替错误如果使用了 /a 开关,则被添加的文件的属性将会保持如果使用了 /r 开关,匹配的文件将会在子目录里被递归转载 2013-03-23 22:26:50 · 7295 阅读 · 0 评论 -
NSIS Modern UI 教程
所谓的 Modern UI(下称 MUI) 就是一种模仿最新的 Windows 界面风格的界面系统。MUI 改变了 NSIS 脚本的编写习惯,它使用 NSIS 的宏来表达,指定 MUI 的属性需要使用宏。所以,诸如 LicenseText, Icon, CheckBitmap, InstallColors 在 MUI 中失去意义。MUI 的内置向导页面和安装程序有关的向导页面MUI转载 2013-03-23 17:05:51 · 1078 阅读 · 0 评论 -
NSIS 常用指令
nsi大致可以分为基本指令、注册表及ini操作指令、通用指令、流程控制指令、文件操作指令、卸载指令、字符串处理指令、多语言支持指令、重启指令。以下是常用的基本指令:DeleteDelete [/REBOOTOK] fileExecExec commandExecShellExecShell action command [parameters] [SW_SHOW转载 2013-03-23 16:57:46 · 2493 阅读 · 0 评论 -
NSIS 脚本的基本语法
注释单行注释用井号"#"或分号";",跨行注释用可以用c/C++中注释语法。数据类型数字数字常量可以用十进制、十六进制(0x为前缀)、八进制(0为前缀)表示,颜色用类似html的中RGB表示法,但去井号"#"。字符串字符串常量可以用引号引用,转意字符用"$\"作前缀。美元符号、常用转意字符换行、回车、制表符的nsi语法表示分别为:$$,$\n,$\r,$\t转载 2013-03-23 16:54:24 · 2491 阅读 · 0 评论 -
NSIS 脚本结构说明
NSIS脚本(下称nsi脚本)主要包含安装程序属性、页面、区段、函数。属性用来定义安装程序的行为和界面风格,这些属性大部分是编译时刻属性,即不能在运行时刻改变。页面是指安装程序的向导页面,示例:Page licensePage componentsPage directoryPage instfilesUninstPage uninstConfirmUnin转载 2013-03-23 16:49:10 · 1094 阅读 · 0 评论 -
NSIS提供的的对窗口及子控件操作的指令
NSIS提供了很多对对话框窗口及其子控件(包括:按钮,复选框,静态标签,以及树形控件等)操作的指令。利用这些指令,可以很方便的改变子控件的状态。下面举例说明:1.EnableWindow窗口句柄(HWMD)(1 | 0)对指定的窗口或控件允许或禁止鼠标和键盘输入。可用的状态为 0(禁止) 或 1(允许)。GetDlgItem $0 $HWNDPARENT 1Enab转载 2013-03-30 12:03:29 · 3128 阅读 · 1 评论 -
NSIS运行安装不同类型的文件
问:如何运行一个安装文件 .reg 答:注:your.reg为文件名 ExecWait "regedit.exe /s your.reg"问:如何运行一个安装文件 .inf 答:注:skins.inf 为文件名 ExecWait "RunDll32 advpack.dll,LaunchINFSection skins.inf,DefaultInstall" 问:如何转载 2013-03-30 14:02:03 · 1095 阅读 · 0 评论 -
NSIS 安装完毕后如何刷新文件关联
!define SHCNE_ASSOCCHANGED 0x8000000!define SHCNF_IDLIST 0System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'转载 2013-03-23 23:02:21 · 2041 阅读 · 1 评论