需求是把安装路径中的反斜杠转义成斜杠并写入到配置文件特定的地方去。

读取配置文件 由于配置文件不大 一次性的读入到内存中

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引擎进行分析并执行

转载于:https://www.cnblogs.com/yujianchi/archive/2011/03/19/1988561.html

一个Setup Factory的Lua脚本相关推荐

  1. SETUP FACTORY安装完成后自动运行软件

    2012-08-09 15:47 Setup Factory自动启动安装的某个程序 有朋友问我用Setup Factory制作安装程序时,怎么实现制作出的程序安装时自动运行安装程序里的某个程序或脚本? ...

  2. 深入分析 Redis Lua 脚本运行原理

    Redis 提供了非常丰富的指令集,但是用户依然不满足,希望可以自定义扩充若干指令来完成一些特定领域的问题.Redis 为这样的用户场景提供了 lua 脚本支持,用户可以向服务器发送 lua 脚本来执 ...

  3. Java调用Lua脚本(热载实现)

    前言: Lua作为解析执行的脚本语言, 往往是易变逻辑编写的首选语言, 尤其是在游戏领域. C/C++和Lua的结合, 往往了标配. 比如Redis, Nginx其对Lua的支持, 也是杠杠的. 当然 ...

  4. 欲求不满之 Redis Lua 脚本的执行原理

    Redis 提供了非常丰富的指令集,但是用户依然不满足,希望可以自定义扩充若干指令来完成一些特定领域的问题.Redis 为这样的用户场景提供了 lua 脚本支持,用户可以向服务器发送 lua 脚本来执 ...

  5. Cocos2d-x之LUA脚本引擎深入分析

    FROM:http://www.2cto.com/kf/201303/197171.html 原文内容如下: 首先,我们要知道LUA是个什么东西,至于官方怎么说可以百度去查,但我想告诉你的是LUA就是 ...

  6. 使用ZeroBrane Studio调试OpenResty Lua脚本

    本文固定链接: http://blog.sunqiang.me/2017/08/07/使用zerobrane-studio调试openresty和nginx-lua脚本/ 转载请注明: sunny51 ...

  7. Setup Factory打包注册dll

    1.生成一个Setup Factory工程,按照向导生成即可 2.添加dll到工程中 3.判断原有文件夹下是否有该文件,如果有删除.在On Pre Install中添加代码,改代码是通过Add Act ...

  8. Redis学习笔记 - Lua脚本(2) - Lua脚本的实现

    参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 Redis中Lua脚本相关命令介绍以及简单使用,参考博客:https://b ...

  9. Redis 实战 —— 14. Redis 的 Lua 脚本编程

    简介 Redis 从 2.6 版本开始引入使用 Lua 编程语言进行的服务器端脚本编程功能,这个功能可以让用户直接在 Redis 内部执行各种操作,从而达到简化代码并提高性能的作用. P248 在不编 ...

最新文章

  1. python制作小工具_利用Python制作翻译小工具
  2. 轻松实现SQL Server异地备份
  3. boost::contract模块实现push button的测试程序
  4. JVM源码分析之System.currentTimeMillis及nanoTime原理详解
  5. mybatis配置insert/update/delete同一个模板
  6. 基于主体掩码的实体关系抽取方法
  7. 每个前端开发者都要理解页面的渲染
  8. [Ubuntu] MySQL服务启动停止与用户登录
  9. 牛客小白月赛——G题
  10. [Asp.net]Calendar+JqueryUi实现日程管理(右键菜单,添加,编辑,删除,源码)
  11. 华为lab-rs-v1-1.5_smart link
  12. 多功能时钟电路的设计框图_OLED显示屏,行驱动电路设计,单片机AT89C51与和显示屏的硬件接线...
  13. linux设置伪静态地址,wordpress网站linux和win主机URL伪静态设置方法详解
  14. 高中信息技术:网络基础知识(IP地址、网页设计)、多媒体技术(图像PS、音频、视频、动画)
  15. 湖南职称计算机英语,湖南职称计算机考试哪里考,A,B,C,D各级别是怎么划分的...
  16. win10关闭windows聚焦_关于Windows 10 Windows聚焦功能失效
  17. LGTM、FYI等项目开发用语,缩略语,感觉其他组员都知道,感觉就自己不知道,不好意问的就看这里把
  18. ios 获取芝麻信用分
  19. linux设置的依赖关系,linux:dpkg:依赖关系问题使得 skype 的配置工作不能继续:问题解决方法...
  20. 解决:浏览器下载的Excel文件显示“文件已损坏,无法打开”

热门文章

  1. ji计算机一级题库,全国计算机等级考试一级题库0l0ji.doc
  2. python 0o_Python 中的比较:is 与 ==
  3. 计算机图形学考试题及答案_计算机图形学考试题及答案
  4. Java单例模式的几种实现方式
  5. java 引用队列_Java中管理资源的引用队列相关原理解析
  6. python学习实例(7)
  7. Redis:18---常用功能之(Lua脚本)
  8. 剑指offer_01
  9. 数据库 流量切分_私域流量之社群运营技巧,社群运营技巧解析
  10. Dapp简单的投票小例子