错误1001将命令发送到应用程序时发生错误

问题描述:

COM Excel AddIn,C#,VS2008 当我安装/卸载我的AddIn时,偶尔会发生错误。 有时我看到错误1001指定的文件无法找到错误1001将命令发送到应用程序时发生错误

任何人都知道是什么原因导致这些以及如何解决?感谢

我使用Windows Installer

http://msdn.microsoft.com/en-us/library/2w2fhwzz%28v=VS.90%29.aspx说,如果使用[TARGETDIR],它应该像 “[TARGETDIR] \” 或 “[TARGETDIR]”。我只是在CustomActionData中使用/ filepath =“[TARGETDIR] myinstallfile”
我不明白的是它几乎可以在所有时间都有效,偶尔会失败 同样,即使我将其更改为包含空格或反斜杠,修复问题,因为问题不会每次都发生。任何人都有经验?感谢

我发现了这一点,虽然我不知道我曾经使用DDE在我的计划 http://sympmarc.com/2010/02/04/microsoft-excel-error-there-was-a-problem-sending-the-command-to-the-program/

+0

实际上,修复不会每次都有效。它解决了一个案例。但另一种情况,同样的错误,在允许DDE未选中后,用户仍然会看到相同的错误 – toosensitive 2011-05-31 20:31:24

然后我发现这个http://www.opendylan.org/documentation/opendylan/interop2/inte_278.htm 它谈论COM服务器 让我去到CMD修复该问题,请键入在“Excel.exe/RegServer”中,则错误消失。 我并不确定这个解决方案是否适用于所有情况。事实上,我担心我在安装程序中错过了某些事情。

这是一个Microsoft Support page与您看起来非常相似的问题。所以对我来说,它看起来像一个Excel中的错误,而不是你的安装程序。

文章是相当大的,但它归结为确保:

  • 您的Excel应用程序是不以提升权限运行
  • 高级设置“忽略使用动态数据交换的其他应用程序(DDE )“未选中

除此之外,您可能会尝试修复Excel安装,或者按照this thread of ASP.NET论坛中给出的建议修复注册表以安装Excel。

我希望它可以帮助遇到类似问题的人。

如果在卸载VS安装项目MSI时出现此类错误,那么最可能的原因是TARGETDIR在安装和卸载之间未保留,因此它没有任何价值,并尝试在卸载自定义操作将导致无法找到该文件。最简单的解决方案(除了始终安装到已知位置,例如常用文件等),可以将TARGETDIR保存到注册表并稍后检索。在VS IDE中,您可以创建一个值为[TARGETDIR]的注册表项目,以便在安装时解决该问题。