【问题标题】:packaging a COM addin for deployment打包 COM 插件以进行部署
【发布时间】:2013-06-03 11:39:12
【问题描述】:

大家好,

我不熟悉为我的 COM 级插件打包 Windows 安装程序的正确技术(这是注册 COM 服务器的更高级别版本 [实现 ID2Extesibility 接口] 并且可以一次分发到所有办公产品 [word ,excel等])。我正在使用 VS2010 并试图让插件在客户的计算机上运行。我相信我已经发现问题出在 COM 注册本身。似乎安装程序已决定引用我的开发二进制文件而不是安装位置。如何在安装程序中更改此值?

基本上是写 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{MYclassID}\InprocServer32\{VER}\CodeBase"C:\MyVS10Install\MyProj\Debug\MyProjDLL.dll"

如何将其更改为:

c:\Program Files\My Install Path\MyProjDLL.dll

??

任何帮助都会很棒,因为我可能不知道我在寻找什么,所以无法找到任何相关信息。

编辑:

我认为这是注册部分,因为插件在我的电脑上运行良好,但没有安装在客户的电脑上

【问题讨论】:

  • 我已尝试更改“主要输出来自...”中的值->属性->注册到 vsdrpCOMRelativePath 和 vsdrpCOM
  • 那么,这个 reg 密钥是由安装程序编写的,还是 regsrvr/regasm?如果安装程序负责将密钥写入机器,则尝试使用 [INSTALLDIR]\My Install Path\MyProjDLL.dll,只要 INSTALLDIR 设置正确,Windows Installer 就会将其映射出来。

标签: c# com office-interop


【解决方案1】:

看来安装程序已经决定参考我的开发了 二进制而不是安装位置。我怎样才能改变这个值 安装程序?

如果您认为是安装程序造成了问题,请检查 CodeBase 是否未硬编码为指向 C:\MyVS10Install。你应该可以在 msi 数据库的 Registry 表中看到这个

如果它被硬编码指向那里,那么尝试使用[INSTALLDIR]\My Install Path\MyProjDLL.dll 作为值

【讨论】:

    猜你喜欢
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 2011-11-28
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    相关资源
    最近更新 更多