请教Nsis 打包 jdk tomcat 问题

请教Nsis 打包 jdk tomcat 问题,第1张

1,jdk:c:\programe files\java 目录里有两个目录:jdk1.6.0_12 和 jre1.6.0_12直接把java文件夹拷贝过来

2.一个tomcat的本。然后修改service.bat文件,在第一行加上

set JAVA_HOME=C:\ MyApp\java\jdk1.6.0_10

3.本的mysql,修改一下其中的配置。

basedir="C:/MyApp/MySQL/MySQL Server 5.1/" datadir="C:/ MyApp /MySQL/MySQL Server 5.1/Data/"

4.把创建数据库文件放在mysql的data下,把war包放在tomcat的webapps下.

5.利用以下批处理文件

@echo off

color 1f

setlocal enabledelayedexpansion

Set PATH=%PATH%%SystemRoot%\system32%SystemRoot%

Title 系统安装

cls

echo ╔- -╗

echo 系统安装

echo ╚- -╝

echo -------------------------------------------------

echo.

rem *******************************************************

@echo off

ver | find "5.0" >nul goto xp

ver | find "5.1" >nul goto xp

ver | find "5.2" >nul goto xp

ver | find "6.0" >nul goto Vista

goto Vista

:xp

set NowPath=%cd%

set DestopPath=%ALLUSERSPROFILE%\桌面

goto end

:Vista

set /p NowPath=请输入安装路径:

set DestopPath=%PUBLIC%\Desktop

IF EXIST %NowPath%\install.bat ( echo. ) else ( echo 路径错误 goto Vista )

goto end

:end

Set IsDo=Y

for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do (

call :Assoc %%i TCP %%j

if !TCP_Port!==3306 ( Set IsDo=N Set Port1=3306a )

if !TCP_Port!==8888 ( Set IsDo=N Set Port2=8888 )

if !TCP_Port!==8006 ( Set IsDo=N Set Port3=8006 )

if !TCP_Port!==8010 ( Set IsDo=N Set Port4=8010 )

rem echo !TCP_Port!

)

IF %IsDo%==N (

echo 检测安装条件: 不通过

echo --------------------------------------------------

echo.

echo !Port1! !Port2! !Port3! !Port4! 端口被占用!

echo.

echo 请停止以上端口,否则不能安装本系统!

echo.

echo --------------------------------------------------

echo.

pause exit

) else (

echo 检测安装条件: 通过

echo.

echo --------------------------------------------------

echo.

)

rem *******************************************************

echo 系统安装过程:

echo --------------------------------------------------

set CATALINA_HOME=%NowPath%\tomcat

Set PATH=%PATH%%JAVA_HOME%\bin

Set CLASSPATH=.%JAVA_HOME%\lib\tools.jar%JAVA_HOME%\lib\dt.jar

%NowPath%\mysql\bin\mysqld --install MySql --defaults-file=%NowPath%\mysql\my.ini >nul

echo Install MySql Services. Services Name: MySql

net start MySql

call %NowPath%\tomcat\bin\service.bat install Tomcat5 >nul

echo Install Tomcat5 Services. Services Name: Tomcat5

net start Tomcat5

%SystemDrive%

cd %DestopPath%

copy %NowPath%\销售系统安装工具.lnk 销售系统安装工具.lnk >nul

pause exit

:Assoc

for /F "tokens=2 delims=:" %%e in ("%1") do (

set %2_Port=%%e

)

经行一些设置..然后利用打包工具打包成exe就行了

你可以检测用户是否已经安装 Oracle 和 .NET,如果没有安装,则安装程序就不启动。

集成 Oracle 和 .NET 是不现实的,除非你的软件本身也非常巨大,或者提供了安装光盘,将 Oracle 和 .NET 都放在里面。Oracle 可能需要手动安装。我没用过,我猜测是使用 Install shield 打包。如果要集成,你需要知道静默安装参数。时间太久用户可能不愿意等待,所以还是建议启动让用户手动安装。可使用 NSIS 提供的插件 Service 检测 Oracle 相关服务确实 Oracle 是否安装。服务名称你自己去搞定:

<a href=" http://nsis.sourceforge.net/Services_plug-in" target="_blank">http://nsis.sourceforge.net/Services_plug-in</a>

services::IsServiceInstalled 'MyServiceName'

Pop $0

$0 now contains either 'Yes', 'No' or an error description

官方关于检测和安装 .NET Frameword 的参考代码:

<a href=" http://nsis.sourceforge.net/Detect_and_download_the_.NET_framework." target="_blank">http://nsis.sourceforge.net/Detect_and_download_the_.NET_framework.</a>

<a href=" http://nsis.sourceforge.net/Simple_Way_To_Install_.NET_Framework" target="_blank">http://nsis.sourceforge.net/Simple_Way_To_Install_.NET_Framework</a>

<a href=" http://nsis.sourceforge.net/Installing_the_Microsoft_.NET_Framework" target="_blank">http://nsis.sourceforge.net/Installing_the_Microsoft_.NET_Framework</a>

<a href=" http://nsis.sourceforge.net/How_to_Automatically_download_and_install_a_particular_version_of_.NET_if_it_is_not_already_installed" target="_blank">http://nsis.sourceforge.net/How_to_Automatically_download_and_install_a_particular_version_of_.NET_if_it_is_not_already_installed</a>


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8674620.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存