目標:不重新編譯安裝包,實現
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 可以區別當前執行的是安裝還是解除安裝過...