installshield 安裝程式自動更新

來源:互聯網
上載者:User

目標:不重新編譯安裝包,實現installshield製作的安裝程式檔案更新

環境:IS2009

實現步驟:

1. 從安裝目錄的.\system下提取iscab.exe,ISTools.dll,MediaBuild40.dll檔案,將它們拷貝到自建的檔案夾中,例如這裡拷貝到d:\test目錄。

 

2. 將要更改的安裝包拷貝也拷貝到d:\test目錄

 

進入cmd視窗,,輸入d:,,再輸入cd test,進入d:\test目錄。之後使用命令列iscab data1.cab -lx -icab.ini提取安裝包結構資訊輸出到 cab.ini 檔案,大致包含頭部描述段[ISCAB Info]和檔案描述段[Program Files in TARGETDIR]兩部分格式:

 

[ISCAB Info]

Product=ISCAB

Version=2.0

 

[<Support>English Files]

File1="_IsRes.dll"

 

[<Engine>Engine Files]

File1="corecomp.ini"

 

[<Support>Chinese (Simplified) OS Independent Files]

File1="license.txt"

File2="vssver.scc"

 

[<Support>Non-SelfRegistering]

File1="isrt.dll"

File2="default.pal"

 

[<Support>English OS Independent Files]

File1="license.txt"

 

[<Support>Language Independent Intel 32 Files]

 

[Program Files in TARGETDIR]

File1="MoticTools.dll"

File2="MoticTrace.exe"

File3="Software Help Request.xls"

 

[<Support>Script]

File1="setup.inx"

 

[<Engine>ScriptEngine]

File1="iscript.dll"

 

[<Support>Chinese (Simplified) Intel 32 Files]

 

[<Support>English Intel 32 Files]

 

[<Disk1>Disk1 Files(1)]

File1="layout.bin"

File2="data1.hdr"

File3="data1.cab"

 

[<Disk1>Disk1 Files(2)]

File1="Setup.exe"

File2="Setup.ini"

 

[<Disk1>Disk1 Files(3)]

File1="setup.inx"

 

[<Support>Chinese (Simplified) String Tables]

File1="value.shl"

File2="vssver.scc"

 

[<Support>English String Tables]

File1="value.shl"

 

[<Support>Language Independent OS Independent Files]

 

[<Engine>SelfRegistering]

File1="ctor.dll"

File2="objectps.dll"

File3="iuser.dll"

 

[<Support>Chinese (Simplified) Files]

File1="_IsRes.dll"

 

[<Engine>Kernel Placeholder]

File1="iKernel.exe"

 

 

 

 

 

 

 

3. 通過各種命令列實現增加,刪除,替換,解壓更新檔案到原始安裝包裡

1) 增加檔案:將要增加的檔案放置在d:\test目錄,編輯匯出的 cab.ini 檔案,僅保留頭部描述段([iscab info])和要加入的檔案描述段(注意,檔案所在的組描述應保留,如[Public Files in TARGERDIR]),將編輯後的檔案另存新檔 add.ini,在cmd視窗中使用命令列iscab data1.cab -a -iadd.ini實現增加檔案進原始安裝包。

範例:

增加"moticdog.dll"檔案,將cab,ini檔案改成如下:

[ISCAB Info]

Product=ISCAB

Version=2.0

 

[Program Files in TARGETDIR]

File1="MoticTools.dll"

File2="MoticTrace.exe"

File3="Software Help Request.xls"

File4=" moticdog.dll "

 

 

在cmd視窗中使用命令列iscab data1.cab -a -iadd.ini這時雙擊安裝包安裝軟體,在安裝目錄下就可以看到增加了"moticdog.dl這個檔案。

2) 移除檔案: 編輯匯出的 cab.ini 檔案,僅保留頭部描述段([iscab info])和要刪除的檔案描述段(注意,檔案所在的組描述應保留,如[Public Files in
TARGERDIR])將編輯後的檔案另存新檔 del.ini,在cmd視窗中使用命令列iscab data1.cab -r
-idel.ini,實現將始安裝包檔案刪除。

範例:

刪除File3="Software Help
Request.xls"
檔案,將cab,ini檔案改成如下:

[ISCAB Info]

Product=ISCAB

Version=2.0

 

[Program Files in
TARGETDIR]

File3="Software Help
Request.xls"

 

在cmd視窗中使用命令列iscab data1.cab -r
-idel.ini這時雙擊安裝包安裝軟體,在安裝目錄下就可以看到刪除Software Help
Request.xls
檔案

轉載自:http://www.cnblogs.com/sabrinahuang/archive/2011/01/10/1932043.html 亦婷

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.