首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NSIS 打包脚本基础

SubSection [/e] Caption [subsection_name index output] ;修饰符/e用于该子区段的所有区段是否默认展开。...除了用户自定义的变量外,nsi脚本中定义了寄存器变量$0~$9,$R0~$R9用于参数传递,以及系统变量用于特定用途,这些变量主要有: $INSTDIR 用户定义的解压路径。...常用于在你想调用一个在 NSIS 目录下的资源时,例如:图标、界面…… $WINDIR Windows 目录(通常为 C:\windows 或 C:\winnt 但在运行时会检测) $SYSDIR...例:在默认Program Files目录下创建一个Temp目录 CreateDirectory "$SMPROGRAMS\Temp" RMDir 作用:删除目录 例: 删除Resources及其子目录...RMDir /r $INSTDIR\Resources SetOutPath 作用:设置输出路径($OUTDIR)且当路径不存在时创建(需要时会递归创建)。

5K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    NSIS 打包 Electron 项目的注意事项(拖拽、权限、兼容性等)

    我自己本人不做 Electron 的开发,但有一位合作伙伴在使用 NSIS 打包 Electron 应用的时候遇到了一些问题,主要问题有以下几个,先记录下来,然后追个击破。...安装或卸载前结束应用 需要两个插件,一个是 KillProcDLL.dll,另一个是 FindProcDLL.dll,这两个插件均可以从 NSIS 官网下载。...$\r$\n$\r$\n点击 “确定” 强制关闭${PRODUCT_NAME},继续安装。$\r$\n点击 “取消” 退出安装程序。"...IDYES +2 Abort #检测程序是否运行 FindProcDLL::FindProc "avic.exe" Pop $R0 IntCmp $R0 1 0 no_run KillProcDLL...在初始化代码中加如下代码,让安装包使用普通用户权限: RequestExecutionLevel user 当安装包没有管理员权限后,你安装到 C:\Program Files 目录就会被拒绝,这时你可以参考想

    1.6K20

    NSIS 打包 Electron 生成exe安装包

    没办法解决 在这里给出一个解决办法 安装程序检测360是否运行 如果在运行就禁止安装 其中使用到一个dll插件 (FindProcDLL.dll) 官方下载地址:http://nsis.sourceforge.net...下载完毕之后 放到NSIS目录下的 VNISEdit\Plugins 目录中 如果不知道目录 那就在桌面 右击VNISEdit 编译环境 选择打开所在目录 就可以看到了 在脚本最后加一句 编译完成后会后些方法...FindProcDLL::FindProc "360tray.exe" Pop $R0 IntCmp $R0 1 0 no_run MessageBox MB_ICONSTOP "安装程序检测到...Quit no_run: FunctionEnd 由于我电脑没有装360 所以我使用qq 来做演示 # 检测qq是否在运行 Function .onInit FindProcDLL::FindProc..."QQ.exe" Pop $R0 IntCmp $R0 1 0 no_run MessageBox MB_ICONSTOP "安装程序检测到qq流氓软件正在运行,请退出程序后重试!"

    2.1K31

    将独立的 Python 网络应用程序分发给非技术用户

    该应用程序将在托管的网站上运行,但我们也希望用户能够下载一个自包含的应用程序,以便他们可以在本地安装,以获得更好的性能或他们根本无法在教室中使用互联网连接。...我们不担心源代码的安全性(我们的应用程序将是开源的,我们将销售与之匹配的内容),我们只需要非技术 Windows 用户能够下载并使用我们的应用程序而不会出现任何问题。...NSIS 可以做到这一点吗?例如,NSIS 可以检查当前安装的 Python 副本吗?有没有更好的方法来做到这一点——是否有方便的框架可以让我们将代码放入一个文件夹并将其捆绑起来以制作安装程序?2....解决方案方法一使用 NSIS 是一个好主意,但我们建议使用诸如 pyinstaller(我们个人最喜欢的,其他选择是 bb_freeze 和 py2exe)这样的“打包器”来在使用 NSIS 之前创建...这样做可以获得的主要好处是:下载量更小,因为您不会捆绑整个 Python 标准库和应用程序不需要的其他东西,而且您还可以获得一个 exe 文件来启动!

    9910

    常用软件打包类型及静默安装参数(nsis|msi|InstallShield|Inno)

    今天搞了一个装机软件,可以导入第三方软件,在导入的时候提示输入静默参数,于是我就了解了一些,什么是静默参数。 做装机的朋友应该经常需要安装一些环境库和常用软件,一个一个的安装就非常麻烦。...在命令行窗口中使用 -R 参数(大小写敏感)运行安装程序。 例如: Setup.exe -R 2、接着会显示常见的安装界面,并且显示一些选项,例如要安装的目录等。.../u 运行升级向导,检查是否有联机升级 /d compvar=value 在企业版中定义单个编译器变量。.../S 无提示模式,无用户选择的自动模式 /R 回滚模式,选择卸载时回滚的选 /U 类似自动模式,但给出除了自定义/自动标题窗口之外的所有选项,标题可以在命令行。...很多用NSIS打包的程序在安装的时候都有类似的窗口,例如 Winamp 和 CDex 。

    16K23

    【linux命令讲解大全】035.文件删除命令:rm 和 rmdir 的用法详解

    所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。...参数 文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。...实例 交互式删除当前目录下的文件test和example rm -i test example 删除当前目录下除隐含文件外的所有文件和子目录 rm -r * 应注意,这样做是非常危险的!...虽然还可以用带有-r选项的rm命令递归删除一个目录中的所有文件和该目录本身,但是这样做存在很大的危险性。...实例 将工作目录下,名为www的子目录删除: rmdir www 在工作目录下的www目录中,删除名为Test的子目录。若Test删除后,www目录成为空目录,则www亦予删除。

    78510

    linux基础篇01-测试常见linux命令集合二

    ,要求用户确认是否覆盖 -r 递归复制,用于复制目录 -u 源文件与目标文件存在差异才会复制 1)将a文件复制后并重命名为b或将a复制到b中:cp a b ①若目标文件/目录b不存在,则表示将a复制后并重命名为...当前目录/文件最好加上./ 07:scp scp [参数] [源文件] [用户名@IP:/目标路径] 说明:linux系统下基于ssh登陆进行安全的远程文件拷贝命令 参数: -r 递归复制整个目录 -v...详细方式显示输出 1)将当前操作的服务器文件拷贝到远程服务器(在10.0.0.5服务器中操作):scp -r test root@10.0.0.223:/root/ 2)将远程服务器文件拷贝到当前操作的服务器...(在10.0.0.223服务器中操作):scp -r anxin@10.0.0.5:/home/anxin/isTester/ /root/ [jboss@VM_10_91_centos ~]$ scp...rmdir [参数] [路径名或文件名] 说明:删除空的目录 参数: -p 当子目录被删除后使它也成为空目录的话,则顺便一并删除 1)删除一个空文件夹:rmdir a 2)删除A文件夹下的B文件夹:rmdir

    85410

    electron 踩坑总结

    主进程:承担应用的生命周期(包括启动,退出,准备,正在切换到后台,正在切换到前台等,还负责与原生操作系统 API 通信) 渲染进程:做 web 页面的 ui,渲染进程之间独立在各自的单线程,渲染进程之间相互隔离...启动后 loading 如果使用了 Vue 框架,在 Vue 初始化之前窗口虽然出现了,但是内容时空白的,可以在 Vue 实例 #app 里写一个 loading, Vue 加载完后会覆盖掉。..." viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" display="block"> r=... 阻止窗口关闭 可以在关闭前一些事件里做拦截,比如:onbeforeunload 等,详见 实例事件。.../ ▸ nsis-resources-3.4.1/ ▸ nsis-3.0.4.1/ ▸ winCodeSign/ ▸ winCodeSign-2.6.0/ ▸ wine/ ▸ wine-

    2.4K40

    你应该这个姿势学习PHP(4)

    fwrite($handle,content) 向文件中写入文字 3)flcose($path) 关闭文件 4)file_put_contents('file',content) 向文件中写入内容 应用场景:做文件的缓存以及做网站的日志记录等...应用场景,我们做图片上传的时候,判断目录是否存在,如果不存在就创建 for example: $handle = 'uploads/test'; if(!...2)is_file() 是否是一个文件 应用场景:我们在循环遍历一个目录的时候,可以判断是否是目录,如果是将递归遍历 5、copy() move_uploaded_file() rename...() 1)mkdir($path,0777,true) 创建文件 2)unlink($file) 删除文件 3)rmdir() 删除目录 11、feof() fseek() rewind()...ftell() 1)feof() 测试文件是否到了文件文件结束的位置 2)fsweek() 在文件中指针中定位 3)rewind() 倒回文件指针的位置 4)ftell() 返回文件读写的位置

    1.1K150
    领券