實(shí)現(xiàn)方法:如果對(duì)用戶界面等自定義要求不高的話,建議用Basic Msi Project,否則用InstallScript MSI Project。
2、?? 問(wèn)題描述:安裝后快捷方式為亂碼。
實(shí)現(xiàn)方法:將簡(jiǎn)體中文設(shè)為默認(rèn)安裝語(yǔ)言后刪除English前的勾。
操作步驟:在InstallationDesigner頁(yè)面中Installation Information-General Information->StringTables右擊Chinese(simplify)在彈出的快捷菜單中選擇Make default,回到ProjectAssistant頁(yè)面的相應(yīng)處去掉English前的勾。
3、?? 問(wèn)題描述:安裝界面的中文全顯示為亂碼。
產(chǎn)生原因:之前已編譯過(guò)英文的安裝包。
實(shí)現(xiàn)方法:在Bulid菜單中的Release Wizard中修改設(shè)置再重新編譯即可。
4、?? 問(wèn)題描述:如何修改系統(tǒng)默認(rèn)的安裝文件夾?
實(shí)現(xiàn)方法:在Information-ProductProperties中INSTALLDIR右側(cè)的文本框中單擊,再單擊文本框右側(cè)的 ,在彈出的SetINSTALLDIR對(duì)話框中新建目標(biāo)文件夾,點(diǎn)擊OK后,再次點(diǎn)擊 選擇剛才建好的那個(gè)文件夾。點(diǎn)OK 即可將默認(rèn)的安裝目錄修改。
5、?? 問(wèn)題描述:怎么在開(kāi)始程序中加上卸載的快捷方式。
實(shí)現(xiàn)方法:在Project Assistant頁(yè)面的Appication Shotcuts中單擊左側(cè)的Create an unlinstallation shotcut。
6、?? 問(wèn)題描述:安裝時(shí)怎么使控件自注冊(cè)。
實(shí)現(xiàn)方法:在Project Assistant頁(yè)面的中右側(cè)選中控件,右擊選擇Properties在彈出的對(duì)話框中勾上Self Register復(fù)選框。
7、?? 問(wèn)題描述:怎么實(shí)現(xiàn)在卸載時(shí)有的控件不被刪除。
實(shí)現(xiàn)方法:直接單擊InstallationDesigner頁(yè)面,選中Application Data下的Files and Folders,在Destinationcomputer’sfolders中選中不要被卸載的組件,右擊選擇Properties在彈出的對(duì)話框中勾上Permanent復(fù)選框(若沒(méi)有復(fù)選框可以在organiztion處的setup design處設(shè)置 )
8、?? 問(wèn)題描述:怎么在Basic MSI Project安裝工程中實(shí)現(xiàn)安裝后運(yùn)行指定的安裝程序。
實(shí)現(xiàn)方法:首先在Installation Designer頁(yè)面的Behavior and Logic中單擊InstallScript,右擊Files在彈出的快捷菜單中選擇New Script file,然后新建相關(guān)函數(shù)。例如:
#include "ifx.h"
export prototype RunSetIIS(HWND);
function RunSetIIS(hMSI)
?? STRING svResult;
begin????
?????? if(FindFile(INSTALLDIR,"設(shè)置IIS.exe",svResult)=0) then
?????? LaunchAppAndWait (INSTALLDIR^"設(shè)置IIS.exe","AUTORUN",WAIT);
?? endif;??
end;
然后再在Behavior andLogic中單擊Custom Actions, 右擊Custom Actions在彈出的快捷菜單中選擇Custom ActionWizard在Action Type中選擇Run InstallScript code,在Insert intoSequence中的Install Execute Sequence處選擇After ISSelRegisterFinalize或者AfterInstallFinalize都行,其余按向?qū)崾静僮鳌?
9、?? 問(wèn)題描述:怎么樣在安裝或卸載過(guò)程中停止或開(kāi)啟、重啟有關(guān)服務(wù)。
實(shí)現(xiàn)方法:大體操作同8。相關(guān)函數(shù)LaunchAppAndWait, 以停止win自帶的web服務(wù)為例:
#include "ifx.h"
export prototype StopWebservice(HWND);
function StopWebservice(hMSI)
begin
?? LaunchAppAndWait("","net stop w3svc"+"/S",WAIT);??
end;
10、問(wèn)題描述:怎么樣在卸載后刪除殘留文件。
實(shí)現(xiàn)方法:大體操作同8。相關(guān)函數(shù)DeleteDir, DeleteFile,注意不要對(duì)INSTALLDIR文件夾進(jìn)行整個(gè)刪除,以防安裝在根目錄時(shí)這樣的刪除操作會(huì)造成刪除整個(gè)盤符的所有數(shù)據(jù)。
11、問(wèn)題描述:怎么樣在安裝完成之后創(chuàng)建新文件夾。
實(shí)現(xiàn)方法:大體操作同8。相關(guān)函數(shù)CreateDir。
12、問(wèn)題描述:怎么使安裝包只一個(gè)exe文件。
實(shí)現(xiàn)方法:在Bulid菜單中單擊ReleaseWizard,在Media Type對(duì)話框處選擇Network inage-在ReleaseConfiguartion對(duì)話框處選中Compress all files,在Windows InstallerLocation,Installscript Engine處選中Extract engine form Setup.exe,其余按向?qū)崾静僮鳌?
13、問(wèn)題描述:安裝時(shí)提示有的文件正在使用不能被覆蓋,怎么解決。
實(shí)現(xiàn)方法:?jiǎn)螕鬒nstallationDesigner頁(yè)面,選中Application Data下的Files and Folders,在Destinationcomputer’s folders處右擊選中showcompenents,再選中不要被覆蓋的任意一個(gè)components,右擊選擇Properties在彈出的對(duì)話框中勾上NeverOverwrite復(fù)選框。或是直接點(diǎn)擊Organazation處的components處選擇即可.
?
14、問(wèn)題描述:怎么讓用戶選擇安裝路徑。
實(shí)現(xiàn)方法:在project Assistant中installationinterview 處,將第三行的yes選上。
?
15、問(wèn)題描述:怎么修改對(duì)話框左側(cè)和上部的logo圖片。
實(shí)現(xiàn)方法:在Project Assistant->Installation Interview:在右上角的More options處有個(gè)Use custom images on dialogs
16、問(wèn)題描述:怎么在初始化安裝過(guò)程時(shí)顯示公司的logo作為閃屏。
實(shí)現(xiàn)方法:在InstallationDesigner頁(yè)面的Behavior and Logic->Support Files->SplashScreen處的Language Independent單擊,在files列表處右鍵Insert files,選取一幅bmp圖片添加就是。
17、問(wèn)題描述:怎么使用腳本在安裝過(guò)程中調(diào)用另一個(gè)MSI安裝程序。
實(shí)現(xiàn)方法:以下是函數(shù)片段
string szCommand,szCmdLine;
begin
?? szCommand = WINSYSDIR^"msiexec.exe";??
?? LongPathToShortPath(szCommand);
?? szCmdLine =TARGETDIR^"msxmlchs.msi";
?? LongPathToShortPath(szCmdLine);
?? SdShowMsg("正在安裝msxml,請(qǐng)稍候...",TRUE);
?? Delay(5);
?? if (LaunchAppAndWait( szCommand ,"/i"+szCmdLine,WAIT) < 0) then
?????? MessageBox("數(shù)據(jù)文件出現(xiàn)錯(cuò)誤",WA RNING);??????
?? endif;
18、問(wèn)題描述:怎么設(shè)置背景圖
?????? 實(shí)現(xiàn)方法:以下是函數(shù)片段
???? GetExtents ( nvDx , nvDy);
???? if(nvDx=800) then
?????? PlaceBitmap ( SUPPORTDIR ^ "bbrd1.bmp" , 1 , 800 , 600 ,CENTERED);
???? elseif(nvDx=1024) then????????
?????? PlaceBitmap ( SUPPORTDIR ^ "bbrd2.bmp" , 1 ,1024 , 768 ,CENTERED);
???? elseif(nvDx=1152) then
?????? PlaceBitmap ( SUPPORTDIR ^ "bbrd3.bmp" , 1 , 1152 , 864 ,CENTERED);
???? endif;
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
