因?yàn)闃I(yè)務(wù)需要,項(xiàng)目中需要把a(bǔ)sp.netmvc項(xiàng)目打包成exe安裝程序給客戶(hù),讓客戶(hù)直接可以點(diǎn)下一步下一步安裝部署web程序,并且同時(shí)要將IIS服務(wù)和mysql一同安裝到服務(wù)器上,因?yàn)榭蛻?hù)的電腦可能是64位也可能是32位,所以在打包的時(shí)候就需要打包成兩份安裝包。研究了幾天終于有所收獲,下邊就是打包的步驟。
打包步驟:
一、前期準(zhǔn)備
1、將asp.netmvc發(fā)布到本地目錄中
2、數(shù)據(jù)庫(kù)準(zhǔn)備,準(zhǔn)備兩個(gè)免安裝的mysql數(shù)據(jù)庫(kù),分別是64位和32位。分別在兩個(gè)版本的數(shù)據(jù)庫(kù)系統(tǒng)設(shè)置賬戶(hù)密碼,并且與asp.netmvc中配置的相對(duì)應(yīng),分別在兩個(gè)版本的數(shù)據(jù)庫(kù)中新建asp.netmvc所對(duì)應(yīng)的數(shù)據(jù)庫(kù)和表,以及初始數(shù)據(jù),當(dāng)然也可以不用提前在建好數(shù)據(jù)庫(kù)表和初始化數(shù)據(jù),可以在安裝的時(shí)候在設(shè)置數(shù)據(jù)庫(kù)密碼,初始化數(shù)據(jù)庫(kù)也行,但是嘗試了多次很容易出錯(cuò),所以就選擇提前初始化好數(shù)據(jù)庫(kù),然后直接打包的方法,這樣制作更簡(jiǎn)單方便,不容易出錯(cuò),新建完成之后在數(shù)據(jù)庫(kù)目錄中就會(huì)有對(duì)應(yīng)的文件。
分別在mysql的數(shù)據(jù)庫(kù)中新建一個(gè)bat批處理程序,用于安裝mysql服務(wù)
批處理start_mysql.bat的內(nèi)容為:
echo off
set path=%~dp0
echo install mysql service...
cd %path%\bin\
mysqld.exe --install mysql
echo start mysql Service
"%SystemRoot%"\system32\net start mysql
在批處理中之所以要cd到bin目錄下之后再執(zhí)行exe,而不是直接用exe的絕對(duì)路徑來(lái)執(zhí)行,是因?yàn)橛脩?hù)有可能會(huì)把程序安裝到帶空格的目錄中如D:\Program Files (x86)
這種情況下如果用mysqld.exe的絕對(duì)路徑來(lái)執(zhí)行的話(huà)批處理會(huì)報(bào)錯(cuò),導(dǎo)致安裝失敗
至此打包準(zhǔn)備工作已經(jīng)完成,下面是打包的具體步驟
二、打包