【问题标题】:RTD server isn't starting in ExcelDNA add-inRTD 服务器未在 ExcelDNA 加载项中启动
【发布时间】:2015-09-29 21:07:23
【问题描述】:

我正在尝试从 ExcelDNA .xll 中运行 RTD 服务器。所有开发文件都在我网络上的共享驱动器上。在我开发的计算机上,服务器运行良好并按预期生成实时数据。但是,当我尝试访问 .xll 并从网络上的其他计算机运行 RTD 服务器时,我正在进行的服务器函数调用(需要下面的 RTD 调用的那些)总是将 #N/A 返回到 Excel。通过日志记录,我确定服务器永远不会启动(即永远不会调用 ServerStart),也不会调用任何 RTD 函数。

正在使用的 .xll 文件是其目录中的唯一文件。因为这是在任何计算机都可以访问的共享驱动器上,所以我真的不明白为什么这应该在主机而不是其他计算机上工作。如果相关,我不会将 .xll 复制到本地用户的 Addins 文件夹中。

据我所知,我将所有相关的 .dll 引用打包到 .xll 中。我的 .dna 文件如下:

<DnaLibrary Name="ExcelRTD Add-In" RuntimeVersion="v4.0">
  <ExternalLibrary Path="W:\nate2\ExcelRTD\Build2\ExcelRTD.dll" Pack="true" ComServer="true" LoadFromBytes="true"/>
  <ExternalLibrary Path="C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.6\Assemblies\v4.0\MySql.Data.dll" Pack="true" />
  <ExternalLibrary Path="C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll" Pack="true" />
  <ExternalLibrary Path="W:\nate2\Excel-DNA.0.32.0\tools\ExcelDna.Integration.dll" Pack="true" />
  <ExternalLibrary Path="C:\Windows\assembly\GAC_MSIL\Office\14.0.0.0__71e9bce111e9429c\Office.dll" Pack="true" />
  <ExternalLibrary Path="C:\Windows\assembly\GAC_MSIL\Microsoft.Vbe.Interop\14.0.0.0__71e9bce111e9429c\Microsoft.Vbe.Interop.dll" Pack="true" />
</DnaLibrary>

任何帮助将不胜感激!

【问题讨论】:

  • 在 Excel-DNA Google 小组 (groups.google.com/forum/#!forum/exceldna) 上解决此类问题要容易得多。
  • 您可以删除大部分 .dna 文件。您只需要前两行(只要 COM 引用标记为“Embed Interop Types=true”)。第二个条目应该是 而不是 。
  • 那么第一个问题就是如果.xll文件是在本地复制而不是在网络上运行,它是否在问题机器上工作。

标签: vb.net excel excel-dna


【解决方案1】:

您是否查看过您的进程的特权/权限级别?以提升权限运行的进程以不同方式访问注册表,这可能会阻止基于 Excel-DNA 的插件工作。例如,运行安装在 c:\Program Files 下的二进制文件需要提升权限。但是,具有提升权限的进程无法访问 HKEY_CURRENT_USER 下的每个用户设置,而是转到 HKEY_LOCAL_MACHINE。这是为了防止漏洞而设计的。 Excel-DNA 将其自动注册表项放在 HKEY_CURRENT_USER 下以进行 RTD 注册。请参阅 ExcelRtd.cs。因此,要将插件与基于 Excel-DNA 的 RTD 服务器一起使用,必须安装 在 c:\Program Files 之外,无需提升权限即可运行。

Component creation fails under UAC admin, works without UAC elevation

https://msdn.microsoft.com/en-us/library/bb756926.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-23
    • 2014-08-08
    • 1970-01-01
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    相关资源
    最近更新 更多