我正在尝试使用matlab网络许可证文件在windows机器上静默安装matlab。安装正常,但激活不起作用。当启动matlab时,它要么没有启动,要么我被提示输入用户id。
我尝试将activationPropertiesFile=C:activate.ini
添加到installer_input.txt
中,并有多种activate.ini
配置,包括activateDCNon和activateOffline,但没有成功。
错误日志也没有帮助:
(Jul 13, 2020 22:58:38)Starting activation process.
(Jul 13, 2020 22:58:38)Performing silent activation.
(Jul 13, 2020 22:58:39)Activating offline
(Jul 13, 2020 22:58:39)Installing license file
(Jul 13, 2020 22:58:39)Silent activation failed. Please see C:UsersmatlabAppDataLocalTempaws_matlab.log for more information.
我看了下面的MatLab答案,但没有帮助:
- https://www.mathworks.com/matlabcentral/answers/326707-activation-still-required-after-silent-activation-succeeded-matlab-r2016b
我可以手动运行激活。我选择在线安装,指向许可证文件,然后单击激活并启动matlab。但这并不是实现云环境自动化的解决方案。
问题是我在installer_input.txt
中设置了enableLNU=yes
。将其设置为enableLNU=no
解决了此问题。
以下是创建installer_input.txt
文件的示例:
@"
fileInstallationKey=9999-9999-9999-9999
agreeToLicense=yes
mode=silent
licensePath=$MATLAB_DIRnetwork.lic
desktopShortcut=true
startMenuShortcut=true
enableLNU=no
"@ | Out-File -Encoding Ascii -FilePath $MATLAB_DIRinstaller_input.txt
请注意,powershell Here字符串@".."@
是用UTF-16编码的。这导致matlab安装程序出现问题。Pipe Here String to Out File在写入文件时转换为ascii。
现在调用传入inputFile的matlab安装程序,并使用&... | Out-Null
语法强制等待安装程序完成:
&$MATLAB_DIRMathWorksR20XXxbinwin64setup.exe -inputFile $MATLAB_DIRinstaller_input.txt | Out-Null
Remove-Item -Path "C:PROGRA~1MATLABR20XXxlicenseslicense_info.xml" -Force
其中R20XXx
是您安装的matlab版本