最近学习使用NSIS安装程序制作工具的使用
刚好找了一个NSIS 2.05中文的帮助,那可真是如虎添翼,唉,咱的母语要是English,看M$DN也不会这么费劲了
有了中文帮助,基本上没有遇到什么困难,轻轻松松照葫芦画瓢
但是做到后来,遇到一个问题,就是COM组件注册时,有的会成功,但有的会失败,这个让我很纳闷。一般COM组件注册失败,要么找不到文件,要么就是文件的依赖项找不到,部分文件能注册,说明InstallLib 这个宏的使用文件路径参数设的应该没有问题。例如:
!insertmacro InstallLib TLB SHARED NOREBOOT_PROTECTED "C:\Program Files\Common Files\ESRI\AFCust20.tlb" "$COMMONFILES\ESRI\AFCust20.tlb" "$TEMP\AFCust20.tlb"
问题应该是在依赖项,检查前面的脚本,哦!我注册文件是在复制完所有文件之后进行的。SetOutPath在复制其他文件时,已经改变不再是COM动态库所在的那个目录,加上一句:
SetOutPath "$COMMONFILES\ESRI"
OK,问题解决.
刚好找了一个NSIS 2.05中文的帮助,那可真是如虎添翼,唉,咱的母语要是English,看M$DN也不会这么费劲了
有了中文帮助,基本上没有遇到什么困难,轻轻松松照葫芦画瓢
但是做到后来,遇到一个问题,就是COM组件注册时,有的会成功,但有的会失败,这个让我很纳闷。一般COM组件注册失败,要么找不到文件,要么就是文件的依赖项找不到,部分文件能注册,说明InstallLib 这个宏的使用文件路径参数设的应该没有问题。例如:
!insertmacro InstallLib TLB SHARED NOREBOOT_PROTECTED "C:\Program Files\Common Files\ESRI\AFCust20.tlb" "$COMMONFILES\ESRI\AFCust20.tlb" "$TEMP\AFCust20.tlb"
问题应该是在依赖项,检查前面的脚本,哦!我注册文件是在复制完所有文件之后进行的。SetOutPath在复制其他文件时,已经改变不再是COM动态库所在的那个目录,加上一句:
SetOutPath "$COMMONFILES\ESRI"
OK,问题解决.