NSIS安装包制做软件的常用小技巧

用NSIS软件制作安装包时总会用到那么几个常用的代码,正因为常用到,自己脑袋又不好记不住,所以就一一记录下来,时间一长自然也就成好多条了,贴出来与大家分享一下吧。

1.如何运行一个批处理文件 .bat
注:xiaojian.bat为你的文件名
ExecWait "xiaojian.bat"
不显示黑框框
nsExec::Exec "xiaojian.bat"

2.如何运行一个VBS文件 .vbs
注:xiaojian.vbs为你的文件名
ExecWait '"$SYSDIR\cscript.exe" "xiaojian.vbs"'
不显示黑框框
nsExec::Exec '"$SYSDIR\cscript.exe" "xiaojian.vbs"'

3.如何运行一个注册表文件 .reg
注:xiaojian.reg为你的文件名
ExecWait "regedit.exe /s xiaojian.reg"
另外直接写入注册表
WriteRegStr
WriteRegExpandStr
WriteRegDWORD
WriteRegBin
比如:WriteRegDWORD HKCU "Software\ES-Computing\xiaojian\Install" "eula" '0x00000001"
请看NSIS详细说明

4.如何运行一个安装文件 .inf
注:xiaojian.inf 为你的文件名
ExecWait "RunDll32 advpack.dll,LaunchINFSection xiaojian.inf,DefaultInstall"

5.如何运行一个安装文件 .msi
注:xiaojian.msi为你的文件名
Execwait `msiexec /qn /i "xiaojian.msi"`

6.关联文件图标后,图标没变化。
 刷新图标
'System::Call shell32.dll::SHChangeNotify(l, l, i, i) v (0x08000000, 0, 0, 0)'

7.安装窗体变窄了。
SetFont /LANG=2052 "tahoma" 8

XP特殊文件夹的位置:
HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"

安装硬盘上的字体(代码插入Function,Section内):
StrCpy $0 "D:\Fonts\Chs\经典空趣体繁.ttf"
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" "经典空趣体繁(TrueType)" "$0"
System::Call "GDI32::AddFontResource(t) i ('$0') .s"

在经典模式下使用中文界面(代码插入文件头):
LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"
LangString Name 2052 "Simplified Chinese"

 

#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
;卸载程序之前
Function un.onInit
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
  Abort
;运行批处理文件
ExecShell Open "$INSTDIR\rege\UnregUAC.bat" "" SW_HIDE
;ExecShell Open "sdbinst /u *.sdb" "" SW_HIDE
FunctionEnd

Function un.onUninstSuccess
  HideWindow
  MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从你的计算机移除。"
FunctionEnd

;安装结束后,运行批处理文件
Function .onInstSuccess
;ExecShell Open "$INSTDIR\rege\RegUAC.bat" "" SW_HIDE
;ExecShell Open "sdbinst /q *.sdb" "" SW_HIDE
;ExecWait "sdbinst /q *.sdb"
;ExecShell Open 'cmd' '/c "sdbinst /q *.sdb"' SW_HIDE
ExecShell Open 'cmd' '/k "sdbinst /q *.sdb"' SW_SHOWNORMAL
functionend

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
轻狂志的这个版本被称为最好的NSIS软件打包工具,非常值得拥有。其他版本可以无视了。 NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System) 的缩写,它是一个Open Source的Windows系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。NSIS通过它的脚本语言来描述安装程序的行为和逻辑的,因为它基于脚本文件,所以你可以完全控制你的安装程序的每个部分。它的脚本语言支持变量、函数、字串处理,就像是一个普通的程序语言——但它是为安装程序这类应用所设计的。 在此对蓝色网际、贾可、gfm688、X-Star、Zhfi、Ansifa、水晶石、星空不寂寞、似水年华等大神为NSIS在国内的普及所作出的贡献致以崇高的敬意! 特点: 开销小,一个完整功能的安装程序仅需要34k的额外开销。 支持大多数Windows平台,包括:Windows 9.x、Windows NT、Windows 2000、Windows XP、Windows 2003、Windows 7、Windows 10。 支持三大压缩算法: Zlig、BZips、LZMA。 支持脚本。 支持多语言。 支持安装界面定制。 提供可扩展的插件接口。 支持网络安装、补丁。 支持无人值守的安装模式。 此外,NSIS的license允许任何用途免费使用。 增强版特点: 此版本主要进行了以下增强: 1、集成了网络上能够收集到的大部分插件及应用示例; 2、集成了 VNISEdit v2.03(.nsi默认)和 NotePad2 两个脚本编辑器(.nsi右键); 3、集成了 NSISDialogDesigner自定义页面设计工具; 4、集成了 NSIS用户手册和 NSIS图文教程集锦。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值