分享

InstallShield修改配置文件

 icecity1306 2015-08-28

InstallShield中提供了对配置文件的修改。

1、INI文件的修改

1.1 视图方式修改

InstallShiel工程的Installation Designer/ System Configuration/ INI File Changes视图中,右击INI Files添加或者倒入INI文件。

ini文件的keyword的Data Value一定选择安装路径所在的目录,不然达不到修改的目的。

 
1.2 脚本方式修改
    OpenFileMode(FILE_MODE_APPEND);
    CloseFile (nvFileHandle); 
    OpenFile (nvFileHandle, szPath,"my.ini");
    FileInsertLine (szPath + "my.ini", szStr, 0,REPLACE) ;
    FileInsertLine (szPath + "my.ini", szStr, 10,REPLACE) ;
2、XML文件修改
2.1 视图方式与1.1类似,在Installation Designer/ System Configuration/ XML File Changes视图中可修改xml的元素以及属性。
2.1 脚本方式

function ModifyXml()
OBJECT objXml;
OBJECT objRoot,objNode, objAttNode; 
STRING szFile, msVersion;

begin      
    szFile = TARGETDIR^"...\\config.xml";

    MessageBox(szFile,SEVERE); 
    set objXml = CreateObject("MSXML2.DOMDocument.6.0");//创建一个DOM对象                      
    if (IsObject(objXml) = FALSE ) then
       MessageBox("出错,系统不支持使用DOM对象",SEVERE);
    endif;
    objXml.async = FALSE;
    objXml.resolveExternals = FALSE;
    objXml.validateOnParse = FALSE; 
    objXml.load(szFile);//加载原有XML文档
    set objRoot = objXml.documentElement; //取根节点 
    MessageBox(objRoot.xml,SEVERE); //输出所有节点测试
    set objNode = objRoot.selectSingleNode("//upload-path");//查找upload-path节点   
    objNode.text=TARGETDIR^"temp\\data";
    
    set objNode = objRoot.selectSingleNode("//download-path");
    //MessageBox(objNode.text,SEVERE); //输出他的值
    objNode.text=TARGETDIR^"temp\\data"; 
    
       
    objXml.save(szFile); //保存  
    
    set objNode = NOTHING;
    set objXml = NOTHING;            
end;

脚本方式修改配置文件可以参考:
InstallShield操作文件内部函数介绍,参考:http://blog.sina.com.cn/s/blog_4baa4852010006yu.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多