91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

利用InstallShield12制作安裝包詳細(xì)教程

admin
2013年1月17日 2:50 本文熱度 9196


認(rèn)識InstallShield12


    進(jìn)入公司以來,頭一件工作就是接手了公司所有系統(tǒng)平臺(tái)的打包安裝工作,從做這件工作到現(xiàn)在已經(jīng)有一段時(shí)間了,趁著晚上這點(diǎn)閑暇時(shí)間,總結(jié)一下。
   
記得剛開始聽到InstallShield時(shí),竟不知其為何物!后來纏著InstallShield過了差不多一周時(shí)間,才漸漸有了入門的感覺。而今,打包安裝工作已經(jīng)成為日常工作之一了,每天花上不到半個(gè)小時(shí)的時(shí)間即可完成多個(gè)安裝包的制作及相應(yīng)升級包的制作。說到這里,特別準(zhǔn)備了幾個(gè)部分,也來說說利用InstallShield12制作安裝包的一些方法技巧。今天是第一部分,認(rèn)識InstallShield12(其實(shí)市面上已經(jīng)有InstallShield2009、InstallShield2010了,只不過本人使用的是InstallShield12,故拿其作為例子)。
   
在介紹InstallShield12之前,或許很多使用InstallShield工具打包的朋友都應(yīng)該很清楚,InstallShield方面的高級資料較少,一般的來源可以從InstallShield中文技術(shù)論壇(
http://installshield.jaron.cn/forum/)、InstallShield公司的社區(qū)網(wǎng)站(http://community.flexerasoftware.com/)及英文版的幫助文檔找到部分資料。不過,說實(shí)在的,真正有幫助的還是相對較少,這其中可能就需要自己去挖掘了。
   
關(guān)于InstallShield12,首先,我們先來看看新建一個(gè)InstallScript Project后的界面示意圖,如圖1.1所示:



圖1.1


    在圖1.1中,這是一個(gè)向?qū)降闹谱靼惭b包的全過程,如果制作簡單的安裝包,那么使用這個(gè)向?qū)нM(jìn)行Step by step的方式就可以了,而如果要制作較為復(fù)雜的安裝包或升級包,那么就需要用到Installation Designer面板中的相關(guān)操作了,這個(gè)在后面再進(jìn)行闡述。
   
我們先來看看在Project Assistant面板中每一項(xiàng)的功能:
(1)Application Information:設(shè)置安裝包的一些基本信息,如公司名稱、安裝包名稱、安裝包版本號、公司網(wǎng)站地址等;
(2)Installation Architecture:設(shè)置安裝包的主體結(jié)構(gòu),一般用來設(shè)置安裝包中有多少個(gè)安裝項(xiàng)目;
(3)Application Files:指定安裝文件路徑及所需的安裝文件夾,在這一步可以通過Add Files或者Add Folders將文件或文件夾添加到指定位置,如Application Target Folder或Program Files或Windows System下等,關(guān)于這其中的一些存放目錄的區(qū)別會(huì)在后面進(jìn)行說明;
(4)Application Redistributables:用于添加第三方組件;
(5)Application Shortcuts:創(chuàng)建程序啟動(dòng)的快捷方式,如開始菜單快捷方式、桌面快捷方式等;
(6)Application Registry:對注冊表進(jìn)行操作;
(7)Installation Interview:一些簡單的對話框選擇操作,如使用協(xié)議、公司名用戶名等;
(8)Installation Localization:安裝包界面語言的選擇;
(9)Build Installation:選擇安裝包的格式并編譯成安裝包,如*.exe文件等;
   
以上是對Project Assistant面板中每一步的基本功能進(jìn)行了簡單的說明,通過這個(gè)向?qū)В纯赏瓿梢粋€(gè)簡單的安裝包制作。
    下面我們再來看看Installation Designer面板,如圖1.2所示:


圖1.2


    在圖1.2中,可以看到,該界面其實(shí)就是對Project Assistant面板的細(xì)化,對其中的部分功能說明如下:
(1)Installation Information->Project Properties->Setup Languages:設(shè)置安裝包的語言種類,可以設(shè)置多種語言,在運(yùn)行安裝包時(shí)會(huì)出現(xiàn)安裝語言選擇界面;
(2)Installation Information->Project Properties->Add or Remove Programs->Disable Change Button:隱藏該安裝包在添加刪除程序列表中的更改按鈕;
(3)Installation Information->Project Properties->Add or Remove Programs->Disable Remove Button:隱藏該安裝包在添加刪除程序列表中的刪除按鈕。


(4)Organization->Feature:特征,每個(gè)Feature可包含子Feature及若干個(gè)Component,每個(gè)Feature都會(huì)出現(xiàn)在Feature選擇界面中,一旦Feature被選擇安裝其包含的Component就會(huì)被安裝到系統(tǒng)中去;
(5)Organization->Component:組件,每個(gè)Component可設(shè)置需要安裝的文件、寫入的注冊表信息、創(chuàng)建的快捷方式等等;通常在這里指定是否卸載、是否注冊、安裝策略(如果遇到舊版本是全部覆蓋還是部分覆蓋,是先版本后時(shí)間覆蓋還是只按版本高低覆蓋等);
(6)Organization->Setup Type:安裝類型,一般默認(rèn)有Minimal(壓縮)、Typical(典型)、Custom(自定義),每種安裝類型包含若干個(gè)Feature;
(7)Organization->Setup Design:設(shè)置Features、Components(組件)及Files(安裝文件)等等。


(8)Application Data->Files and Folders:管理安裝文件夾及文件,基本上每次打包都要使用;
(9)Application Data->Objects:選擇需要安裝的系統(tǒng)運(yùn)行庫。


(10)System Configuration->Shortcuts:創(chuàng)建快捷方式;
(11)System Configuration->Registry:向注冊表中添加鍵值;
(12)System Configuration->XML File Changes:添加或更改XML文件。


(13)Server Configuration->Internet Infosmation Services:配置IIS網(wǎng)站及虛擬目錄;
(14)Server Configuration->SQL Scripts:配置數(shù)據(jù)庫,可以支持Microsoft SQL Server, MySQL, and Oracle數(shù)據(jù)庫;


(15)Behavior and Logic->InstallScript:編寫安裝程序的腳本,這是制作復(fù)雜的基于InstallScript的安裝包的最常使用的部分;
(16)Behavior and Logic->Support Files/Billboards:添加安裝過程中需要的文件及安裝背景;


(17)User Interface->Dialogs:編輯安裝過程中使用的窗體,在InstallShield12中不包含準(zhǔn)備安裝窗體和復(fù)制文件窗體,所以如果要編輯這兩個(gè)窗體的界面是很難辦到的,至少是不完美的。


(18)Media->Path Variables:編輯安裝路徑變量;
(19)Media->Releases:制作安裝媒體。


(20)Additional Tools->Dependency Scanners:搜索工具;
(21)Additional Tools->Direct Editor:命令編輯器,在這里可以查看或編輯安裝程序的各類信息。


    通過上面的基本描述,要制作一個(gè)安裝包,通過最常用的是Installation Information、Organization->Component、Organization->Setup Type、Application Data->Files and Folders、System Configuration->Shortcuts、Behavior and Logic->InstallScriptMedia->Releases等部分。


    此外,在這里還需要再簡單說明一下Application Files中幾個(gè)目錄的區(qū)別,首先是Application Target Folder,該目錄表示安裝包在目標(biāo)系統(tǒng)中要安裝的目錄,其根目錄可在InstallScript腳本中編寫,而用戶則可以在安裝過程中進(jìn)行選擇并安裝到用戶想要的目錄;Program Files表示目標(biāo)系統(tǒng)的系統(tǒng)磁盤的Program Files目錄,是不允許更改的;Program Files(64-bits)是針對64位系統(tǒng)而言的;Support Folder通常用來存放幫助文檔等;Fonts Folder是指目標(biāo)系統(tǒng)的系統(tǒng)磁盤的字體文件夾目錄;Windows System表示的是目標(biāo)系統(tǒng)的系統(tǒng)磁盤的Windows System目錄,如Windows XP的system32目錄,也是不允許更改的;Windows System(64-bits)是針對64位系統(tǒng)而言的。


    OK,認(rèn)識InstallShield12就先到這里,在下面的內(nèi)容中,將會(huì)跟各位談?wù)処nstallScript腳本的編寫等問題。


 


利用InstallScript腳本進(jìn)行最基本的編程


    在公司負(fù)責(zé)打包安裝這份日常工作,同時(shí)還負(fù)責(zé)系統(tǒng)或平臺(tái)的升級,鑒于公司產(chǎn)品在升級方面要求的特殊性(在B/S上升級C/S程序),本人經(jīng)過將近一個(gè)月的努力,完成了公司產(chǎn)品從最原始的手動(dòng)升級到半自動(dòng)化的升級工作,這其中除了需要自己編寫升級程序之外,同時(shí)還需要結(jié)合升級包做相應(yīng)的工作。
    在做安裝包或升級包的過程中,很大一部分工作靠InstallScript腳本完成,在這里作簡單的總結(jié)。
    首先,想必接觸過InstallShield的朋友都非常清楚,IS有很多的固定函數(shù),這些函數(shù)在安裝的不同階段分別執(zhí)行,比如OnFirstUIBefore、OnFirstUIAfter、OnEnd等。這里需要強(qiáng)調(diào)的是,IS函數(shù)的執(zhí)行順序跟顯示順序是無關(guān)的,其執(zhí)行順序是已經(jīng)固化的。
    我們可以通過腳本來實(shí)現(xiàn)安裝界面的增加或減少,比如我們想去掉許可協(xié)議界面,那么可以刪掉或注釋掉OnFirstUIBefore函數(shù)中的Dlg_SdLicense2:下的這段代碼:
/*
Dlg_SdLicense2:
    szTitle = "";
    szOpt1 = "";
    szOpt2 = "";
    //{{IS_SCRIPT_TAG(License_File_Path)
    szLicenseFile = SUPPORTDIR ^ "License.rtf";
    //}}IS_SCRIPT_TAG(License_File_Path)
    //{{IS_SCRIPT_TAG(Dlg_SdLicense2)
    nResult = SdLicense2Rtf( szTitle, szOpt1, szOpt2, szLicenseFile, bLicenseAccepted );
    //}}IS_SCRIPT_TAG(Dlg_SdLicense2)
    if (nResult = BACK) then
        goto Dlg_SdWelcome;
    else
        bLicenseAccepted = TRUE;
    endif;
*/
    關(guān)于各個(gè)函數(shù)的用法,可以查看InstallShield的幫助文檔,亦可以到網(wǎng)上搜索“InstallShield內(nèi)部庫函數(shù)”,這里不作詳述。
    下面,跟大家分享一些本人在做安裝包和升級包過程中所學(xué)習(xí)或摸索到的一些小技巧。
(1)檢測操作系統(tǒng)是否為Windows Vista
if (SYSINFO.WINNT.bWinVista) then    
     if (SYSINFO.nOSProductType = VER_NT_WORKSTATION) then  
          // 當(dāng)前操作系統(tǒng)為Windows Vista
     endif;
endif;


(2)注冊表操作
    讀取注冊表采用RegDBGetKeyValueEx (szKey, szNumName, nType, svvalue, nSize )函數(shù),寫入注冊表采用RegDBSetKeyValueEx (szKey, szNumName, nType, szNumValue, nSize)函數(shù),刪除注冊表項(xiàng)采用RegDBDeleteKey ( szSubKey )函數(shù),刪除注冊表項(xiàng)中某一個(gè)鍵值采用RegDBDeleteValue ( szSubKey, szValue )函數(shù),等等。所有這些都可以方便地通過InstallShield的幫助文檔找到相應(yīng)的使用說明。需要說明的是,如果有多個(gè)地方需要進(jìn)行讀注冊表或?qū)懽员聿僮鳎敲唇ㄗh將這個(gè)方法寫成一個(gè)自定義的函數(shù),在需要使用的地方就可以非常方便地調(diào)用了。另外,還需要注意的是不要忘了在讀注冊表或?qū)懽员淼炔僮髦凹由线@句RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE),當(dāng)然也不用每個(gè)地方都加,在一個(gè)函數(shù)體內(nèi)只需加一個(gè)就夠了,而對于特殊情況當(dāng)然是特殊處理了。


(3)安裝完成前執(zhí)行指定文件
    通常,在安裝完成之前需要執(zhí)行指定的文件,如為防止某些文件注冊不成功,采用批處理方式進(jìn)行再一次的注冊,這時(shí)可以寫一個(gè)批處理文件*.bat,然后通過如下面的語句執(zhí)行一下即可:
sProgramme_name = WINSYSDIR ^"\\myReg.bat"; 
szCmdLine = "";
if LaunchAppAndWait(sProgramme_name, szCmdLine, WAIT) < 0 then; 
endif;


(4)隱藏安裝文件復(fù)制界面
    可以在OnMoving函數(shù)中編寫一行代碼:Disable(STATUSOLD)即可實(shí)現(xiàn)。


(5)檢測磁盤空間是否足夠于安裝
    當(dāng)安裝包非常大時(shí),我們通常要考慮目標(biāo)計(jì)算機(jī)的執(zhí)行磁盤分區(qū)是否有足夠的空間來順利完成安裝,在這里可以通過GetDisk (szDir, svDrive)、GetDiskSpace (svDrive)函數(shù)進(jìn)行粗略的估算,如下:
GetDisk (szDir, svDrive);
lFreeSpace = GetDiskSpace (svDrive);   
if (lFreeSpace < 314572800) then
    MessageBoxEx("警告:本安裝所需磁盤空間最低約為300M,安裝路徑所在的磁盤空間不足!請重新選擇!","警告",WARNING);
    goto Dlg_SdAskDestPath;
endif;
上述代碼一般放到OnFirstUIBefore函數(shù)的Dlg_SdAskDestPath中。


(6)創(chuàng)建并寫數(shù)據(jù)到文件
    有時(shí),為適應(yīng)實(shí)際需要,我們需要在安裝過程中創(chuàng)建一個(gè)配置文件(如Config.dat),并將一些初始化數(shù)據(jù)寫入該文件中,這時(shí)就需要用到CreateFile函數(shù),例程如下:
    /* 創(chuàng)建配置文件并寫入初始化配置參數(shù) */
    szConfigDir = TARGETDIR ^"\\Test\\Start";
    szConfigPath= TARGETDIR ^"\\Test";
    szConfigFile = "Config.dat";    
    // 以FILE_MODE_APPEND 方式打開文件
    OpenFileMode (FILE_MODE_APPEND);
    // 創(chuàng)建配置文件并打開該文件
    if (CreateFile (nvFileHandle, szConfigDir, szConfigFile) < 0) then
        MessageBox ("創(chuàng)建配置文件失敗,安裝程序?qū)⒔K止!", SEVERE);
        abort;
    else
        // 將配置數(shù)據(jù)寫入配置文件
        szMsg = "[INIT]\n1="+ szConfigPath;
        if (WriteLine(nvFileHandle, szMsg) < 0) then
            MessageBox ("寫入配置參數(shù)失敗,安裝程序?qū)⒔K止!", SEVERE);
            abort;
        endif;
    endif;


    CloseFile (nvFileHandle); //關(guān)閉文件


    以上都是一些最基本的腳本代碼,要寫好InstallScript腳本,需要在實(shí)際工作學(xué)習(xí)過程中多鉆研、多去發(fā)現(xiàn)。只要用心,有時(shí)候還是可以在InstallShield的技術(shù)社區(qū)找到一些我們想要的東西,并且會(huì)時(shí)不時(shí)地帶給我們一些意外的驚喜。


 


判斷操作系統(tǒng)類型的多種方法


    用InstallShield制作安裝包時(shí),有時(shí)候需要判斷操作系統(tǒng)的類型(如Windows XP或者是Windows Vista等),本人通過上InstallShield的官方社區(qū)(http://community.flexerasoftware.com/)找到了一些解決辦法,現(xiàn)將本人整理過的方法曬出來,與各位一起分享。


方法一:采用注冊表的方式進(jìn)行判斷,例程如下:
NUMBER nOS,nvResult;
STRING svOS;


nOS = REGDB_NUMBER;
RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE );
RegDBGetKeyValueEx( "SOFTWARE//Microsoft//Windows NT//CurrentVersion","CurrentVersion", nOS, svOS, nvResult);
if (svOS == "6.0") then
    MessageBox("We are on Vista!", INFORMATION);
else
    if (svOS == "5.1") then
        MessageBox("We are on XP!",INFORMATION);
    endif;
endif;


方法二:采用GetSystemInfo函數(shù)進(jìn)行處理,請看下面的說明信息:
SYSINFO.nWinMajor
4  The operating system is Windows NT 4.0.  
5  The operating system is Windows Server 2003 R2, Windows Server 2003, Windows   XP,or Windows 2000.  
6  The operating system is Windows Vista or Windows Server 2008.  


SYSINFO.nWinMinor:
 The operating system is Windows Vista, Windows Server 2008, Windows 2000, or Windows NT 4.0.  
1  The operating system is Windows XP.  
2  The operating system is Windows Server 2003 R2, Windows Server 2003, or Windows XP Professional x64 Edition. 


GetSystemInfo(WINMINOR, nvResult, svResult);
GetSystemInfo(WINMAJOR, nvResult, svResult);


方法二可以通過InstallShield的幫助文檔找到更詳細(xì)的信息。


方法三:通過SYSINFO.WINNT的方法進(jìn)行判斷,例程如下:
if (SYSINFO.WINNT.bWinVista) then   
     if (SYSINFO.nOSProductType = VER_NT_WORKSTATION) then 
          // 當(dāng)前操作系統(tǒng)為Windows Vista
     endif;
endif;
if (SYSINFO.WINNT.bWinXP) then    
    當(dāng)前操作系統(tǒng)為Windows XP
endif;


上述三種方法是最為常見的解決辦法,當(dāng)然亦可能還有其他的方法可以進(jìn)行處理。


 


隱藏準(zhǔn)備安裝界面



    使用InstallShield12制作安裝包、升級包的這段時(shí)間以來,一直希望能夠在安裝界面上做點(diǎn)工作,使得安裝界面能夠更加符合產(chǎn)品應(yīng)用的實(shí)際需求,不過因?yàn)橘Y料少及經(jīng)驗(yàn)不足等原因,一直未能如愿。這兩天,在打包過程中,終于發(fā)現(xiàn)了一點(diǎn)符合應(yīng)用的小技巧,特別拿出來分享。


    安裝包、升級包的要求中有這么一條:需要將準(zhǔn)備安裝界面隱藏。在查看了InstallShield12的幫助文檔及相關(guān)資料后,可以通過設(shè)置CommandLine參數(shù)順利實(shí)現(xiàn)。具體是在Installation Designer->Media->Releases->SINGLE_EXE_IMAGE->Setup Command Line加上/hide_progress即可,如下圖:

    如果要隱藏整個(gè)安裝過程,那么將上述的命令改為/s hide_progress即可。
    此外,我們通常希望去掉InstallShield Wizard字樣,本人看過不少資料,亦按照這些資料中所講的方法嘗試過多次,可惜的是均不能完全實(shí)現(xiàn)這一點(diǎn),部分還是可以去掉的,比如在string tables里面將InstallShield Wizard替換成自己想要的文字(如安裝向?qū)В缦聢D:

    同時(shí),可以通過Edit指定對話框,對所需要的對話框做適當(dāng)?shù)男薷模热缧薷陌惭b界面左側(cè)的圖片等。當(dāng)然如果修改了對話框,則在我的印象中,對安裝包更換皮膚的話,已修改過的界面將保持修改狀態(tài),而不會(huì)跟著更換皮膚。


    由于打包安裝工作純屬本人的日常工作,而非本人的工作重心,所以平時(shí)在打包安裝方面所花的時(shí)間和精力相對不足,還有不少地方未能花上足夠的時(shí)間去深入研究,比如能否根據(jù)自己的需求定制每一個(gè)安裝界面等,如果哪位朋友有這方面的經(jīng)驗(yàn),不吝賜教。


 


常見系統(tǒng)DLL/OCX控件信息匯集


   利用InstallShield制作安裝包/升級包時(shí),常常需要對控件進(jìn)行分類,如劃分為系統(tǒng)需要注冊的控件、系統(tǒng)不需要注冊的控件等類別,這就對打包安裝開發(fā)人員提出了較高的要求,需要自己去判斷哪些文件需要注冊而哪些文件不需要注冊等等。在這里,結(jié)合本人在打包安裝工作中遇到的問題,將一些常見的與系統(tǒng)相關(guān)的或第三方DLL/OCX控件信息整理了一下,與各位朋友分享,如果有錯(cuò)誤之處,歡迎指出。
































































































































































































序號


DLL文件


DLL名稱


描述


屬于


系統(tǒng)DLL


是否需要注冊


安全等級(0-5


1


asycfilt.dll


Microsoft OLE DLL


Microsoft OLE (對象鏈接和嵌入)特性相關(guān)DLL文件


OLE




0


2


comcat.dll


Microsoft Component Category Manager Library


Microsoft Component Category Manager Library


Microsoft® Windows® Operating System




0


3


gapi32.dll


Microsoft Mail Configuration Library


微軟郵件協(xié)議相關(guān)文件


Microsoft Exchange




0


4


msvbvm60.dll


VB Virtual Machine


微軟Microsoft Visual Basic虛擬機(jī)相關(guān)模塊


Visual Basic




0


5


oleaut32.dll


Microsoft OLE DLL


對象鏈接與嵌入OLE相關(guān)文件


Microsoft OLE DLL




0


6


olepro32.dll


Microsoft OLE Property Support DLL


對象鏈接和嵌入OLE特性相關(guān)模塊


Microsoft OLE Property Support DLL




0


7


riched32.dll


RichEdit DLL


字符編輯器相關(guān)文件


RichEdit




0


8


richtx32.ocx


Microsoft Rich Text OLE Control


微軟Microsoft字符編輯器控制相關(guān)程序,用于字符對話框?qū)ο蟾呒壘庉?/SPAN>


Visual Basic




0


9


vb6stkit.dll


Visual Basic Setup Toolkit Library DLL


Visual Basic應(yīng)用程序接口API相關(guān)文件


Visual Basic




0


10


mscomctl.ocx


Windows Common Controls ActiveX Control DLL


公用ActiveX插件控制模塊


Windows ActiveX




0


11


comdlg32.ocx


COMDLG32 OLE Control DLL


一個(gè)ActiveX控制模塊,用于通用對話框控制


OLE




0


12


hhctrl.ocx


Microsoft HTML Help Control


Microsoft幫助文檔界面相關(guān)文件


Microsoft HTML Help Control




0


13


mscomct2.ocx


Microsoft Common Controls 2 ActiveX Control DLL


ActiveX插件公用管理模塊


Windows ActiveX




0


14


msdxm.ocx


Windows Media Player 2 ActiveX Control


Windows Media Player播放器ActiveX控制相關(guān)文件


Windows Media Player




0


15


msscript.ocx


Microsoft Script Control


Visual Basic 6.0應(yīng)用程序腳本控制的一部分,用于運(yùn)行時(shí)庫


Visual Basic




0


16


mswinsck.ocx


Microsoft Winsock Control DLL


Visual Basic語言的socket編程相關(guān)文件


Visual Basic




0


17


sysmon.ocx


Microsoft System Monitor Control


系統(tǒng)性能監(jiān)視的ActiveX控件


Microsoft Windows




0


18


tabctl32.ocx


TABCTL32 OLE Control DLL


一個(gè)ActiveX控制模塊,用于SSTab控制和Tabbed對話框控制


OLE




0


19


tdc.ocx


TDC ActiveX Control


Visual Basic應(yīng)用程序相關(guān)表列數(shù)據(jù)ActiveX控件模塊


Visual Basic




0


20


wshom.ocx


Windows Script Host Runtime Library


Windows本地腳本對象運(yùn)行時(shí)相關(guān)文件


Windows Script Host




0


該文章在 2013/1/17 2:50:41 編輯過

全部評論1

admin
2013年1月17日 2:58

這個(gè)功能我找了很久,哈哈,太開心了,謝謝!!

你好,我想向你請教下關(guān)于InstallShield12注冊COM組件的問題,我就問下最簡單的:是怎樣注冊COM組件的?

注冊COM組件可以使用Component選項(xiàng)若干選項(xiàng)進(jìn)行處理,若注冊不成功,你可以自己編寫批處理文件進(jìn)行再次注冊。具體的你可以看看installshield的官方文檔及官方論壇上的一些提問。http://community.flexerasoftware.com/showthread.php?t=148394

你好,我想請教個(gè)問題。如果每次雙擊installshield制作的安裝包都是安裝界面,而不是安裝過后再次雙擊出現(xiàn)的維護(hù)/刪除選項(xiàng)界面?謝謝,期待您的回復(fù)

不知你的要求是否是這樣:安裝包只提供安裝功能,而無維護(hù)卸載功能?如果是,可以通過設(shè)置Project菜單中的Settings命令進(jìn)行設(shè)置(因本人久未接觸打包,印象中是該項(xiàng)),通過對工程進(jìn)行編譯及調(diào)試的設(shè)置,可以將安裝包設(shè)置為每次都是安裝(含覆蓋安裝)。要么通過腳本來控制也是可行的,如修改OnMaintUIBefore()等函數(shù)。關(guān)于具體的操作細(xì)節(jié),請到installshield的官方論壇查閱相關(guān)的帖子或幫助文檔。

非常感謝您的回復(fù),我已在研究您說的內(nèi)容。另外您知道像qq安裝程序那種界面如果用installshield完成么,或者qq安裝程序是否用其他的工作制作完成?謝謝,期待您的回復(fù)!

關(guān)于類似于QQ的安裝包,本人未曾實(shí)現(xiàn)過。不過,鑒于InstallShield的強(qiáng)大,應(yīng)該是可以做得到的,剩下的只是自己慢慢去研究InstallShield的一些高級技巧罷了(我個(gè)人感覺InstallShield在界面處理方面似乎不夠友好,也許是本人未曾深入研究)。另,QQ安裝包貌似是用NullSoft Installation制作的~

我用你的方法,可不進(jìn)行安裝,文件也不拷貝了,不知道你是怎么解決的,謝謝!!

關(guān)于你提到的問題,我想需要更具體地了解你所描述的問題或許才能做出判斷。不知你使用的安裝包類型是什么類型?是Basic MSI Project還是InstallScript MSI Project 或是其他的?如果是InstallScript MSI Project的,應(yīng)該是不會(huì)出現(xiàn)你所說的問題,至少到目前為止我未曾遇到過。

我用的是InstallScript Project,但我用InstallScript MSI Project類型沒Setup Command Line這個(gè)選項(xiàng)

InstallScript MSI Project類型的項(xiàng)目本人沒有使用過,不過本人為此找了一份文檔,地址如下:http://kb.flexerasoftware.com/doc/Helpnet/installshield12helplib/IHelpSetup_EXECmdLine.htm,不知對你是否有幫助。你也可以到InstallShield的論壇去找找看,或許會(huì)找到更好的幫助。

我怎么沒找到Releases-&gt;SINGLE_EXE_IMAGE這個(gè)地方呢?請明示下,謝謝.

你可以在Project Assistant面板的Build Installation中勾選第一項(xiàng),然后編譯生成單獨(dú)的exe,之后即可看到Releases-&gt;SINGLE_EXE_IMAGE了。

正在查找怎樣隱藏準(zhǔn)備安裝界面,謝謝。

關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 九九这里只有精品 | 国产精品理 | 国产激情片 | 奇米777四 | 成人亚洲欧美综合 | 午夜福利日韩精品 | 蜜臀国产在线视频 | 日韩乱码人 | 国产末成年 | 午夜影视九九国产 | 日本成人www| 国产极品美女视频 | 日韩精品在线免费 | 国产午夜理论 | 97视频免费观看 | 片免费在线 | 皮皮影视 | 91精品最新 | 人人影视网 | 国产天堂网在线视频 | 黑人巨大| 国产成年人免费在 | 国产欧美激情亚洲情 | 91九色| 国产自产精| 午夜国产更新 | 91性爱网| 国语普通话对白国产 | 国产精品一区在线麻 | 中文字幕国产一区 | 午夜激情影院 | 欧美在线精品国自产 | 青青草精品在线视 | 午夜成人福利电影 | 国产精品酒店在线 | 成人半夜释放羞 | 日韩欧美中文综合 | 热99国产 | 国产在线区 | 青青草原国产在 | 青青在线国产精品 |