本次为大家带来2024R2版本的自动化部署代码,代码具有以下功能:
1.可以设置安装路径
2.输出日志到桌面
3.自动安装license Management Center
4.实现Ansys License Client Settings 2024 R2端口自动配置
代码如下,请各位指正:
@echo on
setlocal enabledelayedexpansion
:: 设置总安装目录:x:\xx\
set install_path=D:\soft\
:: 获取桌面地址
set desk = ""
for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"') do (
set desk=%%j
)
:: 设置安装日志
set log="%desk%\安装日志.log"
:: 安装总目录:%install_path%,x:\xx\
:: 解压工具:%unpack%
:: 解压路径:%unpack_path%,x:\xx\
:: 解压命令 %unpack% x <解压资源路径> -o"<解压路径>"
:: 获取当前bat文件所在目录,输出为"x:\xx\",带“\”
set OriPath=%~dp0
set SoftName=Ansys
set SoftVersion=2024R2
set SetupName=setup.exe
title %SoftName%_%SoftVersion%_安装程序
echo %time% 初始化完成,开始安装 %SoftName%_%SoftVersion% >> %log%
:: 设置安装子目录
set InsPath=%install_path%%SoftName%
:: 获取以太网mac:%mac%
for /f "tokens=3 delims=," %%t in ('GETMAC /FO csv /v ^| find /i "WLAN"') do set str=%%t
set str=%str:-=%
set mac=%str:"=%
:: 生成license
:: 设置输出路径
:: 设置输出文件名
set out_name=temp.txt
:: 开始生成
for /f "tokens=* delims=" %%a in (%OriPath%Cracked\license.txt) do (
setlocal EnableDelayedExpansion
set "LINE=%%a"
set LINE=!LINE:XXXXXXXXXXXX=%mac%!
set LINE=!LINE!
echo !LINE!>> "%InsPath%\%out_name%"
endlocal
)
:: 安装license manager
START /WAIT %OriPath%setup\%SetupName% -silent -LM -install_dir "%InsPath%" -licfilepath "%InsPath%\%out_name%"
:: 执行和谐
Xcopy %OriPath%Cracked %InsPath%\ /E /Y
:: 执行安装Ansys Product
START /WAIT %OriPath%setup\%SetupName% -silent -install_dir "%InsPath%" -licserverinfo "::localhost"
:: 挟持dll代替SolidSQUADLoaderEnabler.reg
:: 挟持多个dll需要使用\0连接
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager" /v ExcludeFromKnownDlls /t REG_MULTI_SZ /d "netapi32.dll\0iphlpapi.dll\0version.dll" /f
:: 添加环境变量
:: 设置环境变量所在注册表位置
set S_regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
:: Create environment variable ANSYSLMD_LICENSE_FILE=1055@localhost
:: 设置需要添加的项名
set S_evname="ANSYSLMD_LICENSE_FILE"
:: 设置需要添加给项的值
set S_path="1055@localhost"
:: 执行注册表添加
reg add "%S_regpath%" /v %S_evname% /d %S_path% /f
::生成licensing 端口配置文件
echo SERVER=1055@localhost >> "%InsPath%\Shared Files\Licensing\ansyslmd.ini"
:: 清理文件
del %InsPath%\%out_name% %InsPath%\license.txt %InsPath%\readme_SSQ.txt %InsPath%\SolidSQUADLoaderEnabler.reg
echo %time% %SoftName%_%SoftVersion% 安装完成 >> %log%
文件相对位置如图所示:
需要注意:
1.我使用的是网络上ssq提供的版本软件,其中license.txt内需要用mac地址替代的地方显示为XXXXXXXXXXXX(12个X),上面用到了替换语句,需确认下是否一致。此外替换功能需要逐行扫描,大约需要8秒左右,如介意可以直接利用echo 将 XXXXXXXXXXXX所在行,输出到文本中。
2.将ssq版本中的三个镜像解压合并到同一文件夹下,安装过程会自动全部安装,不会跳出选择其他盘位选项。(官网也有这个说明)
|