版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Installshield 學(xué)習(xí)心得體驗(yàn)劉詢一 說明。閱讀對(duì)象:本人,IS的初學(xué)者。適用版本:Installshield 12。目的: 為了讓初學(xué)IS的朋友少走些彎路,雖然不是很好的寶典,但里面很多細(xì)節(jié)都是制作安裝包常碰到的經(jīng)典問題。另外,也為了給自己留一些資料,方便以后查詢,人的記憶力有限嘛。內(nèi)容: 制作一個(gè)簡(jiǎn)單的安裝包;制作定制的安裝包;其它細(xì)節(jié)注意;二 Installshield 介紹。1 公司介紹。InstallShield 軟件公司是美國(guó)的一家專業(yè)從事安裝軟件開發(fā)工具生產(chǎn)的著名軟件公司。該公司由Viresh Bhatia和Rick Harold于1987年創(chuàng)建。自Windows軟件開
2、發(fā)之初,InstallShield軟件公司就已經(jīng)專注于通用安裝軟件制作工具的開發(fā)并解決Windows操作系統(tǒng)發(fā)展和變革所帶來的挑戰(zhàn),以滿足開發(fā)人員及最終用戶的需要。其主打產(chǎn)品InstallShield為滿足各種平臺(tái)和不同的安裝需求提供完整的軟件安裝解決方案,并且已經(jīng)形成人們所熟悉的一套軟件安裝的工業(yè)標(biāo)準(zhǔn)。2 產(chǎn)品介紹。在微軟Windows 2000操作系統(tǒng)引入Windows Installer(WI)服務(wù)之前,InstallShield公司以其擁有的標(biāo)準(zhǔn)的標(biāo)準(zhǔn)和技術(shù)在同類公司中遙遙領(lǐng)先。但由于WI的出現(xiàn)后,WI使得用戶可以利用微軟提供的API函數(shù)構(gòu)建符合微軟標(biāo)準(zhǔn)的安裝軟件,并充分享用微軟WI服
3、務(wù)的諸多好處。為了跟上安裝軟件技術(shù)的自然進(jìn)化,滿足用戶的需求和接受新挑戰(zhàn),1999年9月,InstallShield 公司開始宣布InstallShield2000 專業(yè)版(簡(jiǎn)稱ISPro2K)面世,這是該公司首次將軟件安裝開發(fā)工具劃分采用自身傳統(tǒng)標(biāo)準(zhǔn)的InstallShield Professional 和采用 微軟標(biāo)準(zhǔn)Windows Installer標(biāo)準(zhǔn)的InstallShield for Windows Installer兩個(gè)不同版本。三 制作簡(jiǎn)單的安裝軟件。聲明:下面的教程,是把讀者當(dāng)做完全沒接觸過IS的角度來制作的。1 啟動(dòng)InstallShield 12。建立一個(gè)InstallS
4、hield MSI Project,如圖:2 建好后,選擇Project Assistant.你會(huì)發(fā)現(xiàn)下邊有8個(gè)選項(xiàng)。接下來就一項(xiàng)一項(xiàng)開始設(shè)置。3 點(diǎn)擊Application Information.輸入公司名稱,應(yīng)用程序的名稱(注意:這個(gè)不是打包完后安裝包的名稱,默認(rèn)的安裝包名稱為Setup.exe,不過可以自己定義,稍后講),版本號(hào),公司網(wǎng)址,選擇“添加/刪除程序”中的圖標(biāo)。4 點(diǎn)擊Installation Requirements.這里可以選擇自己的打包軟件適合運(yùn)行的操作系統(tǒng)和必須安裝的第三方軟件。選不選根據(jù)自己的需要。5 點(diǎn)擊 Installation Achitecture。這里可以
5、定義打包文件的組織結(jié)構(gòu),默認(rèn)有個(gè)DefaultFeature,將文件放在這個(gè)feature下,則都默認(rèn)是必須安裝的。有印象的朋友會(huì)記得,在安裝某些軟件的時(shí)候,會(huì)有,“typical(典型)”“custom(自定義)”界面提示,選擇典型安裝,就是所有文件都安裝,選擇自定義安裝,就可以去掉一些不需要安裝的文件,但其它文件就是必須安裝的。這個(gè)還是需要自己反復(fù)折騰一下才能明白。至于怎么加文件到feature下面,稍后講述。6 點(diǎn)擊 Application Files。這里講述如何添加文件。上面圖片的紅色區(qū)域中的文件就是我加進(jìn)去的,加到了安裝目錄下了(注意:有個(gè)INSTALLDIR)。在這里,你就可以把
6、你要打包的所有文件加進(jìn)來。加入你安裝目錄下有文件夾,則先在左邊右擊GAGA,添加文件夾,再往里面添加文件。注意:添加完文件后,全選文件,右擊,選中“Always Overwrite”。否則有時(shí)會(huì)出現(xiàn)重新安裝后,有些文件沒有被覆蓋。7 點(diǎn)擊 Application shortcut。為自己的安裝程序生成快捷方式,可以創(chuàng)建 開始菜單和桌面的快捷方式,細(xì)心發(fā)現(xiàn)的話,你會(huì)看見左邊有個(gè)“Create an uninstallation shortcut”的選項(xiàng),那個(gè)就是用來創(chuàng)建一個(gè)卸載方式的,不過很遺憾,這個(gè)快捷方式卸載后有時(shí)會(huì)有些文件刪除不干凈,不能做到完美卸載。關(guān)于怎么創(chuàng)建卸載快捷方式,做到完美卸載
7、,在后面會(huì)講。8 點(diǎn)擊 Application Registry。點(diǎn)完后就直接跳過吧,簡(jiǎn)單的安裝工程,基本不用到這個(gè)。要了解如何操作注冊(cè)表,在后面會(huì)說。9 點(diǎn)擊 Installation Localization。這里我們選上“Chinese”,默認(rèn)是選上英文。如果要設(shè)置中文為默認(rèn)語言的話,需要點(diǎn)擊Installation Designer-Installation Information-General Information-String table,右擊Chinese,選擇 “Make default”。如圖:返回Project Assistant.這下還可以把英文去掉,因?yàn)橹坝⑽谋辉O(shè)
8、為默認(rèn),所以不能直接在這里去掉,非得這么折騰一番。10. 點(diǎn)擊 Build Installatio。這里可以選擇Single 或者 CD-ROM,區(qū)別在于第一種只生成一個(gè).exe文件,而后者會(huì)生成好多文件,包括.msi文件等。第一種生成格式適合于制作升級(jí)程序,一般的升級(jí)程序都只要一個(gè).exe文件就好了。點(diǎn)擊“Build Installations”就可以生成安裝包了,生成的安裝包,點(diǎn)擊”O(jiān)pen release folder”就可以找到了。四 制作定制的安裝軟件。聲明:該部分主要是根據(jù)自己本身在項(xiàng)目當(dāng)中打包安裝軟件的時(shí)候碰到的一些問題,稍微整理一下作為這部分主要講解的內(nèi)容,由于項(xiàng)目功能的局限還
9、有本人能力的有限,只能講解自己解決的一些經(jīng)典問題,并不能全面覆蓋到強(qiáng)大的IS的各個(gè)方面,僅供讀者參考。這部分的內(nèi)容貌似比較吸引人哦,“定制”兩字給人比較實(shí)用,有趣的感覺。這部分內(nèi)容我們和上面制作簡(jiǎn)單的安裝軟件走不一樣的道路,這部分內(nèi)容需要新手對(duì)IS有一定的折騰后再來看,就比較適合啦。廢話不再講,開始講解吧。點(diǎn)擊 Installation Designer ,如圖:1. 點(diǎn)擊 Installation Information 管理員權(quán)限安裝設(shè)置:點(diǎn)擊 General Information ,選擇 Summary Information Stream, 選擇 Require Administra
10、tive Priviledge, 將該項(xiàng)選擇 “Yes”。這樣設(shè)置之后,用戶就可以有管理員的權(quán)限去安裝該安裝文件了,避免用戶在安裝的時(shí)候出現(xiàn)權(quán)限不夠的問題。如圖: 更改“添加/刪除程序”面板中軟件的圖標(biāo)。General Information - Add or Remove Programs - Display Icon 設(shè)置”添加/刪除程序”面板中軟件可卸載。General Information - Add or Remove Programs - Disable Change Button, Disable Remove Button, Disable Repair Button,這三個(gè)
11、至少要有一個(gè)選為“NO”,全部設(shè)為“YES”的話,則在這個(gè)面板中,對(duì)應(yīng)的軟件沒有“更改/刪除”的按鈕可以點(diǎn)擊,即在這里就卸載不了軟件了。那就得自己去注冊(cè)表里胡搞亂改,把它搞掉了。 設(shè)置“軟件名稱”,“版本號(hào)”還有“安裝路徑”。General Information - Product Properties-NAME ,VERSION,INSTALLDIR 關(guān)于“Product Code”和“Upgrade Code”以及版本升級(jí)問題。這兩個(gè)關(guān)乎到版本升級(jí)問題,理論上,XP是不允許用戶安裝兩個(gè)相同Product Code的同一個(gè)軟件的,即時(shí),每一個(gè)版本的安裝包,都必須有新的Product Cod
12、e。但其實(shí),很多時(shí)候,我們?cè)陧?xiàng)目的時(shí)候,并不是每一次release都是一個(gè)新版本,因?yàn)橛锌赡苤皇歉牧艘稽c(diǎn)點(diǎn),不足以作為一個(gè)新版本,這是我們可以稱為是一個(gè)小版本,比如,V1.0.0-V1.0.1。我查了一下幫助文檔,找到了”Chaning the Product Code”這篇文章,里面開頭有這么一句:An update that meets the following guidelines generally does not require a change of the product code and can be handled as a small update, or if th
13、e version is to change, as a minor upgrade。(詳細(xì)請(qǐng)按F1,官方文檔才是王道)這句話的意思是,當(dāng)update屬于 small update 或者 minor upgrade的時(shí)候,就不用更改product code,這兩者的區(qū)別在于,minor upgrade更改了 product version。除了這兩個(gè)之外,剩下的一個(gè)就是major upgrade,生成這種安裝包的時(shí)候,就需要更改product code 和 producr version。(還是不明白的請(qǐng)看官方幫助文檔)另外,還有個(gè)叫做 package code的東西,當(dāng)你每次release一
14、個(gè)新的安裝包的時(shí)候,無論是上面哪一個(gè),這個(gè)package code都會(huì)改變,這是IS給安裝包自動(dòng)重新生成的。不用用戶區(qū)設(shè)置。這是作為每個(gè)release包的唯一區(qū)別??偟膩碚f:當(dāng)你生成一個(gè)大版本,如V1.0.0-V2.0.0,這是就需要換Product Code了(方法:General Information - Product Properties-Product Code, 選中它, 左下方有個(gè)Generate GUID的按鈕,點(diǎn)擊它就可以重新生成,記得與Media-Release-PROJECT_ASSISTANT中的Product Code保持一致,否則在卸載的時(shí)候會(huì)出現(xiàn)問題),否則就不
15、用更改。 當(dāng)小版本實(shí)現(xiàn)覆蓋安裝的時(shí)候,記得還要在Media-Upgrades-Update Windows Installer Setup中,common下選中prompt,這樣,當(dāng)你覆蓋安裝的時(shí)候,系統(tǒng)就會(huì)提示你是否要覆蓋安裝,否則則會(huì)提示你,已經(jīng)安裝了 某個(gè)Product Code 的產(chǎn)品,不讓覆蓋安裝。 去掉安裝界面還有卸載界面上面的”InstallShield Wizard”等字眼。General Information - String Tables選中你采用的那個(gè)語言。在“Value”列中,將”InstallShield Wizard”這些字眼全部替換掉空格或者其它信息,自己決定。
16、(注意:安裝還有卸載的時(shí)候,進(jìn)入的第一個(gè)界面還有最后退出的界面的”InstallShield Wizard”是去不掉的,因?yàn)槿サ暨@些字眼本來就違反了IS的協(xié)議,你用別人的東西,肯定要標(biāo)記一下別人公司的標(biāo)志)2. 點(diǎn)擊 Organization 設(shè)置Feature(組件)的安裝類型在制作簡(jiǎn)單的安裝軟件的過程中,已經(jīng)提到過類型安裝:Minimal,Custom,Typical .選擇 Setup Types, 你會(huì)發(fā)現(xiàn)無論點(diǎn)擊這三個(gè)中的任何一個(gè),DefaultFeature都是必選的。3. 點(diǎn)擊 Application Data 如何添加我要打包的文件到工程中選擇Files and Folders
17、,點(diǎn)擊右邊的*INSTALLDIR這個(gè)文件夾,然后在“Source compuoters floders”選中你要加入的文件夾,右邊的“Source computers files”框欄中就顯示這些文件,把這些直接拉到“Destination computers files”中。(注意:如果發(fā)現(xiàn)拉入的文件不對(duì),想要?jiǎng)h除,則不能在這里刪除,而要到Organization-Components下把文件刪除,這樣才能刪的徹底,否則會(huì)出錯(cuò)。另外,加入好文件后,全選這些文件,右擊打開屬性,選擇”Always Overwrite”,這樣可以強(qiáng)制覆蓋安裝。)4. 點(diǎn)擊 System Configuratio
18、n 如何建立桌面和開始程序的快捷方式像上面圖片一樣,建完快捷方式后,記得把每個(gè)快捷方式的”Working Directory”設(shè)置為”INSTALLDIR”.否則會(huì)出錯(cuò)。5. 點(diǎn)擊 Behavior and Logic 怎么定制安裝和卸載過程出現(xiàn)的界面點(diǎn)擊Install Script, IS 的installscript在安裝的時(shí)候首先調(diào)用的是OnFirstUIBefore 函數(shù),卸載的時(shí)候首先調(diào)用的是 OnMaintUIBefore 函數(shù),這兩個(gè)函數(shù)都在 Before Move Data. 而在安裝結(jié)束時(shí)調(diào)用的函數(shù)是 OnFirstUIAfter 函數(shù),而卸載結(jié)束的時(shí)候調(diào)用的是 OnMain
19、tUIAfter. 如何在卸載的時(shí)候不彈出“修改”“修復(fù)”“刪除”的界面,直接進(jìn)入刪除在OnMaintUIBefore函數(shù)中,從Dlg_Start到Dlg_SdFeatureTree之間的代碼全部注釋,然后加上nType = REMOVEALL; 如何除去安裝和卸載過程中標(biāo)題中的“InstallShield Wizard”字眼安裝和卸載過程中,第一個(gè)出現(xiàn)的界面和最后退出的界面標(biāo)題的字眼是無法去除的,或者說我不知道怎么去吧,哈其它界面上的標(biāo)題可以通過:在OnFirstUIBefore中添加:SetTitle(“安裝”+IFX_PRODUCT_NAME,0,BACKGROUNDCAPTION);
20、卸載也是一個(gè)道理,添加以上語句的函數(shù)是:OnMaintUIBefore 怎么用腳本創(chuàng)建一個(gè)卸載快捷方式,如何“完美卸載”IS自帶的建立卸載快捷方式(Project A Assistant - Application Shortcuts - Create an uninstallation shortcut)是有問題的,會(huì)出現(xiàn)卸載不完全的現(xiàn)象。解決方法是寫腳本:Install Script - After More Data - OnFirstUIAfter 中添加:STRING szFile;NUMBER nResult;szFile = UNINSTALL_STRING + “/UNINST
21、ALL”;nResult = StrFind(szFile,”.exe”);if(nResult = 0) thenStrSub(szMsg1, szFile, 0, nResult + 4);StrSub(szMsg2, szFile, nResult + 4, 200);LongPathToQuote(szMsg1, FALSE);LongPathToQuote(szMsg2, FALSE);szFile = “” + szMsg1 + “” + szMsg2; endif;AddFolderIcon(FOLDER_PROGRAMS “AliProbe”, “Uninstall AliProbe”, szFile, WINDIR, WINDIR “System32msiexec.exe”, 0, REPLACE); 然后在OnMaintUIAfter()中添加:/ 刪除開始所有程序中的AliProbe文件夾DeleteProgramFolder(“AliProbe”);/ 刪除桌面上的快捷方式STRING szItemName = “AliProbe”;STRING szProgramFolder = FOLDER_DESKTOP;DeleteFolderIcon(szProgra
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 賬務(wù)管理培訓(xùn)課件
- 醫(yī)療護(hù)理禮儀:關(guān)愛患者提高護(hù)理服務(wù)質(zhì)量
- 口腔正畸技術(shù)發(fā)展與展望
- 中國(guó)近視前期管理專家共識(shí)總結(jié)2026
- 醫(yī)院綠化美化與禮儀文化
- 傳染病防控策略與患者管理
- D打印在醫(yī)療器械制造中的應(yīng)用
- 醫(yī)療設(shè)備維護(hù)情況匯報(bào)
- 2026年廣西教育學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考題庫帶答案解析
- 2026年福州軟件職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫有答案解析
- 雨課堂學(xué)堂在線學(xué)堂云軍事理論國(guó)防大學(xué)單元測(cè)試考核答案
- 多源醫(yī)療數(shù)據(jù)融合的聯(lián)邦學(xué)習(xí)策略研究
- 2025至2030中國(guó)工業(yè)邊緣控制器行業(yè)運(yùn)營(yíng)態(tài)勢(shì)與投資前景調(diào)查研究報(bào)告
- 磁電感應(yīng)式傳感器課件
- 學(xué)??剌z保學(xué)工作流程及四書一表一單
- 2026屆湖南省常德市石門一中生物高二第一學(xué)期期末統(tǒng)考試題含解析
- 冷渣機(jī)調(diào)整課件
- 肺癌全程護(hù)理計(jì)劃
- 學(xué)堂在線 雨課堂 學(xué)堂云 人工智能 章節(jié)測(cè)試答案
- 工業(yè)高質(zhì)量數(shù)據(jù)集研究報(bào)告
- 2024城口縣國(guó)企招聘考試真題及答案
評(píng)論
0/150
提交評(píng)論