NSIS编写安装脚本注册COM组件失败的原因
2006-09-20 17:30
661 查看
最近学习使用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,问题解决.
相关文章推荐
- 使用Script.NET编写NSIS安装脚本
- python使用pip安装scrapy失败可能原因
- win7系统安装失败的原因及解决方法
- Android 7.0 安装失败的两个原因
- 从ICassFactory为CLSID为{17BCA6E8-A950-497E-B2F9-AF6AA475916F}的COM组件创建实例失败,原因是出现以下错误:c001f011.(Microsoft.Server.manageDTS)
- Win7下使用VS2013编写的ActvieX在XP下注册提示:LoadLibrary("XXX.dll")失败-找不到指定的程序
- 编写脚本:访问一网站,每5分钟访问一次,如果访问成功,将访问记录保存到日志,如果访问失败,则发送邮件至指定邮箱
- 一个系统中安装多个mysql数据库的方法,以及mysql数据库自动备份脚本的编写
- \t\t用C#编写ActiveX控件 自定义html控件 ActiveX 控件注册 标记Activex控件为脚本安全
- iOS ipa 安装包安装失败原因
- centos7中安装mysql的rpm包启动失败问题的原因和解决办法
- HIVE安装后启动失败的原因(之一)
- Android应用程序自动更新失败,原因是已安装了存在签名冲突的同名数据包
- Windows 2008驱动安装失败的原因及解决方法
- IIS下注册COM组件 检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046}的组件时失败 错误:80070005
- 解决oracle12c安装报“[INS-30131]执行安装程序验证所需的初始设置失败(原因:无法访问临时位置)”方法
- 以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用
- java JDK7安装后指定环境变量失败的原因
- 关于部分手机app安装失败或安装未成功的原因
- LAMP一键安装脚本(Python编写)