【问题标题】:setup for an xll on a computer where visual is not installed在未安装视觉的计算机上设置 xll
【发布时间】:2012-05-24 02:30:02
【问题描述】:

我使用 Visual Studio 2010 和 excel 2010 开发了一个 xll。它在安装了 Visual Studio 的计算机上的 excel 上运行良好。但是现在,我试图在没有安装视觉的计算机上使用我的 xll,所以我想创建一个设置。

事实上,我试图在没有安装任何东西的 Windows 上执行我的 xll(仅限 excel 2010):它不起作用。所以我在 X64 和 X86 中安装了“visual 2010 C++ 可再发行包”。在我再次尝试在 excel 中执行我的 xll 并且它不再工作之后。

编辑:我在我的两个 xll 上使用了“depends.exe”。在不工作的 xll 上,C:\windows\system32\SHLWAPI.DLL 在左边有一个红色的图片,但是工作的 xll 没有这个 dll 错误:

所以我的问题是除了 C++ 包之外,xll 还需要什么才能在没有视觉的计算机上执行?

或者你有一个简单的方法来为 xll 创建一个设置(我已经创建了一个带有视觉的设置但它不工作所以也许有其他方法......)。

【问题讨论】:

  • 它做什么而不是工作?有任何错误信息吗?
  • 在没有安装visual的计算机上:在我把我的xll放在EXCEl上之后,我尝试把一个单元格“=Myfunc”放在一个单元格上,没有与之匹配的函数列表。我将相同的 XLL 放在安装了 visual 的计算机上以及它的工作位置:当我输入“=Myfunc”时,我有一个与我的 XLL 的功能相对应的功能列表
  • 如果您在 SHLWAPI.DLL 中使用 shell 函数,您可能会链接到目标操作系统上不可用的功能。如果您正在针对最新版本的 Windows SDK 进行编译,但在 Windows XP 上运行,您会得到这种行为。更多关于在这里处理不同版本的 shell 库:msdn.microsoft.com/en-us/library/windows/desktop/…
  • 您还可以将调试器附加到 Excel 进程,然后加载加载项并检查调试器输出。无法加载某些 .dll 将显示在调试器输出中。或者从一个更简单的插件开始,然后添加您的功能以查看它在什么时候中断。
  • 我无法在我的 XLL 无法工作的计算机上执行此操作,因为没有安装 Visual 2010。如果我安装了视觉,我的 XLL 将工作,但我想在不安装视觉的情况下使用它。

标签: c++ visual-studio-2010 excel dependencies xll


【解决方案1】:

对于 VS 2010 (http://www.microsoft.com/en-us/download/details.aspx?id=5555) 和带有 Service Pack 1 (http://www.microsoft.com/en-us/download/details.aspx?id=8328) 的发行版的 C/C++ 运行时有单独的重新分发,您需要安装与您的开发环境相匹配的版本。

另一种方法是为您的加载项更改为 C/C++ 运行时的静态链接。

同时检查您的 Excel 宏安全性未设置为“高”或禁用加载项的设置。

【讨论】:

  • “另一种方法是为您的加载项更改为 C/C++ 运行时的静态链接”您如何做到这一点?
  • 我尝试使用带有 SP1 的 VS2010 发行版的 C/C++ 运行时(与我的开发环境相同)并将我的 Excel 宏安全性设置为“无安全性”,但它不再工作.也许我有一些新元素(在我问题的编辑部分)可以帮助我们
  • 添加了静态链接的图片。但是,如果您尝试安装正确的 C/C++ 运行时,这不是您的问题。
【解决方案2】:

使用http://xll.codeplex.com 创建 xll,您不必担心这个。

【讨论】:

    【解决方案3】:

    问题解决了:

    首先,您需要为 VS2010 安装可再发行的开发环境 (http://www.microsoft.com/downloads/fr-fr/details.aspx?FamilyID=c68ccbb6-75ef-4c9d-a326-879eab4fcdf8),并为 VS 安装 Service Pack 1 (http://www.microsoft.com/en-us/download/details.aspx?id=8328)。

    第二次您需要为 Office 运行时安装 Visual Studio 2010 工具 (http://www.microsoft.com/downloads/fr-fr/details.aspx?familyid=06c32242-2289-4471-93aa-ce96aa5cbc36)

    【讨论】:

      猜你喜欢
      • 2011-07-08
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 2011-10-18
      • 2017-08-26
      • 2023-03-04
      相关资源
      最近更新 更多