InstallShield安装包卸载-完美卸载-飞外
d:hiadmindiskserver 主程序文件d:hiadminxml 使用过程产生的文件放这里(这个目录用户是能够自己定义的)d:hiadminserver 管理程序如今我须要在程序卸载的是将这3个目录都删除掉
在前面的日志里面我用DeleteDir将安装文件夹下的hiadmin都删除掉了(代码例如以下)DeleteDir (TARGETDIR^”hiadmin”,ALLCONTENTS);可是如今的问题是用户在安装的时候自己定义了XML的目录路径,这个我在卸载的时候就会出现用户自己定义的XML目录没能删除,导致用户在下一次安装的时候假设还是将XML目录自定要上一次的地方就会出现故障为了规避这个问题,程序在卸载的时候就必需要将diskserver ,xml ,server 这个3个都全然删除掉解决方法例如以下:1.用户自己定义的XML路径是写在diskserver配置文件中面首选获取到配置文件中面xml的绝对路径2.用DeleteDir函数删除就可以首选我们得获取到配置文件中面的 InstallShield为我们提供了GetProfString函数GetProfString ( szFileName, szSectionName, szKeyName, svResult );GetProfString函数从一个指定的.ini文件里检索一个配置字符串參数:
szFileName
指定一个.ini文件名称,从中得到一个键的当前 。
szSectionName
指定.ini文件里的一个段名,从中查找szKeyName。段名必须不被包围在定界中括号里([ ])区分大写和小写。
szKeyName
指定一个键,它的 被返回到svResult。查找该键时不区分大写和小写。为得到一个段中全部键名的列表,给该參数传递一个空字符串。很多其它信息请看以下的注解。
svResult
假设 szSectionName指定一个段名,szKeyName指定一个键名,该键的 被返回到该參数。function OnUninstalledFile(szFile)
string svResult; //定义svResult
begin
ServiceStopService(“hiadmin”);
//卸载的时候先停止hiadmin服务
GetProfString ( TARGETDIR^”\hiadmin\diskserver\config.ini”, “Config”, “DataFilePath”, svResult);//用GetProfString获取安装文件夹下diskserver以下config.ini配置文件,Config字段,DataFilePath的 并赋 给svResult
DeleteDir (svResult,ALLCONTENTS);
//删除svResult(svResult的 在上面已经得到)
DeleteDir (TARGETDIR^”hiadmin”,ALLCONTENTS);
//删除TARGETDIR(安装文件夹下)的整个hiadmin文件夹
end;到此就全然的彻底的攻克了卸载的时候会留下程序安装时生成的文件。这次主要介绍了GetProfString函数的使用方法。
热门阅读
- 龙门古镇在哪里 0人看过
- 鸡蛋里面白色的东西是什么 0人看过
- 金桔核能吃吗 0人看过
- 生姜从地里挖出来后如何储存 0人看过
- 生蚝怎么存放过夜不死 0人看过
- 豆腐长黑毛还可以吃吗? 0人看过
- 3077代表什么 0人看过
- 茶里有咖啡因吗 0人看过
- 车厘子冷藏能放多久 0人看过
- 冬天水管子冻了怎么办 0人看过