zoukankan      html  css  js  c++  java
  • Setup Factory打包时注册com dll

    打包程序时遇到这个问题,上网搜了一下,解决这个问题需要三个步骤:

    1. 按依赖关系添加dll;

    2. 在setup factory里,右键需要注册的dll,属性->高级,在红框内打勾;

    3. 在Setup Factory的Action页面,On Post Install中,增加以下代码:Shell.Execute("regsvr32", "open", SessionVar.Expand(" /s "%安装目录%\XXXX.dll""));

    不过据我试验,第3步是多余的,在2步中勾选上“register”以后,程序会自动添加注册过程的。

    再说说第1步。我在打包的过程中遇到的问题是loadlibrary 126,找不到库。这里的库并不是我要注册的库,而是指的它依赖的库。查看dll的依赖项,可以使用depends与inspectExe。前者曾经是VS自带的tool,不过很早就被放弃了。后者在2014年就停止更新了,官网上说只支持到win7,我也没在win10上试过,不过目标机器就是win7,可以用。

    安装好inspectExe以后,它被集成到右键菜单中。右击需要查看的dll,选择“属性”,如图所示:

    在inspectExe选项卡下点“Test Load”,就可以测试能否成功注册了。弹出窗口如下所示,会列出该dll的依赖项,如果失败,就把所需要的项也打包进去。

  • 相关阅读:
    黄聪:数据库基础
    黄聪:(C#)利用反射动态调用类成员[转载]
    黄聪:SQL 2005 全文索引
    黄聪:自动化测试的7个步骤
    黄聪:队列Queue笔记
    黄聪:VMware三种网络连接方式的概念
    Nginx 模块细节详探
    munin因为plugin而亮
    Zookeeper简介
    Munin进阶使用
  • 原文地址:https://www.cnblogs.com/lzxskjo/p/6523096.html
Copyright © 2011-2022 走看看