InstallShield InstallAnywhere 培訓(xùn)要點(diǎn)記錄(一)

                  不知道你是否注意過,當(dāng)你安裝java jdk的時(shí)候,當(dāng)你安裝微軟office的時(shí)候,當(dāng)你裝db2的時(shí)候,你都會(huì)看到一個(gè)熟悉的標(biāo)記---installshield。installshield可以說是當(dāng)今安裝程序解決方案的巨無霸了,功能十分強(qiáng)大,你可以用它制作出你想要的安裝程序。但是功能的強(qiáng)大也帶來一個(gè)壞處,就是要上手非常難。所以公司特意請(qǐng)macrovision(就是制作installshield的公司)的人給我們進(jìn)行了一個(gè)training,感覺收獲還是很大的,所以把我認(rèn)為重要的地方紀(jì)錄下來,一方面萬一自己忘了可以查一查,另一方面說不定對(duì)別人也有幫助。
                  先從版本說起。installshield有專門用于制作java安裝程序的產(chǎn)品,由于java是跨平臺(tái)的語言,所以installshield對(duì)應(yīng)的產(chǎn)品就叫installshield multiple platform,簡(jiǎn)稱ismp。我接觸的最早版本是ismp 5.0,后來又出了ismp 11.5,再后來ismp改名字叫Install Anywhere(以下簡(jiǎn)稱IA)。目前我們training用的版本是IA 8.0,相信應(yīng)該是最新的版本了。IA是共享軟件,不注冊(cè)的話有21天的試用期。
                  安裝程序是一個(gè)可定制性非常強(qiáng)的東西,每個(gè)軟件作者的需求都不一樣。有的推崇簡(jiǎn)單就是美,一般只需要用戶選擇安裝的目錄,然后就一路next就裝完了;但有的軟件非常復(fù)雜,比如需要設(shè)置參數(shù),需要選擇安裝哪些部分,甚至需要啟動(dòng)windows的系統(tǒng)服務(wù)。這時(shí)候就需要比較復(fù)雜的配置了。installshield針對(duì)兩種用戶設(shè)計(jì)了不同的開發(fā)環(huán)境:一種是common designer,另一種是Advanced Designer。當(dāng)你第一次打開IA的時(shí)候,缺省的是common designer,你只需要做一些簡(jiǎn)單的配置,比如產(chǎn)品的名稱,需要安裝的文件,要不要綁定虛擬機(jī)等等,然后就可以build出一個(gè)安裝程序了。Advanced Designer是為高級(jí)用戶設(shè)置的,提供了更多,更豐富的功能,你可以用它來打造你所需要的安裝程序。本文主要是針對(duì)Advanced Designer進(jìn)行一些說明。
                      1)安裝模式(install modes)
                      gui:這是最常用的一種模式,在安裝過程中會(huì)彈出若干個(gè)panel,比如welcome panel,license panel,destination panel等等。
                      console:用這種模式安裝程序時(shí),不會(huì)出現(xiàn)panel。它的所有信息都在控制臺(tái)中出現(xiàn)。說的再通俗一點(diǎn),就是整個(gè)安裝過程只有一個(gè)dos窗口,這個(gè)窗口先會(huì)顯示一行信息歡迎你安裝本軟件,然后是讓你選擇destination,再安裝,最后會(huì)顯示一行安裝成功的信息
                      silent:顧名思義,這種模式在安裝的時(shí)候不會(huì)彈出任何窗口,它會(huì)安靜地裝上軟件,所以用戶也不能自己設(shè)定安裝目錄,一般都市由安裝程序安裝到固定的目錄上
                      2)install sets
                         很多安裝程序都有完全安裝,最小安裝,自定義安裝等選項(xiàng),這一般是用features來實(shí)現(xiàn)的。你可以把你的產(chǎn)品分成幾個(gè)features,然后由用戶來選擇一部分進(jìn)行安裝。
                      3)actions
                         IA中很多操作被稱為actions,常見的有copy files,delete files,modifying registry,  creating service,  modifying configurations files等
                      4)variable
                         IA中很重要的一個(gè)概念,你可以用variable來存放屬性信息,比如安裝目錄,用戶名等等。比如
                         安裝目錄可能會(huì)在很多地方都用到,如果你安裝目錄是硬編碼的,萬一將來要修改就要改
                         很多地方,容易出錯(cuò);如果用variable來保存的話,只要修改變量值就可以了。注意一點(diǎn):variable
                         的值基本上都是string類型的
                      5)magic folders
                         IA里面獨(dú)有的概念,但感覺沒什么新意,就是variables的一種,專門用于定義folder的
                         variable而已
                      6)InstallAnywhere registry
                         不同于windows的registry,這是InstallAnywhere自己的registry。每個(gè)用IA制作的安裝程序,在安裝的過程中
                         都會(huì)把自己注冊(cè)到這個(gè)InstallAnywhere registry(注意:你只能在InstallAnywhere registry找到安裝的
                         component,找不到product)。它的一個(gè)典型應(yīng)用就是當(dāng)你需要檢查這個(gè)機(jī)器上是否安裝過某個(gè)軟件的時(shí)候,就可以
                         用search這個(gè)IA registry。不過如果你是用其他工具制作的安裝程序,IA registry就不會(huì)有記錄了。
                      7)execute command&execute script
                         execute command是用來執(zhí)行command,常用的dos命令(copy,cd等)你都可以寫在這里。execute script其實(shí)就是
                         execute command的加強(qiáng)版:如果你有多個(gè)命令,不需要建多個(gè)execute command,把它們寫在execute script就好了
                      8)計(jì)算所需空間
                         在IA中,默認(rèn)的空間大小是用byte來計(jì)算的,所以如果你的軟件比較大的話,那一長串的阿拉伯?dāng)?shù)字會(huì)把用戶嚇倒的
                         解決方法是,在pre-install summary panel的配置項(xiàng)中,有一個(gè)是Edit Custom Field。在那里新建一個(gè)field。Variable
                         name是顯示給用戶看的內(nèi)容,比如你可以寫disk space。variable value是你的軟件所需的硬盤大小。你可以先算出來
                         ,存在一個(gè)變量中,然后讓variable value等于這個(gè)變量就可以了。
                      9)results variable
                         用來存放用戶的選擇。比如在show message dialog中,有一個(gè)results variable是$CHOSEN_DIALOG_BUTTON$
                         它用來存放用戶按的是OK 還是Cancel

          posted on 2007-07-30 17:04 小牛小蝦 閱讀(2451) 評(píng)論(2)  編輯  收藏

          評(píng)論

          # re: InstallShield InstallAnywhere 培訓(xùn)要點(diǎn)記錄(一) 2007-08-01 09:29 dreamstone

          不錯(cuò)的東西,收藏了。  回復(fù)  更多評(píng)論   

          # re: InstallShield InstallAnywhere 培訓(xùn)要點(diǎn)記錄(一) 2008-07-24 09:48 andersonmao

          InstallAnywhere和InstallShield MultiPlatform不是同一個(gè)軟件。
          InstallAnywhere被MacroVision收購后,MacroVision 不支持InstallShield MultiPlatform了。(現(xiàn)在又被acresso.com買了)
          用過兩種軟件,感覺其實(shí)InstallShield MultiPlatform更好。InstallAnywhere問題多多。  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2007年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          eclipse

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 北宁市| 泗阳县| 恭城| 富蕴县| 呼和浩特市| 渝北区| 大丰市| 岑巩县| 碌曲县| 鄂托克前旗| 宝清县| 平原县| 红安县| 韶山市| 新建县| 谷城县| 阿城市| 绥滨县| 永靖县| 大足县| 三明市| 道真| 宜春市| 辽阳县| 平顶山市| 永清县| 石门县| 庆城县| 肇东市| 宁乡县| 乐至县| 集安市| 宁安市| 岳阳市| 花垣县| 绥宁县| 郁南县| 济宁市| 龙陵县| 高密市| 西乌珠穆沁旗|