日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

InstallShield打包软件使用

發布時間:2024/3/26 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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打包软件使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。