InstallShield打包软件使用
InstallShield可以說是軟件安裝的最好制作工具。其簡單的操作、完全可視
化的界面、方便的調試功能、多平臺(Windows3.1,?Windows95,?WindowsNT3.5,
?Windows?NT4.0?)語言(中文、各種西文)的支持使它幾乎成為了安裝制作的標
準。難怪微軟在它的拳頭產品Visual?C++4.X中開始,就以捆綁的形式包括了Inst
allShield3。而今,隨著日月的推移,InstallShield更是羽翼豐滿,又陸續推出
了InstallShield?Professional?5.X(包括East?Edition,West?Edition)和Insta
llShield?6.0,功能更為強大,操作更為簡便。對于Shareware軟件的制作者,包
裝上一個漂亮的安裝程序,實在是非常必要。本文簡要探討一下用InstallShiel
d制作安裝軟件的方法,希望對感興趣的朋友有所幫助。
在InstallShield的各種最新版本中,其專門制作的East?Edition,可應用于
漢語(GB、BIG5)、英語、印度尼西亞語、日語、韓語、俄語、土耳其語、泰國語
等多語種。本文便以InstallShield?East?Edition?5.1為探討對象進行討論。In
stallShield的其它語種版本的操作和East?Edition幾乎完全相同。
?
進入InstallShield?East?Edition?5.1后便是兩個“向導”面對你。
習慣用VB的朋友可以用VB5?Project?Wizard,它需要你的系統中安裝了VB5。
更為常用的是Project?Wizard,它可以定制更為普便適用的安裝程序。進入P
roject?Wizard后如圖1:在第一欄中寫入你的程序的名字,第二欄中寫入公司的
名字,在第三欄中選擇開發程序使用的根據,第四欄中選擇程序的種類,最后一
欄中填入程序的可執行文件的完整路徑和名字。單擊下一步,進入選擇定制對話
框:安裝自己的喜好選擇希望安裝過程進行時出現的對話框,按Priview鍵可以預
覽一下相應對話框的效果。接下來是選擇要安裝目標平臺。也即程序將被運行在
什么平臺之上。InstallShield共提供了四種平臺供選擇(Win31,?win95,?WinNT
3.5,?Windows?NT4.0?)。然后是多語種支持,也就是安裝時可以提供的語言支持
。再向下依次是安裝類型選擇、指定構成成份、指定文件組,最后是所有選項的
概括。完成選擇后便可得到你自己定做的Project,進入InstallShield的可視化
編程環境。
下面讓我們一步一步地完成我們的制作。
整個InstallShield的可視化程度很高。支持鼠標右鍵的操作,在各個位置的
鼠標右鍵可激活各種功能;編譯、調試方便,簡直是VC++這種大型程序的簡寫
本,卻又比VC++方便了許多。
一、在左面的選項中選擇Scripts。
這是全部制作的核心部分,也是我們所最應集中精力攻克的小小關口。當然
不更改Scripts中的源程序也能制作一個標準的安裝程序,但如果能夠控制Script
s的編程,整個安裝程序的制作水準就可以達到一個新的高度,這也許是您與普通制
作者區別的開始吧。其實InstallShield的Scripts非常類似于C和C++的程序編
寫,相信對大多數程序員來說是非常容易掌握的。而對于沒有什么C和C++的基
礎的朋友來講,看完這篇文章后,相信你也能很好地去制作自己的Scripts,因為
它具有相當程度的重復性,更容易被“依葫蘆畫瓢”。
Scripts的布局同C語言非常類似。首先是頭文件的包含,緊接著是字符串的
定義、函數原形的說明、全局變量的說明。你可以做的是在此加上你的函數說明
、全局變量的說明。
Scripts中遵循C的規則,同樣有局部變量和定義。遵循C++的注釋規則,可
以用//?注釋內容來進行單行注釋,也可以用/*?注釋內容?*/來注釋一塊語句。所
有的關鍵字、宏定義都以不同顏色的字體標出,非常直觀。Scripts?的編程遵循
結構化編程的思想,提供了大量類似Windows?API的函數庫供調用,每個宏定義都
有詳細的說明,每個函數除了詳細地說明,解釋每個變量的意義外,還都附有相
應的例子,參考這些說明和例子,可以讓新手在非常短的時間內上路。對用VC+
+開發過Windows程序的朋友來講,簡直就是一種6=2×3的轉變而已,可以非常
輕松地掌握。
在程序的最前段,是program…………………endprogram,它相當于C中的ma
in()?{……}主函數。后面是一個個子函數體的程序,排列順序是按調用順序排列
。全部函數都非常簡單易懂,并且一般不需太大改動。下面將幾個常用、經常改
動的函數加以說明。
(1)?function?SetupFolders()
function?SetupFolders()
NUMBER?nResult;
STRING?szFolderDir;
begin
szProgramFolder?=?FOLDER_PROGRAMS^?
SHELL_OBJECT_FOLDER;?//建立程序組或快捷方式的位置
szItemName?=?"眼部圖象多功能處理系統";?//應用程序名稱
szProgram?=?TARGETDIR^'eye95.exe';?//可執行文件名
szParam?=?"";
LongPathToQuote?(szProgram,?TRUE);//合并路徑
LongPathToShortPath?(szParam);//轉為短路徑,專為Win31和WinNT3.5而用
szCommandLine?=?szProgram?+?"?"?+?szParam;?//生成命令行
szWorkingDir?=?TARGETDIR;//工作路徑
szIconPath?=?"";
nIcon?=?0;
szShortCutKey?=?"";
nFlag?=?REPLACE;
AddFolderIcon?(szProgramFolder,?szItemName,?
szCommandLine,
szWorkingDir,?szIconPath,?nIcon,
szShortCutKey,?nFlag);
szProgramFolder?=?FOLDER_DESKTOP;
LongPathToQuote(szCommandLine,?TRUE);
if(SprintfBox(?OK|CANCEL,"請選擇:","%s","你想在桌面上創建快捷方式嗎?"
)==6)?
then
AddFolderIcon(szProgramFolder,szItemName,szCommand
Line,?
szWorkingDir,szIconPath,nIcon,szShortCutKey,?
nFlag);
endif;
szProgramFolder?=?FOLDER_PROGRAMS^?SHELL_OBJECT_FOLDER;
szItemName="readme";
szProgram?=?WINDIR?^?"notepad.exe";
szParam?=?TARGETDIR^"readme.txt";
LongPathToQuote?(szProgram,?TRUE);
LongPathToShortPath?(szParam);
szCommandLine?=?szProgram?+?"?"?+?szParam;
AddFolderIcon(szProgramFolder,szItemName,?
szCommandLine?,
szWorkingDir,?szIconPath,?0,
szShortCutKey,nFlag?);
nResult?=?CreateShellObjects(?""?);
return?nResult;
end;
其實這段程序說白了是對AddFolderIcon的一個應用而已。應用AddFolderIc
on來在開始選單中添加程序組、程序項或在桌面桌面添加快捷方式等等。所以首
先讀一下AddFolderIcon的說明非常必要。它共有八個入口參數。第一個參數szP
rogramFolder是確定要在Win95中添加選單的位置(路徑),例如
"C:\\WINDOWS\\STARTMENU\\PROGRAMS\\ACCESSORIES\\GAMES"。
而在Windows95和WinNT4.0中,還可以用系統的宏定義:FOLDER_DESKTOP(添
加在桌面上)、FOLDER_DESKTOP(添加在開始選單中)、FOLDER_PROGRAMS(添加在開
始-〉程序選單中)等。第二個參數為szItemName,即添加的圖標的名稱(應用程
序的名稱)。第三個參數szCommandLine相對繁瑣一些。它為了指定可執行程序和
它的命令行,或者在子目錄下的全路徑(僅適用于Windows95&winNT4.0)。szWo
rkingDir為工作路徑,可為空:“”,或為TARGETDIR(目標路徑)。szIconPat
h為圖標路徑,一般設為空:“”。nIcon為圖標序數,即若應用程序有若干個圖
標,想顯示那個,依次為0,1,2……。
szShortCutKey用來定義快捷鍵。nFlag用來指定圖標的外觀。如果在路徑中
包含長路徑名,則必需用‘’或“”來包含,然后用LongPathToQuote函數來合并
。當用于16位的Win31和WinNT3.5時,還應再調用一下LongPathToShortPath進行
轉換。如此便可創建程序組、程序項或快捷方式了。太麻煩了?沒關系,如果您
認為這一段操作實在麻煩,您完全可以略過,到Resource中去完成,詳情請往后
看。
(2)function?SetupScreen()
begin
Enable(?FULLWINDOWMODE?);
Enable(?INDVFILESTATUS?);
SetTitle(?"眼科多功能處理系統安裝程序",?28,YELLOW?);//修改字體和顏
色
SetTitle(?"眼科多功能處理系統",?0,?BACKGROUNDCAPTION?);?//?標題行的
字體和顏色
Enable(?BACKGROUND?);
Delay(?1?);
end;
這兒主要是SetTitle?(szString,?nPointSize,?nColor)函數的應用。
三個參數分別代表了所寫字符串的內容、字體大小、文字顏色。
(3)function?DialogShowSdWelcome()
NUMBER?nResult;
STRING?szTitle,?szMsg;
begin
szTitle?=?"歡迎";
szMsg?=?"歡迎您光臨?眼科多功能處理系統?安裝程序!";
nResult?=?SdWelcome(?szTitle,?szMsg?);
return?nResult;
end;
在這個函數里寫入您想制作程序的標題。
(4)function?SetupRegistry()
NUMBER?nResult;
STRING?szKey,?szNumName,?szNumValue,?svNumValue;
NUMBER?nType,?nSize;
begin
szKey="Robert\\RobertSoftware\\Spirit\\Version";//自己的主鍵
szNumName?=?"TestValue";//鍵名
szNumValue?=?"12345";//鍵值
nType?=?REGDB_NUMBER;//類型
nSize?=?-1;//指定大小
RegDBSetKeyValueEx(szKey,?szNumName,?nType,?szNumValue,nSize)?;//創
建
nResult?=?CreateRegistrySet(?""?);
return?nResult;
end;
通過這種方法修改注冊表,再輔以一些算法,可以投入很小但起到很好的加
密程序的作用,您不妨一試!??
(5)function?DialogShowSdFinishReboot()
NUMBER?nResult,?nDefOptions;
STRING?szTitle,?szMsg1,?szMsg2,?szOption1,?szOption2;
NUMBER?bOpt1,?bOpt2;begin
if?(!BATCH_INSTALL)?then
?bOpt1?=?FALSE;//不選
?bOpt2?=?FALSE;//不選
?szMsg1?=?"%P?安裝結束!\n";//%P代表安裝程序名字。
szMsg2?=?"按結束鍵結束?%p?安裝。";//提示信息
szOption1?=?"我想看自述文件。";
?szOption2?=?"我想現在就運行程序。";
?nResult?=?SdFinish(?szTitle,?szMsg1,?szMsg2,?
szOption1,?szOption2,?bOpt1,?bOpt2?);
if(bOpt1)?then
?LaunchAppAndWait(WINDIR^"Notepad.exe",TARGETDIR^"readme.txt",WAIT
);//如果選中,調用Windows的筆記本載入自述文件。
endif;?if(bOpt2)?then
?LaunchApp(TARGETDIR^'eye95.exe',"");//如選中,立刻執行應用程序
endif;
?return?0;
endif;
nDefOptions?=?SYS_BOOTMACHINE;
szTitle?=?"";
szMsg1?=?"";
szMsg2?=?"";
nResult?=?SdFinishReboot(?szTitle,?szMsg1,?
nDefOptions,?szMsg2,?0?);//由此控制決定是否重新啟動計算機。
return?nResult;
end;
這一段程序便是安裝到最后,可以提示用戶是否看自述文件、是否立刻啟動
程序運行、是否重新啟動計算機。
Scripts最需要改動的地方可能就是這五個地方。其它則根據制作者自己的需
要來做相應修改。
二、修改File?Groups
雙擊相應的Examples?Files、Help?Files、Program?DLLs、Program?Execut
able?Files、Shared?Dlls,在相應的Links中,單擊右鍵,可以插入一組文件、
一個文件夾或一個文件。而在Examples?Files、Help?Files、Program?DLLs、Pr
ogram?Executable?Files、Shared?Dlls中分別加入文件是為了在程序安裝時的選
項安裝。更為簡便的方法是在Tools中啟動Launch?Explorer,然后把所需的文件
或文件夾拖拉到右面空白處即可。
三、修改Components
單擊Program?Files、Example?Files、Help?Files或Shared?Dlls,在右面的
表格中雙擊Include?File?Groups,在彈出的屬性對話框里單擊Add…,加入相應
的文件組。
四、修改Setup?Types
單擊Compact、Typical或Custom,在右面的表格中選擇各自包括的組成成份
。
注:有了二、三、四項的操作,才能完成安裝時的“典型安裝、簡潔安裝和
定制安裝”的選擇。
五、修改Setup?Files
在Splash?Screen-〉Language?Independent中你會發現一個Setup.bmp文件,
這個是系統提供給你的安裝開始時的閃爍畫面。你可以用你的封面替代這個setu
p.bmp。在Language?Independent-〉Operating?System?Independent中,你會發
現license.txt和infolist.txt。你可以將你的應用程序的說明、版權信息寫入相
應文件。
六、修改Resource
在Register?Entires中,你可以添加你的鍵值。對Register?Entires單擊鼠
標右鍵,單擊New?Entry,便可在右面的Register?Set中加入自己的鍵值。
在Shell?Objects中,有Explorer?Shell和Program?Manager?Shell兩個分類
,分別是為了windows95、WinNT4.0和win31、winNT3.5設計的。在Explorer?She
ll中,又有Desktop、Start?Menu、Programs、Startup的層次之分。你可以在任
一層單擊右鍵,插入您所需要加的快捷方式或文件夾。
單擊快捷方式或文件夾,雙擊右面的表格選項,依次填入空白項,那么在您
理想的目的地的文件夾或快捷方式便建好了。不要著急去按下Run?Setup工具按鈕
,否則您會發現您運行后得到的并不完全是您所設計的!這是因為您少了:
七、運行Media?Wizard
在Media欄,單擊Media?Build?Wizard,按照提示一步一步執行,直至結束(
而實際上您僅需連續按“下一步”按鈕)。您完全可以再此基礎上加上更多的更
精彩的小花招,如:加密、安裝拷貝時的不同的背景變換、制成一個自解包的安
裝文件、做一個帶時間限制的試用版安裝等等,InstallShield都可以滿足您的需
要。但這些小花招,基本都需要您對Scripts的熟練掌握,這些都是用簡潔方式所不
能控制的。
轉載于:https://www.cnblogs.com/server/archive/2009/02/14/1390508.html
總結
以上是生活随笔為你收集整理的InstallShield打包软件使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 摩托罗拉 L7 用mpt实现备份恢复电话
- 下一篇: 河师大计算机技术专硕复试考什么,2021