可能许多人都希望自己的工具有一个比较方便的安装程序。这里我介绍一些都需要什么功能,以及可以选择什么。
一般只需要使用mzp文件即可完成脚本工具的安装,具体可以参考MaxScript文档中 “Zip-file Script Packages”。
缺点是,每个版本的Max需要安装时都要运行或拖拽这个mzp文件,另外,有时我们希望一些可以共享的文件只需要保留一份,例如大多数的脚本工具,而有版本针对性的例如MaxSdk的插件则按照相对应的版本安装。此外,程序同学可能并没有兴趣为了安装导出工具而去学习MaxScript。
如果我们需要自己写一个安装程序,需要有以下几个功能:
1,最好可以自动识别Max的安装路径。
这里推荐读取注册表来获得,如果是64的系统和64位Max或者32的系统,Max的安装路径记录在
HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\3dsMax\
如果是64位系统下的32位Max则记录在
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Autodesk\3dsMax
原因是32位的程序访问注册表的时候。64位的windows会自动切换到wow6432node分支下.
此方式也可以直接分辨出64位或32位的Max,从而安装不同版本的插件.
一些额外信息可以参考MaxSDK文档:3ds Max SDK > Writing Plug-ins > Advanced Plug-in Topics > 3ds Max Install Directory Registry Key
2,可以修改Max的Plugin.ini文件,从而添加自己指定的Max插件路径。
实际上这个比较简单了,Max用户配置目录为: C:\Documents and Settings\
如果该目录不存在,会在Max启动时自动创建。所以会要求至少启动过一次Max。不过需要注意的是, plugin.ini文件在Max2009之后版本为Plugin.UserSettings.ini。
在这个文件的[Directories]添加入自己想指定的路径即可。
3,执行工具的初始化,例如Macro的载入,建立菜单等等。
这个也不难,只是自己对工具路径的规划了,该部分适合用maxScript完成。只需要在Max的Scripts\Startup下,放一个启动用的脚本就可以了。Macro的载入可以使用 Macros.Load ,菜单项目的建立可以参考MaxScrip文档中的Menu Manager。
4,删除,我觉得这个可以简单的根据文件hash码来做判断,是否删除文件。
曾经用C#写过一个安装工具,因为是工作中写的,虽然很简单,但是不适合放出来,抽时间我打算再用QT做一个,然后整理一下C#需要的几个类、函数,以方便跟我一样非程序出身的同学。至于程序出身的,估计已经不需要任何提示了.