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