Inno Setup 使用笔记

一.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文件。

posted @ 2014-11-25 10:57  yaoxiaping666  Views(1506)  Comments(0Edit  收藏  举报