用inno Setup制作安裝包
新建一個文件夾exambody,放apache-tomcat-6.0.33、mysql-5.1.37-win32、java(注:jdk)和圖標exambody.ico
- 1. 批處理安裝mysql服務:
在mysql-5.1.37-win32\bin 的目錄下:
新建一個文件:啟動服務.bat
里面寫:
cd /d %~dp0 (切換到當前目錄)
"%cd%\mysqld.exe" -install exambodyMysql
(安裝mysqld服務,並命名為exambodyMysql)
net start exambodyMysql (關閉exambodyMysql服務)
新建一個文件:關閉服務.bat
里面寫:
net stop exambodyMysql (關閉exambodyMysql服務)
- 2. 批處理安裝tomcat服務:
在apache-tomcat-6.0.33目錄下:
新建一個文件:啟動服務.bat
cd /d %~dp0 (切換到當前目錄)
"%cd%\service.bat" install (安裝tomcat服務)
然后在當前目錄下找到service.bat:
找到:
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%cd%"
if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome
rem CD to the upper dir
:gotHome
修改成:
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
rem if not "%CATALINA_HOME%" == "" goto gotHome
rem set "CATALINA_HOME=%cd%"
rem if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome
rem CD to the upper dir
cd ..
set "CATALINA_HOME=%cd%"
:gotHome
注:rem是注釋掉那四行。
cd..是跳到當前目錄的上級目錄,即apache-tomcat-6.0.33,
set "CATALINA_HOME=%cd%" 是設置CATALINA_HOME為當前目錄
找到:
set "EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe"
rem Set default Service name
set SERVICE_NAME=Tomcat6
set PR_DISPLAYNAME=Apache Tomcat 6
修改成:
set "EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe"
rem Set default Service name
set SERVICE_NAME=exambodyTomcat
set PR_DISPLAYNAME= exambodyTomcat
注:
第一個:exambodyTomcat 修改服務名
第二個:exambodyTomcat 服務顯示名
找到:
:doInstall
rem Install the service
echo Installing the service '%SERVICE_NAME%' ...
echo Using CATALINA_HOME: "%CATALINA_HOME%"
echo Using CATALINA_BASE: "%CATALINA_BASE%"
echo Using JAVA_HOME: "%JAVA_HOME%"
rem Use the environment variables as an example
rem Each command line option is prefixed with PR_
修改成:
:doInstall
cd..
set "JAVA_HOME=%cd%\java\jdk1.6.0_21"
rem Install the service
echo Installing the service '%SERVICE_NAME%' ...
echo Using CATALINA_HOME: "%CATALINA_HOME%"
echo Using CATALINA_BASE: "%CATALINA_BASE%"
echo Using JAVA_HOME: "%JAVA_HOME%"
rem Use the environment variables as an example
rem Each command line option is prefixed with PR_
注:cd..是跳到當前目錄的上級目錄,即exambody
set "JAVA_HOME=%cd%\java\jdk1.6.0_21"
是設置JAVA_HOME為exambody\java\jdk1.6.0_21
找到:
echo The service '%SERVICE_NAME%' has been installed.
:end
cd "%CURRENT_DIR%"
修改成:
echo The service '%SERVICE_NAME%' has been installed.
sc config exambodyTomcat start= auto
sc start exambodyTomcat
:end
cd "%CURRENT_DIR%"
注:sc config exambodyTomcat start= auto
設置exambodyTomcat為自啟動
sc start exambodyTomcat 啟動 exambodyTomcat服務
新建一個文件:關閉服務.bat
net stop exambodyTomcat (關閉exambodyTomcat服務)
- 3. 新建一個編譯文件exambody:
代碼如下:
#define MyAppName "查體管理系統"
#define MyAppVersion "1.0"
[Setup]
AppName={#MyAppName}(安裝程序名)
AppVersion={#MyAppVersion}(設置版本)
;AppVerName={#MyAppName} {#MyAppVersion}
DefaultDirName=D:\exambody(安裝默認路徑)
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=output(輸出路徑)
OutputBaseFilename=setup(安裝程序名)
SetupIconFile=exambody\exambody.ico(設置圖標)
Compression=lzma
SolidCompression=yes
[Languages](設置語言)
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
[Files](復制文件)
Source: "exambody\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
[Icons]
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"(卸載文件,並在開始菜單生成快捷鍵)
Name: "{commondesktop}\查體"; Filename: http://localhost:8080(桌面創建主頁的快捷方式)
[Run](裝完后自動運行的 文件)
Filename: "{app}\mysql-5.1.37-win32\bin\啟動服務.bat"; Flags: nowait runhidden;(啟動mysql服務)
Filename: "{app}\apache-tomcat-6.0.33\bin\啟動服務.bat"; Flags: nowait runhidden;(啟動tomcat服務)