使用Inno Setup 打包jdk、mysql、tomcat、webapp等为一个exe安装包(转)

本文详细介绍了如何使用InnoSetup工具将Java Web应用打包为exe文件的过程,包括JDK、MySQL、Tomcat、FTP服务器、Webapp、.Net服务和C++服务的文件复制、配置文件修改、服务安装与启动、环境变量配置、数据库初始化等步骤,但由于缺失注册表和防火墙配置,提供了一个基础打包脚本作为参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  之前一直都没涉及到打包安装方面的东西,都是另一个同事负责的,使用的工具(installshield)也比较高大上一点,可是后来他离职以后接受的同事也只能是在这个基础上做个简单的配置,然后打包,可是现在做的项目和原来的完全不一样以后就不能使用之前的了,只能是自己硬着头皮来弄个比较简单快捷的了。

  切入正题,如标题所述使用inno setup来打包一个java web 相关的内容为一个exe,.net web类似,这个工具可以在网上直接找到下载,有汉化版的,并且里面也有帮助手册可以参考。把里面的一些敏感信息已经做了替代,这些都是可以根据你自己情况来修改的。下面直接上干货。

  • 打包和发布的内容
    jdk(1.6/1.7/1.8)、mysql(5.5~)、tomcat(6.0/7.0/8.0)、ftp服务器、webapp、.Net服务、C++服务(请诸位无视项目中技术的复杂行,都是历史原因)
    打包脚本和bat脚本中涉及到,文件拷贝、ini配置文件修改、xml配置文件修改、服务安装停止启动、.net服务安装、环境变量配置、数据库初始化等,唯独缺少注册表和防火墙配置(%>_<%)
  • 打包脚本
    复制代码
      1 ; 脚本由 Inno Setup 脚本向导 生成!
      2 ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
      3 
      4 #define MyAppName "abc"
      5 #define MyAppVersion "1.0"
      6 #define MyAppPublisher "aaa"
      7 #define MyAppURL "http://www.abc.com/"
      8 
      9 [Setup]
     10 ; 注: AppId的值为单独标识该应用程序。
     11 ; 不要为其他安装程序使用相同的AppId值。
     12 ; (生成新的GUID,点击 工具|在IDE中生成GUID。)
     13 AppId={{9E044575-9CD9-4751-B0BE-F6758BA94548}
     14 AppName={#MyAppName}
     15 AppVersion={#MyAppVersion}
     16 ;AppVerName={#MyAppName} {#MyAppVersion}
     17 AppPublisher={#MyAppPublisher}
     18 AppPublisherURL={#MyAppURL}
     19 AppSupportURL={#MyAppURL}
     20 AppUpdatesURL={#MyAppURL}
     21 DefaultDirName={pf}\{#MyAppName}
     22 DefaultGroupName=XX管理软件(abc)
     23 AllowNoIcons=yes
     24 OutputBaseFilename=setup
     25 Compression=lzma
     26 SolidCompression=yes
     27 [Files]
     28 ;拷贝tomcat
     29 Source:"Source\apache-tomcat-6.0.41\*";DestDir:"{app}\tomcat6.0";Flags:igNoreversion recursesubdirs createallsubdirs
     30 ;拷贝jdk
     31 Source:"Source\jdk1.6.0_43\*";DestDir:"{app}\jdk1.6";Flags:igNoreversion recursesubdirs createallsubdirs
     32 ;拷贝mysql
     33 Source:"Source\MySql5.5\*";DestDir:"{app}\MySql5.5";Flags:igNoreversion recursesubdirs createallsubdirs
     34 ;拷贝源代码
     35 Source:"Source\abc\*";DestDir:"{app}\tomcat6.0\webapps\ROOT";Flags:igNoreversion recursesubdirs createallsubdirs
     36 ;拷贝sdk
     37 Source:"Source\Sdk\*";DestDir:"{app}\Sdk";Flags:igNoreversion recursesubdirs createallsubdirs
     38 ;拷贝服务器
     39 Source:"Source\Server\*";DestDir:"{app}\Server";Flags:igNoreversion recursesubdirs createallsubdirs
     40 ;拷贝ftp
     41 Source:"Source\FtpServer\*";DestDir:"{app}\FtpServer";Flags:igNoreversion recursesubdirs createallsubdirs
     42 ;拷贝bat
     43 Source:"Source\*";DestDir:"{app}\";
     44 ;拷贝桌面快捷方式
     45 Source:"Source\xx系统.url";DestDir:"{userdesktop}\xx系统";
     46 [Languages]
     47 Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
     48 [Icons]
     49 Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
     50 Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
     51 [INI]
     52 ;修改数据库配置文件
     53 Filename:"{app}\MySql5.5\my.ini";Section:"mysqld";Key:"basedir"; String:"{app}\MySql5.5"
     54 Filename:"{app}\MySql5.5\my.ini";Section:"mysqld";Key:"datadir"; String:"{app}\MySql5.5\data"
     55 Filename:"{app}\MySql5.5\my.ini";Section:"mysqld";Key:"port"; String:"3308"
     56 Filename:"{app}\MySql5.5\my.ini";Section:"client";Key:"port"; String:"3308"
     57 ;修改服务器配置文件
     58 Filename:"{app}\Server\init.ini";Section:"RegAddr";Key:"port"; String:"5556"
     59 Filename:"{userdesktop}\xx系统.url";Section:"InternetShortcut";Key:"URL"; String:"http://127.0.0.1:7070/"
     60 [Run]
     61 ;修改tomcat配置文件
     62 Filename:"{app}\loading.bat";AfterInstall:ConfigXml(ExpandConstant('{app}\tomcat6.0\conf\server.xml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值