下载 tclkit.exe 工具,及 sdx.kit 文件。
复制一份tclkit.exe ,命名为tclkit2.exe。
假设你的脚本文件为:app.tcl
Step1:
命令行执行
tclkit.exe sdx.kit qwrap app.tcl
执行完毕会生成一个 app.kit 文件。
Step2:
tclkit.exe sdx.kit unwrap app.kit
执行完毕会在目录下生成 app.vfs 文件夹和app.kit文件。
Step3:
如果你的 tcl 脚本中存在这样的语句:
package require xxx
请将脚本所依赖的包xxx,复制到 app.vfs\lib 下面。
如果你想改变所生成文件的图标:
将你的图标文件(*.ico)复制到 app.vfs 文件夹,并改名为 tclkit.ico。(ico是图标扩展名)
Step4:
命令行执行
tclkit.exe sdx.kit wrap app.exe -runtime tclkit2.exe
执行完毕会在目录生成 app.exe 文件,完成。
More:
调用打包后.exe文件中的资源
执行Step4之前,可以向app.vfs文件夹中加入资源(图片、文档),一起打包进去。
此时,我们的目标脚本app.tcl是位于app.vfs/lib/app-app下。
复制文件exit.png到app.vfs/lib/app-app/icons/exit.png;
复制脚本test.tcl到app.vfs/lib/app-app/test.tcl。
可以在app.tcl中这样使用这2个资源:
set img [ open [ file dirname [ info script ]]/icons/exit.png {RDONLY BINARY} ]; #读取app.exe/app.vfs/lib/app-app/icons下的exit.png文件
set data [ read $img nonewline ]
close $img
# do something here
source [ file dirname [ info script ]]/test.tcl; #在当前位置导入app.exe/app.vfs/lib/app-app下的test.tcl脚本
执行Step4后,双击执行app.exe文件,OK。