installshield 安装jdk并配置环境变量
今天来通过installshield安装jdk以及配置环境变量,本质上是调用第三方安装程序。
首先将jdk的安装文件添加到我们的安装程序中
然后编写我们的脚本
选择BEHAVIOR AND LOGIC->InstallScript->Setup.Rul->After Move Data->OnFirstUIAfter,如图
OnFirstUIAfter脚本如下
点击查看代码
function OnFirstUIAfter()
STRING szTitle, szMsg1, szMsg2, szOpt1, szOpt2;
NUMBER bOpt1, bOpt2;
begin
Disable(STATUSEX);
if (SYSINFO.bIsWow64) then //判断64位操作系统
REGDB_OPTIONS = REGDB_OPTION_WOW64_64KEY ;
endif;
//安装jdk
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
if (RegDBKeyExist ("SOFTWARE\\JavaSoft\\Java Development Kit\\1.8.0_191") < 0) then
MessageBox("准备安装jdk",INFORMATION);
LaunchAppAndWait (TARGETDIR^"third\\jdk-8u191-windows-x64.exe","", LAAW_OPTION_WAIT);
else
MessageBox("jdk已安装",INFORMATION);
endif;
bOpt1 = FALSE;
bOpt2 = FALSE;
if ( BATCH_INSTALL ) then
SdFinishReboot ( szTitle , szMsg1 , SYS_BOOTMACHINE , szMsg2 , 0 );
else
SdFinish ( szTitle , szMsg1 , szMsg2 , szOpt1 , szOpt2 , bOpt1 , bOpt2 );
endif;
end;
之所以放在这里,是因为此时安装包里的文件已经移动到用户选择的或默认的安装地址里,可以通过TARGETDIR获取到安装路径,方便查找文件。
配置环境变量
点击查看代码
function OnFirstUIAfter()
STRING szTitle, szMsg1, szMsg2, szOpt1, szOpt2,reg_jdk_key,svValue,environment_key,java_path,pathValue;
NUMBER bOpt1, bOpt2,nvSize,nvType;
begin
Disable(STATUSEX);
bOpt1 = FALSE;
bOpt2 = FALSE;
reg_jdk_key="SOFTWARE\\JavaSoft\\Java Development Kit\\1.8.0_191";
environment_key="SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
java_path="%JAVA_HOME%\\bin";
//配置环境变量
if (SYSINFO.bIsWow64) then //如果为64位操作系统
REGDB_OPTIONS = REGDB_OPTION_WOW64_64KEY ; //则为注册表操作进行64位特殊设置
endif;
//设置注册表根目录
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
//判断是否存在jdk
if(RegDBKeyExist(reg_jdk_key)=1)then
//获取jdk安装目录成功
if(RegDBGetKeyValueEx(reg_jdk_key,"JavaHome",nvType,svValue,nvSize)=0)then
if(RegDBSetKeyValueEx(environment_key,"JAVA_HOME",REGDB_STRING,svValue,-1)=0)then
//path添加jdk bin
//获取path的值
RegDBGetKeyValueEx(environment_key,"Path",nvType,pathValue,nvSize);
pathValue=java_path+";"+pathValue;
RegDBSetKeyValueEx(environment_key,"Path",REGDB_STRING,pathValue,-1);
else
MessageBox("JAVA_HOME创建失败",SEVERE);
endif;
endif;
endif;
if ( BATCH_INSTALL ) then
SdFinishReboot ( szTitle , szMsg1 , SYS_BOOTMACHINE , szMsg2 , 0 );
else
SdFinish ( szTitle , szMsg1 , szMsg2 , szOpt1 , szOpt2 , bOpt1 , bOpt2 );
endif;
end;
RegDBGetKeyValueEx(reg_jdk_key,"JavaHome",nvType,svValue,nvSize) 该方法是获取注册表中某一个值,返回0 或 <0的值。查询的值的数据放在svValue中,可以直接使用
RegDBSetKeyValueEx(environment_key,"Path",REGDB_STRING,pathValue,-1); 设置环境注册表中的值
参考文档
https://www.cnblogs.com/Cindy_weiwei/archive/2009/05/18/1459542.html
installshield 安装jdk并配置环境变量的更多相关文章
- Ubuntu安装JDK与配置环境变量
Ubuntu14.04安装JDK与配置环境变量 工具/原料 Ubuntu14.04系统 方法/步骤 先从Oracle官网下载JDK.先选择同意按钮,然后根据自己的系统下载相应版本.我的系统 ...
- window 远程在Linux(centOS7.0)上安装JDK以及配置环境变量
本人是在windows 7 上安装了虚拟机,虚拟机安装的是linux(centOS7.0)系统现在在Windows 上安装SecureCRT 远程虚拟机的linux系统,安装JDK以及配置环境变量. ...
- 安装JDK并配置环境变量以及Hello World
摘要:本文主要说明在Windows环境下JDK的安装,以及安装完成之后环境变量的配置,并通过DOS运行简单的Java程序. 安装JDK 说明 SDK:软件开发工具包(Software Developm ...
- Linux环境下安装JDK并配置环境变量
首先查看是否已经安装了JDK并配置环境变量. [root@dhcc_plat opt]# java -version -bash: java: command not found [root@dhcc ...
- Java入门——在Linux环境下安装JDK并配置环境变量
Java入门——在Linux环境下安装JDK并配置环境变量 摘要:本文主要说明在Linux环境下JDK的安装,以及安装完成之后环境变量的配置. 使用已下载的压缩包进行安装 下载并解压 在Java的官网 ...
- 安装jdk并配置环境变量
安装jdk并配置环境变量 安装jdk 点击访问官网 https://www.oracle.com/downloads/或直接下载 https://www.jdkdownload.com/ 推荐使用后面 ...
- Linux安装JDK并配置环境变量
Linux - 安装jdk并配置环境变量 1. 前往JDK官网, 地址:https://www.oracle.com/java/technologies/downloads/ 复制下载链接 2. ...
- win10安装jdk以及配置环境变量
本人使用的jdk版本:jdk-8u171-windows-x64.exe, 1.安装jdk: 双击 jdk-8u171-windows-x64.exe ,然后就是简单的安装流程,安装文件位置建议保持默 ...
- Java如何安装JDK,配置环境变量。超级详细图及操作
突然想起自己大学刚接触java的时候,要下载JDK和配置环境变量,那时候我上网找了很多教学,结果发现很多的博主都是表达不太清晰,或者是我理解能力差点,导致我那时候搞了一个多小时才搞定,而且事后每次我重 ...
- 下载安装JDK,配置环境变量
Hello,JDK; 在开始学习JAVA之前,第一件事情肯定是被告知:先下载JDK.就像我的一个朋友问我的一样"JDK是个什么鬼?我学的不是JAVA么,为什么要下载JDK?". J ...
随机推荐
- Spring boot中拦截器的简单使用
1.创建自定义拦截器类:首先,你需要创建一个自定义的拦截器类,该类需要实现HandlerInterceptor接口.例如,你可以创建一个名为CustomInterceptor的类. import or ...
- OpenHarmony轻量设备Hi3861芯片开发板启动流程分析
引言 OpenHarmony作为一款万物互联的操作系统,覆盖了从嵌入式实时物联网操作系统到移动操作系统的全覆盖,其中内核包括LiteOS-M,LiteOS-A和Linux.LiteOS-M内核是面向I ...
- Prometheus Operator与kube-prometheus之二-如何监控1.23+ kubeadm集群
简介 系列文章: 标签 - Prometheus - 东风微鸣技术博客 (ewhisper.cn) Prometheus Operator 的上一篇: Prometheus Operator 与 ku ...
- CentOS SSH安装和配置
CentOS SSH安装和配置 赞 0 CentOS SSH 安装 配置 OpenSSH SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Worki ...
- orleans —————— 为什么有这个框架 [ 一]
前言 简单说明一下,为什么有orleans 这个框架. 正文 orleans 这个框架的理论基础是 actor, 在1973年提出,当初是为了大量处理高并发计算机的并行模型,其核心思想是将系统中独立的 ...
- mysql 重新整理——索引优化explain字段介绍二 [十]
前言 紧接上文. 正文 type type字段有如下类型: 1.all 2.index 3.rang 4.ref 5.eq_ref 6.const,system 7.null 最好到最差的顺序为: s ...
- mac版本vscode窗口崩溃crashed
1.截图 出现时机 当安装依赖的时候大概率会出现,甚至安装一次依赖会出现几次 解决 具体原因未知 重新启动电脑以及退出软件都不能解决 去官网重新下载,重新安装问题解决
- PS(Photoshop CC2019)安装教程
记录一下自己安装PS2019版本的安装过程~ 先获取安装资料: 百度网盘链接: 链接:https://pan.baidu.com/s/15tzmq-6JQCdVn378ZFqXJA?pwd=997y ...
- 菜鸟 CPaaS 平台微服务治理实践
简介: 在使用 MSE 的云产品之后,对 PaaS 平台层来说,避免很多重复功能的建设.在我们业务侧实际落地的远不止如上列举的场景,比如:服务优雅停机.注册中心等能力,均解决了业务侧的微服务治理上的难 ...
- 基于Ganos百行代码实现亿级矢量空间数据在线可视化
简介: 本文介绍如何使用RDS PG或PolarDB(兼容PG版或Oracle版)的Ganos时空引擎提供的数据库快显技术,仅用百行代码实现亿级海量几何空间数据的在线快速显示和流畅地图交互,且无需关注 ...