NSIS是一个打包工具,这个不做介绍了。
现在有个需求是有一个文件要外发给客户,需要控制文件的阅读次数和阅读时间。还不能在客户机器上安装控制软件。所有就只有把我们的文件和控制浏览器打包成一个exe程序给客户。这就用到了NSIS打包工具。我这里只是制作一个打包程序。
先贴NSIS脚本代码
; Script generated by the HM NIS Edit Script Wizard.
; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Browser"
!define PRODUCT_VERSION "1.0"
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "Browser.exe" ;输出程序名
InstallDir "$TEMP\Browser" ;安装到的程序路径 我这里是用的系统的临时路径temp
Icon "E:\邮件小助手安装文件制作目录\EmailMessageBox.ico" ;最后打包exe的图标
SilentInstall silent ;静默安装
Section "MainSection" SEC01
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "E:\DemoSource\DuilibDemo\bin\DuilibDemo.exe" ;添加文件和文件浏览器
File "E:\DemoSource\DuilibDemo\bin\123.doc"
SectionEnd
;这个是关键了
Function .onInstSuccess ;这个是安装成功后 执行的函数
ExecWait "$INSTDIR\DuilibDemo.exe" ;运行文件浏览器 并等待执行完成
Delete "$INSTDIR\DuilibDemo.exe" ;文件浏览器执行玩 就执行 程序删除操作
RMDir /r "$INSTDIR"
SetAutoClose true
FunctionEnd
; 整个过程就结束了
文件保存Browser.nsi 。
用NSIS目录里的makensis.exe Browser.nsi执行生成 Browser.exe
这就完成了整个文件的外发打包过程。
现在你可以点击运行Browser.exe。它会把里面的文件和文件浏览器先解压到系统的临时目录Temp里的Borwser文件夹里。然后执行里的文件浏览器并等待,文件浏览器关闭之后,Browser.exe有会把Temp文件夹里的Browser文件夹里的文件删除。这样就实现了文件外发的操作。
文笔不好请见谅! 我也是刚刚用NSIS打包。如有问题,可以留言告知,一起讨论学习。