一个Setup Factory的Lua脚本
需求是把安装路径中的反斜杠转义成斜杠并写入到配置文件特定的地方去。
读取配置文件 由于配置文件不大 一次性的读入到内存中
local f = io.input(SessionVar.Expand("%AppFolder%\\Common\\conf.xml"), "r");
local r =f:read("*all");
io.close();
修改Lua的简单IO模式下的输出文件 其实就是上面的输入文件
io.output(SessionVar.Expand("%AppFolder%\\Common\\conf.xml"));
SessionVar.Expand("%AppFolder%")是Setup Factory里面的用户选择的安装目录,用Lua的string.gsub方法进行替换
local res = string.gsub(SessionVar.Expand("%AppFolder%"), "\\", "/");
..是字符串连接符
local ptn = "<ComputerURL>" .. res .. "/</ComputerURL>";
回写到输出文件中,达到动态配置的目的
local opr = string.gsub(r, "<ComputerURL></ComputerURL>", ptn);
io.write(opr);
io.close();
脚本配置在On Post install。由SF的lua引擎进行分析并执行