License文件使用技巧
这次想解决的问题是 -- License文件多了怎么办?不知道为什么FLEXlm很流行, 机器里面装得EDA软件多了, 会有若干个 License.dat.由于环境变量只是告诉Lmgr(license manager)从哪儿找它所需要的license文件, 所以:
第一个解决办法是可以将License.dat换个名字,如pwpcb.Lic, cct80.Lic等等,然后用设置多个License文件环境变量的办法将每一个文件的路径添加到环境变量中:
SET LM_LICENSE_FILE=c:\flexlm\pwpcb.Lic;c:\flexlm\cct80.Lic
License文件的名称/后缀可以任意选取,只要保证变量设置正确以及License文件有效即可。
还可以这么做: ---- 不推荐使用
只设置一个环境变量设置: SET LM_LICENSE_FILE=c:\flexlm\license.dat,然后把所有的License文件都 copy到FLEXlm目录下, 为了便于区分, 取比较容易记的名字,例如PowerPCB2.1.Lic, ModelSimEE5.2e.Lic, Specctra8.0.Lic,等等,需要用哪个软件的时候, 把相应的License文件copy一份然后改名为license.dat即可。 Copy, Rename, Copy, Rename...太麻烦了, 于是采用第二种解决办法--合并License.(注:仅用于没有 Server Line的License文件,且软件用的环境变量名为LM_LICENSE_FILE)
前面介绍过License文件的格式, License文件的内容不再是陌生的了,可以用文本编辑器打开所有的License文件,把它们的内容统统copy&paste到 license.dat里面. 然后只设置一个环境变量:
SET LM_LICENSE_FILE=c:\flexlm\license.dat
FLEXlm Server方式的License应该如下设置:
License.dat 文件放在主机中, 主机运行Server提供License服务, 客户端的环境变量设置为
SET LM_LICENSE_FILE=[TCP/IP端口]:[主机名称], 其中端口和主机名称应该和主机的License文件中的Server Line一致, 前面已经简单介绍过, 这里便不再赘述。
启动Server的方式有两种, 一是Dos命令行方式, 二是Windoz的窗口方式
1. Dos 方式
在c: \flexlm目录下可以找到一个Lmgrd.exe文件---License Manager Daemon, 这个Daemon是 FLEXlm Server。License.dat文件需要和Daemon文件放在同一个目录下,启动 license server,可在 c:\ flexlm 目录下执行:c:\flexlm\lmgrd -app -c ;关闭 license server,可在 c:\flexlm 目录下执行:c:\flexlm\lmutil lmdown:lmutil.exe是License Manager Utility.
2. Windoz的窗口方式
安 装某些软件的时候, 会有一个安装License Server的选项, 选中它安装完成后会在控制面板中发现一个 FLEXlm License Manager的小工具. 在FLEXlm License Manager Setup的TAB里可以选择 Daemon, License文件,以及输出的日志文件; Control的TAB中可以启动/关闭Server以及查看Server状态, 另外几个 TAB还提供了一些其它辅助功能。
Windoz下的这个FLEXlm License Manager要比命令行方式的方便一些, 至少它可以浏览以选取Daemon/License文件, 不过有时候发现控制面板里面找不到. 事实上它是一个控制面板的扩展应用程序, 如在PowerPCB目录下可以找到FLEXlm.cpl这个文件, 用鼠标双击它就运行出上面提到的那个管理窗口。没有研究过解决一个主机运行多个Server分别对应不同的软件的问题。
1.设定环境变量(控制面板--->系统-->环境)LM_LICENSE_FILE,多数软件都使用这个变量,这也是冲突根源。但也有一些软件用别的名称,如:
UG--------->UGII_LICENSE_FILE=27000@CAD
ESRD------->ESRD5_LICENSE_FILE=F:\ESRD\STRESSCHECK5
以下变量由软件安装时或第一次设定后自动保存在注册表里:
MASTERCAM----->MCFLEX_LICENSE_FILE=F:\MILL72\LICENSE
COSMOS系列---->BRNI_LICENSE_FILE=F:\COSMOSM\LICENSE\FLEXLM\LICENSE.DAT
MSC系列------->MSC_LICENSE_FILE=F:\MSC\FLEXLM\LICENSES\LICENSE.DAT
MAPLE6-------->MAPLELMG_LICENSE_FILE=F:\MAPLE 6\LICENSE\LICENSE.DAT
注意事项:
1. 没有设好会出现错误如:
I-DEASETECTED LOSS OF COMMUNICATION WITH I-DEAS LICENSE DAEMON.
2. RO/E好像不用设定LM_LICENSE_FILE安装自动设<COMPUTER NAME>@7788;
3. LM_LICENSE_FILE变量可设置多个路径如:
F:\FEMAP80\LICENSE.DAT;F:\MARC\security\license.dat;中间用";"格开
4. 若是I-DEAS和别的软件冲突可在\IDEAS\MS7\bin\setup_varbs.cmd中加set LM_LICENSE_FILE=%SDRC_INSTL%\sec\license.dat
5. MASTERCAM7.2B安装后好像应清除LM_LICENSE_FILE设置,软件第一次运行时会让你查找LICENSE.DAT,然后自动保存在注册表里。
6. FEMAP8.0A的LICENSE.DAT应设在路径最前面,否则会出现以下错误INVALID LICENSE INFO,可能是它采用FLEXLM7.1b的原因?
7. :若设定多个LM_LICENSE_FILE路径有问题,可先设一个调试,确定是否是LM_LICENSE_FILE的原因?
8. 在控制面板-->FLEXLM LICENSE MANAGER-->SETUP中设SERVICE NAME,详细可到CAMONLINE(http://go.163.com/~camonline/)查看
9. 若控制面板没有FLEXLM LICENSE MANAGER可从\PTC\FLEXLM\OBJ OR\UG160\UGFLEXLM拷贝一个 FLEXLM.CPL到\WINNT\SYSTEM32,当然对FLEXLM7.0可直接用LMTOOLS.EXE,但是其 START/STOP SERVER和查询SERVER STATUS不在一组内我感觉不如6.1方便,也可到控制面板-->服务中查询 SERVER STATUS,更加直观
10. SERVICE NAME有时要手工设定,这取决于安装时选SERVER或CLIEN,详细可看.NFO文件,SERVICE NAME最好取与软件及版本相关如:I-DEAS8.0,因为软件安装时可能自动取相同的SERVICE NAME
11. 对PTC Pro/E和UG设一个SERVICE NAME就可以了,因为其高版本LICENSE可用于低版本,PTC PRO/E2000i的 FLEXLM6.1不用UNINSTALL,可直接用于代替PRO/E2000i2 FLEXLM7.0,对于UG带PACKAGE的license得用 UG FLEXlm Licensing选择不同PACKAGE好像最多只能选两个?
12. 对MSC和COSMOS(SRAC)系列可能要合并LICENSE,设一个SERVICE NAME并用最新的LMGRD.EXE及DAEMON(MSC.EXE,SRAC.EXE),对于NASTRAN FOR WIN4.6还要多设一个FEAMAP7
13. 若是对同一软件设多个SERVICE NAME,会使LMGRD.EXE不断调用DAMON,系统会很慢,CPU近100%,应REMOVE一个SERVICE NAME
14. 有些软件不用设SERVICE NAME如:IMAGWARE SURF,ESRD STRESSCHECK,MASTERCAM,MAPLE6直接COPY LICENSE.DAT到安装目录或C:\FEXLM,不知道是何原因?
15. 要查看LICENSE是否正确可STOP SERVER,START SERVER再看Debug.log信息 |