.xll加载项在没有安装Visual Studio完整版的情况下无法正常工作

问题描述

  • 更新*

我制作了一个excell插件(.xll文件),其中包含一些数学函数,均使用c ++编译,并且可以在我的计算机上正常工作。好吧,当我尝试发送给其他人时,不是工作。 Excel会显示一条消息,提示文件已损坏,当我们尝试打开它时,请打开包含一些代码/单词/符号的表格

我试图找到解决方案,但无济于事。但是我发现了真正的问题是什么。 在此计算机上无法安装Visual Studio(完整版)后,xll加载项将起作用!

因此,我想我有一个与程序一起运行的Visual Studio(完整版)安装的程序,功能部件和组件。我尝试了SDK,但未成功。 请问你能帮帮我吗?我附加了3张图片,其中一张使用外接程序,第二张使用错误。

PS:我尝试为两个excell编译32位和x64版本,并且都在两个Excel(32和64位)中发生

erro 1

erro 2

working

一个同事要我更新-dumpbin / depends Addin.xll的结果 跟随风箱:

文件类型:DLL

图像具有以下依赖性:

KERNEL32.dll
USER32.dll
MSVCP140D.dll
VCRUNTIME140_1D.dll
VCRUNTIME140D.dll
ucrtbased.dll

摘要

    1000 .00cfg
    3000 .data
    4000 .idata
    1000 .msvcjmc
    A000 .pdata
   29000 .rdata
    2000 .reloc
    1000 .rsrc
   70000 .text
   32000 .textbss
    1000 .tls

解决方法

1)确保发送给其他人的是发行版本,而不是调试版本。

2)尚未安装VC ++运行时的用户将需要从The latest supported Visual C++ downloads页安装适当的x86(32位)或x64(64位)可再发行文件(位数取决于您向其发送XLL的x86版本还是x64版本,而不取决于Windows安装的位数。

MSVCP140D.dll
VCRUNTIME140_1D.dll
VCRUNTIME140D.dll
ucrtbased.dll

这些DLL名称中的'D'后缀代表“调试”。这些是 debug C / C ++运行时DLL,它们由Configuration = Debug版本使用,并作为Visual Studio安装程序的一部分进行安装。根据{{​​3}},将在开发过程中使用它们,但不要以其他方式部署它们:

应用程序的调试版本和各种Visual C ++调试DLL无法重新分发。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...