1.首先下载nw.js的SDK:

https://nwjs.org.cn/download.html

2.SDK目录下新建myapp文件夹:

3.myapp文件夹内新建package.json文件:

4.package.json内容如下:

5.在myapp文件夹下执行 npm install 安装依赖,注意此时需要将C++依赖编译成node依赖:

1.首先要保证电脑已安装python2.7 和 VS

2.还要全局安装 nw-gyp

   npm install -g nw-gyp

 

3.然后执行以下命令,设置各个环境变量目录等,让依赖按vs2015编译

set PYTHON=C:\Users\NALA\.windows-build-tools\python27\python.exe
set npm_config_target=0.31.4
set npm_config_arch=x64
set npm_config_runtime=node-webkit
set npm_config_build_from_source=true
set npm_config_node_gyp=C:\Users\NALA\AppData\Roaming\npm\node_modules\nw-gyp\bin\nw-gyp.js
 
npm install --msvs_version=2015 sp-printer

(sp-printer模块 是我写的打印机组件,哈哈哈)

6.在myapp文件夹下将所有文件打包: myapp.zip

7.将myapp.zip剪切到SDK文件夹根目录,cmd cd到根目录下,执行命令:

copy /b nw.exe+myapp.zip mzt.exe 

打包成mzt.exe可执行文件

8.确保已安装Inno Setup 软件,InnoSetup是一款Windows免费的安装制作软件,可以将我们整个程序制作成一个安装程序。

  • 打开Inno Setup,新建一个脚本向导:

  • 填写相关信息后,继续下一步:

  • 到了这一步,非常要注意:
  • 可执行文件,选择SDK文件夹内的mzt.exe

  • 其他应用程序文件,选择添加文件,

1.先全选sdk内所有文件;

2.然后用ctrl键+鼠标左键,点选来移除:文件夹、mzt.exe、nw.exe(这些文件不需导入),最后点击打开,导入这些文件。

3. 最后点击添加目录,刚才把文件夹移除了,现在把文件夹导入,因为有区别,所以分开操作。

4.点击“是”,包含子目录。

5.点击选择刚导入的文件夹,再点击编辑,在目标子目录中,输入和文件夹一样的名称,这是确保生成的安装程序,在用户安装时候把文件夹内容正确安装在这些目标子目录下,否则是默认安装在安装程序的根目录下。

6.重复3~5的操作,将SDK内其他的文件夹都导入进来,并设置好目标子目录。

  • 文件夹都导入后,点击下一步

  • 这步是配置安装输出目录及安装程序信息,图标可以自己找软件做一个。安装密码一般不需要。

  • 点击完成,脚本向导配置结束。

  • 最后显示的配置内容,其他的信息参数都可以再次修改,修改后记得点保存

  • 点击构建,编译,开始生成安装程序了

  • 稍等一会,编译完成,打开安装程序输出目录,发现安装程序已经生成了。

9.点击安装体验一下吧,至此构建任务全部结束了!

最新文章

  1. Sublime中Markdown的安装与使用
  2. struts2简单数据验证
  3. Caffe学习系列(3):视觉层(Vision Layers)及参数
  4. UVA 12901 Refraction 数学
  5. js运动 缓冲运动
  6. Oracle基础 数据泵导出/导入Expdp/impdp(转)
  7. 如何把iOS代码编译为Android应用
  8. IIS 服务器 支持.apk文件的下载
  9. 【学习笔记Part 1 ● Linux】
  10. 基本环境安装: Centos7+Java+Hadoop+Spark+HBase+ES+Azkaban
  11. Go语言公开或未公开的标识符
  12. TortoiseGit安装使用简单教程
  13. 如何删除GitHub或者GitLab 上的文件夹
  14. Mahout源码目录说明
  15. (转)PlayerPrefs在Windows下存到哪里去了?
  16. Nginx 504 Gateway Time-out问题解决
  17. 基于Python的接口自动化测试框架
  18. JQuery Mobile - 为什么绑定事件后会被多次执行?
  19. springboot设置静态资源不拦截的方法
  20. Linux Shell常用技巧(六)

热门文章

  1. Clojure:解决korma中mysql utf8的问题
  2. HDU 5393
  3. cannot find -l****问题的解决的方法
  4. silverlight学习笔记——新手对silverlight的认识(1)
  5. SQL数据库问题 解释一下下面的代码 sql 存储过程学习
  6. 操作系统-虚拟机-百科:VM
  7. git的使用(转)
  8. IntelliJ IDEA/PyCharm/WebStorm 2019.1.2 注册码激活
  9. Win10重置 系统诸多设置或者菜单点击无效或者异常信息回复办法
  10. 跳出双重for循环的案例__________跳出了,则不再执行标签ok下的for循环代码