nsis把nw.js整个项目编译成一个exe包,可以实现分发给客户时,可以给用户更好的体验,但是隐藏着一个坑。也可以说是nw.js本身存在的坑。由于nw.js是基于node.js和chromium的应用程序运行环境的。如果项目用到localstorage来实现部分缓存和自动登录功能实现,则作为浏览器的内核渲染页面,则用户安装应用后 必然会生成本地缓存。导致用户下次重装应用时,还是使用上一个安装包的缓存数据,因此需要在上一个应用卸载应用时或者安装新的应用时 把之前的用户缓存文件删除掉。因此需要nsis命令删除用户目录下的缓存删除。  RMDir  /r "$PROFILE\AppData\Local\demoproject"   RMDir删除文件夹,/r表示在当前文件夹路径下递归查找,而不是当前文件夹路径下文件为空时才能删除文件。$PROFILE表示当前用户目录下 ,AppData\Local\demoproject就是当前用户目录下缓存demoproject应用的缓存数据。详细nsi编译文件命令如下:

···sho
Section ""
  
   ;清空上次安装的用户缓存信息
   RMDir  /r "$PROFILE\AppData\Local\demoproject"

;将输出路径设置为安装目录
  SetOutPath "$INSTDIR"
  
  ;ADD YOUR OWN FILES HERE...
  File /r "demoproject"

;创建桌面快捷方式
  CreateShortCut "$DESKTOP\demoproject.lnk" "$INSTDIR\demoproject\demoproject.exe" "" "$INSTDIR\demopr

nw.js项目用nsis打包成一个exe文件的坑相关推荐

  1. 用py2exe打包成一个exe文件

    一.简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2ex ...

  2. 使用vs2019和pyinstaller将py文件打包成一个exe文件(含图标),pyinstaller安装失败解决方案

    1.什么是pyinstaller 参见这篇文章: https://gwj1314.blog.csdn.net/article/details/79775764 PyInstaller是一款可以把py解 ...

  3. 打包SWF和HTML,将多个swf打包成一个EXE文件

    在制做一个flash时常常有文件种需导入其它swf文件的情况,这种情况使用flash player打包成EXE文件时,无法将附带的swf文件打进去,这给文件的复制带来了不便.如何将多个swf文件打成一 ...

  4. PyInstall的安装,使用,以及最后打包成一个exe文件

    首先PyInstall安装 pip3 install pyinstaller -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirro ...

  5. 如何将cocos2d-x项目打包成一个.exe

    今天在CSDN上看到了一片有趣的博文,没错,他还是关于cocos2d-x的,但不同之处是,这会正对的不是ios又或安卓,而是我们最熟悉的windows,他教会了我如何将一个cocos2d-x编译后产生 ...

  6. Python selenium —— 将你的自动化脚本打包成一个exe

    写好了Python selenium脚本,到其他机器上运行,还得要在其他机器上也装一套Python的环境,尤其在你用了一些第三方库的时候,甚至还要顾及操作系统是32位还是64位,是不是很坑,如果能打成 ...

  7. winform把所有dll打包成一个exe

    大家都知道做winform开发,是可以利用visual studio进行打包的,但是这种打包的方式需要双击安装,那么有没有什么方法,可以把winform程序打包成绿色版呢?当然,这里的"绿色 ...

  8. python打包成二进制文件_pyinstall python文件打包成二进制exe文件

    pycharm + python3 + win7 1 pip install pyinstall  (官网) 2 准备 .py 文件 3 具体例子 from PyQt5.QtWidgets impor ...

  9. 多个exe打包成一个exe安装程序,安装后可一键启动多个服务

    博客帮助我解决了很多问题,于是想把自己遇到的问题记录下来希望对他人有所帮助.有些帖子写得很是简单,一旦忽略了某个关键细节,就可能看不懂了,就要花费更多的时间才能解决问题或者另寻良方,所以我自己尽可能写 ...

最新文章

  1. 使用 electron-updater 自动更新应用
  2. 线上办公室 x 音视频会议最佳实践
  3. 如何为项目配置网关并且测试、实战
  4. matlab求一个方程组的系数矩阵,【求解】matlab求解非齐次方程组,但是系数矩阵是复数,求帮忙...
  5. JavaScript实现isPowerOfTwo算法(附完整源码)
  6. Vim 的高级用法配置
  7. js aop 拦载实现
  8. css二级菜单会然下面遮住_JavaScript实现下拉二级菜单详解
  9. vs code linux opencv,ubuntu+vscode 测试运行opencv
  10. ubuntu下安装django
  11. sqlserver 全文索引
  12. java细节_java细节知识
  13. java time 赋予时间_java.time.OffsetTime
  14. git使用.gitignore 忽略文件和忽略已经提交过的文件
  15. 50个常用mysql语句_50个常用的sql语句
  16. Cisco1721的简单配置
  17. display:inline-block 间隙
  18. 栈的应用1——超级计算器(中缀与后缀表达式)C语言
  19. Spring MVC - 拦截器实现 和 用户登陆例子
  20. Hadoop集群报错解决及hadoop fs 的常用操作

热门文章

  1. 如何解决APP抓包问题【网络安全】
  2. JMeter——请求参数类型
  3. tortoisegitpull 并合_git学习笔记
  4. 卸载磁盘报错device is busy
  5. 我今天就带大家了解一下共享WiFi项目,为什么如此的受大家喜爱,以及它闪亮的地方在哪.
  6. 总结一些ES不常用的filter
  7. void* 指针赋值
  8. Flink之Sink
  9. 从键盘输入一个n,计算1到n的和。
  10. pandas 数据格式转换