软件安装包制作方法.docx
- 文档编号:9584010
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:41
- 大小:1.10MB
软件安装包制作方法.docx
《软件安装包制作方法.docx》由会员分享,可在线阅读,更多相关《软件安装包制作方法.docx(41页珍藏版)》请在冰豆网上搜索。
软件安装包制作方法
软件安装包制作
1.IzPack
IzPack是一个Java安装程序制作工具,能够制作一些简单的安装程序。
制作出来的安装程序能在Unix-like,MacOSX,Windows等操作系统上运行。
下载地址:
●Downloadthecross-platforminstallerforIzPack4.3.3
●DownloadtheinstallerforIzPack5.0.0-beta4(signature)
Graphicaluserinterfaces
TheindependentPackJacketopensourceprojectoffersaconvenientgraphicaluserinterfaceforcreatingIzPack-basedinstallers.
2.PackJacket
PackJacketisaGUIfrontendtotheIzPackproject.ItisbuiltwithJavaSwingandcreatesaninstallerforyourapplication.Theinstallerscreatedbythisprogramarecross-platformandmulti-language.YoucanusePackJackettocreateinstallerstofityourneeds.
下载地址:
●
安装注意事项:
在Windows7下安装时,以管理员身份运行java–jarIzPack-install-4.3.3.jar
3.RunningjavaprogramasWindowsservice
RunningprogramsaswindowsserviceisoftenarequirementinprogrammingandwhenitcomestoJavasupportthereareonlyveryfewlibrariesavailable.MostofthemusenativeAPIsandmostlywritteninCandoftenneedsajavaexecutablestubforWindows.Thereareonlyveryfewthatisquitesimpletounderstandandcanbeusedwithlesseffort.LetsseesomeoftheavailableAPIsforJavaServicewhichcanbequitehandy.
JavaServiceWrapperisonesuchgoodAPIwhichIamquitefamiliarwith.TheWrapperAPIcomesinthreedifferentflavorsProfessional,StandardandCommunity. Communityversionisfreetodownloadanduse.ThegoodthingaboutJavaServiceWrapperis,itsupportsbothrunningasWindowsServiceorUnixDaemonprocess.JavaWrapperiscompletelywritteninCandisverypopularamongtheprogramingcommunity.
JavaServiceLauncher(JSL)isanothersimpleopensourceprojectwhichwillhelpyoutorunjavaprogramsasWindowsNTservice.JavaServiceLauncherworksgoodwithNT4.0,Win2000,Win2003orXPandstillnotyettestedwithWindowsVista.JSLisaverysimpleframeworkandhasgotreasonabletodocumentation.Ididn’ttrythispersonallybutlooksgood.ReadJSLFAQhere.
JSL是一个轻量级工具,用于将Java应用程序制作成Windows服务(NT4.0,Win2000,Win2003和XP)。
JavaServiceisaObjectWebConsortiumopensourceinitiativewhichallowsserver-typeJavaprogramstoberuninthebackgroundasaWindowsNT/2000/XPsystemservice(akaUnixdaemonprocess).JavaServicecomesunderBSDLicenseandGNULesserGeneralPublicLicense(LGPL).JavaServicecurrentlysupportsWindowsNTandWindows2000andiscompatiblewithC,C++andJava.
JavaNativeAccess(JNA)provideseasyaccesstoWindowsDLLswithoutwritinganynativecodes.ThiswillgivethedevelopercompleteaccesstoWindowsServiceAPIwithoutanystubmakingallWindowsEventsandcallbacksascakewalk.IthasbeenclaimedthatfacilityisavailabletorunningitselfasWindowsServicebutpersonallyIhavenottried.Youcangetthesamplesourcehere.
4.使用PackJacket制作安装包示例
Ultra-Monitor制作示例
1、创建一个应用安装包
2、添加作者信息
3、选择界面语言
4、使用默认的导航界面
5、创建包
6、Server包
7、选择Server包源可执行文件所在目录
8、保存此配置信息
9、选择安装包的格式
10、选择制作安装包存放路径
11、创建安装包
12、测试安装包
1)双击鼠标Ultra-Monitor_v1.6_Installer.pjc.jar或在命令行执行java–jarUltra-Monitor_v1.6_Installer.pjc.jar
2)开始界面
3)选择console测试安装效果
4)选择安装路径
5)目录不存在时,提示创建该目录
6)安装过程
7)安装成功
8)测试安装后的程序是否可执行
9)程序已经运行,证明安装是成功的
10)测试卸载是否成功
11)选择删除目录
12)删除完毕
13)验证安装文件是否已经删除
文件已删除,遗憾的是目录还在。
使用用户自定义界面
下拉列表
带默认值的输入框
RadioButtons
界面效果
界面的内容写入agentconsole_v1.6/conf/console.properties文件中,结果如下:
test.myself:
false
sleep.interval:
60000
socket.type:
TCP
socket.port:
52593
edition.type:
developer
遗憾的是文件的分隔符不是“=”,与我们常用的配置文件格式不一致。
需要修改我们读取配置文件的类。
调用外部进程
注意,路径分隔符使用的是“//”
可执行程序调用成功
可惜,由于不认识路径,无法成功调用安装包中使用bat启动的java程序。
需要解决路径问题。
修改rhino.bat如下:
titleRhino
IF%1==''(
java-Djava.ext.dirs=..\libcom.ultrapower.agent.console.gui.RhinoEngineDemo
)ELSE(
java-Djava.ext.dirs=%1\agentconsole_v1.6\libcom.ultrapower.agent.console.gui.RhinoEngineDemo
)
可以弹出java程序的对话框。
修改start.bat如下:
titleUltra-MonitorConsole
IFNOT"%1"==''cd%1
callsetEnv.bat
java-Xms128m-Xmx256m-Dswing.defaultlaf=com.jgoodies.plaf.plastic.PlasticXPLookAndFeelcom.ultrapower.agent.console.UA_Console
Console程序启动了。
界面上显示处理过程,和调用的信息。
通过调用外部进程的方法,可以进行编辑参数了,当然我们需要自己编写一个图形界面修改配置文件的java程序。
注意,每个进程必须在关闭窗口时,能够退出;否则安装会提示失败,实际拷贝文件的操作已经成功。
使用调用外部进程的方法修改配置文件参数
titleConfigureSystemParameters
IFNOT"%1"==""cd%1
callsetEnv.bat
java-Xms128m-Xmx256mthomas.config.property.AdapterConfigFrame
#Testmyself:
true/false
test.myself=false
#Default=5mins(300sec)
collector.interval=300
collector.offset=30
#BUSINESS,TIVOLI,MANUAL,OPENVIEW,AGENTLESS,PATROL
ext.data.source=AGENTLESS
#RMI
rmi.ultranms.server=192.168.5.122
rmi.ultranms.port=51088
#Agentless
agentless.socket.type=TCP
agentless.server=192.168.5.16
agentless.port=52593
agentless.username=agentless
agentless.password=agentless
#eventnotifyserverport(UDP)
event.notify.port=52595
#AgentlessDB
#SQLite
db.driver=org.sqlite.JDBC
#注意这里要完整的你的db文件放的路径,jdbc:
sqlite:
/path
db.url=jdbc:
sqlite:
../../agentless_v1.6/data/agentless.db
db.username=
db.password=
#MySQL
#db.driver=org.gjt.mm.mysql.Driver
#db.url=jdbc:
mysql:
//localhost/agentless?
useUnicode=true&characterEncoding=utf-8
#db.username=root
#db.password=root
#Oracle8/8i/9i(thin)
#db.driver=oracle.jdbc.OracleDriver
#db.url=jdbc:
oracle:
thin:
@10.157.40.45:
1521:
ultranms
#db.username=agentless
#db.password=agentless
#agentless
#TueNov3017:
54:
06CST2010
ext.data.source=AGENTLESS
agentless.password=agentless
agentless.server=192.168.5.16
collector.offset=30
db.url=jdbc\:
sqlite\:
../../agentless_v1.6/data/agentless.db
agentless.port=52593
db.driver=org.sqlite.JDBC
user.type=developer
db.username=
event.notify.port=52595
agentless.username=agentless
rmi.ultranms.port=51088
collector.interval=300
test.myself=true
agentless.socket.type=UDP
db.password=
rmi.ultranms.server=192.168.5.122
存在遗憾,顺序全乱了,注释都没了。
使用JavaServiceWrapper将Ultra-MonitorAdapter制作Windows服务
Adapter制作好的可执行文件放在目录$project文件夹下,发布的包放在$project/lib下,日志文件放在$project/log下,配置文件放在$project/conf下,运行的jar为adapter.jar。
在JavaServiceWrapper下载包后解压,将包中src/bin/的App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in和bin/下的wrapper.exe放在$project目录下,把后缀.in去掉。
【App.bat(可以直接运行程序),InstallApp-NT.bat(安装成Windows服务),UninstallApp-NT.bat(卸载Windows服务)】。
修改App.bat,InstallApp-NT.bat,UninstallApp-NT.bat中的set_WRAPPER_CONF="%_REALPATH%conf\wrapper.conf"。
把JavaServiceWrapper包中lib目录下的Wrapper.DLL,wrapper.jar拷贝到$project/lib下,在原来的运行的jar文件myjar.jar中的MANIFEST.MF增加Class-Path:
其他jar wrapper.jarwrapper.dll。
把JavaServiceWrapper包中src/conf目录下的wrapper.conf.in放到$project/conf下,去掉后缀.in。
然后修改为
#********************************************************************
#WrapperJavaProperties
#********************************************************************
#JavaApplication
#LocatethejavabinaryonthesystemPATH:
#mand=java
#Specifyaspecificjavabinary:
#jdk或jre所在路径
set.JAVA_HOME=D:
\ProgramFiles\Java\jdk1.4
mand=%JAVA_HOME%/bin/java
#JavaMainclass.ThisclassmustimplementtheWrapperListenerinterface
#orguaranteethattheWrapperManagerclassisinitialized.Helper
#classesareprovidedtodothisforyou.SeetheIntegrationsection
#ofthedocumentationfordetails.
#集成类型
#wrapper.java.mainclass=org.tanukisoftware.wrapper.test.Main
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
#JavaClasspath(includewrapper.jar)Addclasspathelementsas
#neededstartingfrom1
#Java应用程序所需的jar包
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/adapter1.6.jar
wrapper.java.classpath.3=../lib/agentcomm.jar
wrapper.java.classpath.4=../lib/agentless.jar
wrapper.java.classpath.5=../lib/commons-beanutils.jar
wrapper.java.classpath.6=../lib/commons-dbcp-1.2.2.jar
wrapper.java.classpath.7=../lib/commons-logging.jar
wrapper.java.classpath.8=../lib/commons-pool-1.3.jar
wrapper.java.classpath.9=../lib/i18n_conf.jar
wrapper.java.classpath.10=../lib/JACE-Version1.5.jar
wrapper.java.classpath.11=../lib/jdom.jar
wrapper.java.classpath.12=../lib/junit.jar
wrapper.java.classpath.13=../lib/log4j-1.2.8.jar
wrapper.java.classpath.14=../lib/OracleJDBC.jar
wrapper.java.classpath.15=../lib/sax2.jar
wrapper.java.classpath.16=../lib/ultranms.jar
wrapper.java.classpath.17=../lib/xercesImpl.jar
wrapper.java.classpath.18=../lib/xmlParserAPIs.jar
#JavaLibraryPath(locationofWrapper.DLLorlibwrapper.so)
#wrapper.dll所在路径
wrapper.java.library.path.1=../lib
#JavaAdditionalParameters
#Java应用程序启动参数
wrapper.java.additional.1=-server
wrapper.java.additional.2=-verbosegc
wrapper.java.additional.3=-Xms256m
wrapper.java.additional.4=-Xmx512m
wrapper.java.additional.5=-XX:
+UnlockExperimentalVMOptions
wrapper.java.additional.6=-XX:
+UseG1GC
wrapper.java.additional.7=-XX:
G1YoungGenSize=256m
wrapper.java.additional.8=-XX:
ParallelGCThreads=2
#Applicationparameters.Addparametersasneededstartingfrom1
#Java应用程序启动类
wrapper.app.parameter.1=com.ultrapower.adapter.southif.agentless.AgentlessAdapter
#Titletousewhenrunningasaconsole
#在控制台显示的应用名称
wrapper.console.title=TestWrapperSampleApplication
#Nameoftheservice
#Windows服务名称
wrapper.name=testwrapper
#Displaynameoftheservice
#Windows服务显示名称
wrapper.displayname=TestWrapperSampleApplication
#Descriptionoftheservice
#Windows服务显示描述
wrapper.description=TestWrapperSampleApplicationDescription
然后直接运行App.bat,如果运行成功的话,然后就可以执行InstallApp-NT.bat发布成Windows服务,然后就可以设置成开机自启动了,不怕别人启动的时候自己的程序没有执行。
另外如果在$project/bin当成bat的目录的话没这么麻烦。
Tomcat注册为Windows服务
配置Tomcat进程名
进入Tomcat\bin目录下复制tomcat6.exe粘贴、重命名为UltraReport.exe。
附图1.配置Tomcat进程名
设置JAVA_HOME
附图2.设置JAVA_HOME
修改Tomcat进程名
附图3.修改Tomcat进程名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 安装 制作方法