installshield 安裝程式自動更新

2022-05-09 06:48:07 字數 3674 閱讀 4110

目標:不重新編譯安裝包,實現

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

[english files]

file1="_isres.dll"

[engine files]

file1="corecomp.ini"

[chinese (simplified) os independent files]

file1="license.txt"

file2="vssver.scc"

[non-selfregistering]

file1="isrt.dll"

file2="default.pal"

[english os independent files]

file1="license.txt"

[language independent intel 32 files]

[program files in targetdir]

file1="motictools.dll"

file2="motictrace.exe"

file3="software help request.xls"

[script]

file1="setup.inx"

[scriptengine]

file1="iscript.dll"

[chinese (simplified) intel 32 files]

[english intel 32 files]

[disk1 files(1)]

file1="layout.bin"

file2="data1.hdr"

file3="data1.cab"

[disk1 files(2)]

file1="setup.exe"

file2="setup.ini"

[disk1 files(3)]

file1="setup.inx"

[chinese (simplified) string tables]

file1="value.shl"

file2="vssver.scc"

[english string tables]

file1="value.shl"

[language independent os independent files]

[selfregistering]

file1="ctor.dll"

file2="objectps.dll"

file3="iuser.dll"

[chinese (simplified) files]

file1="_isres.dll"

[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檔案

**自: 亦婷

InstallShield製作安裝包

內容 http www.51testing.com uid 18049 action viewspace itemid 17594 installshield 製作安裝包實現自動化 一,首先介紹下製作安裝包大概流程 1,介紹下製作前的注意事項 1 準備好最新的 release 版本,要保證所有檔案為...

拆解InstallShield安裝包

iscab 拆解 installshield 的資料報一般格式為 data1.cab,同時有乙個 data1.hdr,用於描述檔案分組定義,如果檔案較多,還會存在乙個 data2.cab 實際上是分卷壓縮包。iscab 6.0 以下的版本可以使用 zipscan 解壓,也可以使用 winpack 進...

Install Shield 中判斷安裝還是解除安裝

如果在安裝過程中寫了一段installscript安裝指令碼,發現在解除安裝時也執行了這一段 而且也遇到過解除安裝時自定義需求的情況,於是在網上找了很久,沒有發現好用的。後來在國外乙個論壇裡發現乙個突破點,自己研究了一下,竟然發現下面installscript 可以區別當前執行的是安裝還是解除安裝過...