InstallShield修改配置文件

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章