- 积分
- 30
- 注册时间
- 2004-11-17
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2007-7-6 23:18:42
|
显示全部楼层
来自 北京西城
Matlab程序打包模板
这里给出了一个Matlab程序打包的模板和其详细的注释。此安装流程完成如下的一些特殊功能:
1、
自动查找%MaltlabRoot%\work目录的位置
2、
在完成文件拷贝后运行setup.m文件定义的Matlab安装程序进行配置
这样的安装流程可以满足大多数Matlab程序的安装打包问题。
- ;================================
- ; -- Matlab 程序安装打包ISS脚本模板--
- ;================================
- ;声明
- ; 此模版是由WaitingForMe为Matlab爱好者开发的Matlab程序安装打包模板,您可以
- ; 任意修改或者传播此模板。此模版可以用于商业用途或者其他用途。但是如果您使用了该
- ; 模版,请务必保留模版的声明和作者的信息和以下得Email联系方式以及网站地址,并且
- ; 您不得声明该模版的原创性,在您的软件说明文档的中应当包含使用了此模板的来源信
- ; 息。
- ;
- ; Copyright (C) 2007 WaitingForMe(邓长顺). All rights reserved.
- ; Email: heroaq_2002@163.com
- ; Web-Log: http://waitingforme.yculblog.com
- ;
- ;功能说明
- ; 模板主要定义了文件的拷贝,增加了Matlab程序的安装位置和默认工作目
- ;录%MATLABROOT%\work\的自动查找。在您的Matlab程序中,请务必包含一个在Matlab
- ;窗口中可以执行的setup指令(setup.m或者setup.p等等),在完成文件拷贝以后,安装
- ;程序会启动Matlab并运行这个setup指令。请替换模板中将带尖括号“<>”的属性作相应
- ;的替换。
-
- [Setup]
- AppName=<软件名称>
- AppVerName=<软件带版本的名称>
- DefaultDirName={code:MatlabRoot}\work\<软件目录名称>
- DefaultGroupName=<程序组名称>
- ;LicenseFile=licence.txt
- Compression=lzma
- SolidCompression=true
- OutputDir=<编译后的exe文件输出目录位置>
- ;Password=<软件安装密码>
- LanguageDetectionMethod=locale
-
- [Files]
- ;请不要修改setup指令的安装位置
- Source: setup.m; DestDir: {app};
- <请在下面添加其他需要拷贝的文件>
-
- [Code]
- //请不要修改[Code]字段的代码
- var
- FinishedInstall : Boolean;
-
- function GetMatlabRoot() : String;
- //获取Matlab的根路径
- var
- sPath : String;
- sMatlabRoot : String;
- begin
- sPath := FileSearch('matlab.exe', GetEnv('Path'));
- sMatlabRoot := Copy(sPath,1,Length(sPath)-Length('bin\win32\matlab.exe'))
- //MsgBox(sMatlabRoot, mbInformation, MB_OK);
- Result := sMatlabRoot;
- end;
-
- function MatlabRoot(Param: String): String;
- //定义使用” code:” 修饰的MatlabRoot常量
- begin
- Result := GetMatlabRoot();
- end;
-
- procedure DeinitializeSetup();
- //常规安装以后,执行Matlab的安装程序setup
- var
- FileName: String;
- ResultCode: Integer;
- begin
- //如果安装完成,就执行指定的Matlab指令setup
- if FinishedInstall then begin
- FileName :=GetMatlabRoot() + 'bin\win32\matlab.exe';
- if not Exec(FileName, '-r setup', ExpandConstant('{app}'), SW_SHOWNORMAL, ewNoWait, ResultCode) then
- MsgBox('DeinitializeSetup:' #13#13 'Execution of ''' + FileName + ''' failed. ' + SysErrorMessage(ResultCode) + '.', mbError, MB_OK);
- end;
- end;
-
- procedure CurStepChanged(CurStep: TSetupStep);
- //安装完成
- begin
- if CurStep = ssPostInstall then
- FinishedInstall := True;
- end;
复制代码 |
|