一.ini配置文件操作
innosetup有专门读取后缀为ini文件的函数,且文件的组织结构是典型的Section,Key,Value 组合
例如这样的文件内容:
[SectionName1]
KeyName1 = Value1
[SectionName2]
KeyName2 = Value2
如果要读取keyName2的值,可以调用这个函数:
function GetIniString(const Section, Key, Default, Filename: String): String;
具体用法 Datavalue =: GetIniString('SectionName2','KeyName2','false',IniFilePath)
如果能够成功取得那么Datavalue就会等于Value2的值,如果失败那么就等于'false'。
当然这个函数是Pascal 脚本,这有在[Code]段中才可以使用。
二.字符串操作
1.字符串比较
function CompareStr(const S1, S2: string): Integer;
当s1>s2时,返回值大于0;
当s1=s2时,返回值等于0;
当s1<s2时,返回值小于0;
2.给字符串添加双引号
有时在操作把路劲作为程序参数的时候必须要添加双引号,比如系统中有一个Program file 文件的路劲,如果没有用引号扩起来,就容易
引起程序异常,函数function AddQuotes(const S: String): String;
可以自动给字符串加上"".
三.进程操作
1.修复,升级或卸载前关闭应用程序进程
在修复,升级和卸载时往往因为当前的程序正在运行,导致操作不成功,所以在做这些操作时有必要先将程序关闭,
有个比较简单的方法就是调用bat文件,然后再bat文件中把要删除的程序进程kill掉,
如: taskkill /f /IM processName
网上有些方法都比较复杂,比如有获得窗口句柄的,但是如果是一个服务就没有办法了,
另外还有调用第三方DLL,我觉得这可能引入不确定因素,所以,不妨先试试执行bat文件。