我一直以為這不是一個問題,可是沒想到在幾個群內,對於如何向安裝包添加文件不解的大有人在,今日稍暇,整理成篇,以供參考
首先我想再大聲地說一遍:不要再跟我說英文看不懂了!!!!你做了程序員這一行,就得逼自己去看懂英文!!!說看不懂的趕快轉行吧!甭在這行混了!去工地搬個磚也有四五千了!不比你在這里一邊牢騷一邊拿兩千強啊!谷歌度娘都免費提供翻譯功能!別再跟姐叨叨!姐不是翻譯機!!!
以Installscript Project為例:
打開一個Installscript Project,在Project Assistant頁找到Application Files項,這里就是向導助手里用戶可以添加文件來做安裝包的地方
默認的,你會看到第一個下拉框里的選項為All Application Data,點開這個下拉框,會顯示你所有已經定義好的Feature。IS允許用戶不同的Feature添加不同的文件,所以這里可以根據需要選擇feature后添加對應文件------------如果你看不懂這句話,那就選默認項All Application Data吧。
中間那個大大的框,總節點是Destination Computer, 不解釋,看不懂的快合上筆記本電腦,從窗口丟出去!
下面幾個節點,姐來一一解釋:
Script-Defined Folders:這是自定義路徑,有什么用呢?百度“Installshield多路徑安裝”,你會有驚喜。這個路徑是用來給用戶提供一個額外可選擇的路徑而存在的。不明白?打個比方,你有個軟件,有一個客戶端,一個服務端,打包在一個安裝包里了,用戶要安裝客戶端,你得讓用戶自己選愛裝哪兒裝哪兒;用戶還要安裝服務端,你也得讓用戶選愛裝哪兒裝哪兒;於是,你就得提供兩個頁面,一個是客戶端頁面,要有路徑選擇功能,一個是服務端頁面,也要有路徑選擇功能。懂了嗎?沒懂再讀三遍。
Application Target Folder: 這個就是一個安裝包里最核心的路徑----目標路徑TargetDir, 在Basic MSI Project 和Installscript MSI Project 里表示為[INSTALLDIR]。 如果你要做一個最簡單的,沒有任何彎彎繞的安裝包,那么文件一定是添加在這個地方的,這個路徑在實際安裝的時候可以讓用戶選擇安裝到哪里。如果是Basic MSI Project 和Installscript MSI Project , INSTSLLDIR一般會表現在 ProgramFilesFolder下,沒關系,反正把文件添加在INSTSLLDIR下即可
很多人第一次接觸不知道如何在安裝時候出現路徑選擇界面,參閱我另外一篇博文
How to:installshield安裝包怎樣才能出現選擇路徑的界面?
http://www.cnblogs.com/Cindy_weiwei/archive/2011/02/22/1961244.html
Program Files: 這個就是鼎鼎大名的C:\Program Files啊,不知道為什么很多人第一次做安裝包時候會把文件添加在這里,然后來哭訴安裝包不能選擇路徑,難道是因為大部分安裝包的默認路徑都是C:\Program Files,所以誤導了大家嗎?這個路徑是死路徑,在這里添加的文件,永遠只安裝在C:\Program Files下,更確切地說是安裝在 系統盤\Program Files下;這個路徑是只要windows系統正常運作,必定存在的一個路徑,所以一般安裝包的默認路徑一定是這個。很多人會有需求說比如我想把路徑定死在D盤,這種做法我覺得是很不可取了,因為你不能確保D盤符一定存在,但是系統盤是一定存在的
Program Files(64-bit):無需多說,含義同上,只不過是64位操作系統下的Program Files;注意在64位下,上面那個路徑會變成 系統盤\Program Files(X86)
Support Folder: 就是腳本里的SUPPORTDIR, 這個下面添加的文件不會被安裝到目標機器上,這里面的文件只在安裝過程中有效,可以在腳本里進行進一步操作
Windows: 下面的三個路徑都是系統路徑,不多說了,都是死路徑,根據實際需要來選擇。
---------------------------------------我是分割線-----------------------------------
再來說一說Basic MSI Project和Installscript MSI Project
AppDataFolder:系統當前用戶的Application Data文件夾,舉例:
C:\WINNT\Profiles\UserName\Application Data ;這個是死路徑
CommonFilesFolder:系統中Common Files文件夾 ;這個是死路徑
ProgramFilesFolder\My Product Name[INSTALLDIR]:這個就是安裝包目標路徑,如果普通安裝包,就把文件添加在這里