【发布时间】:2016-09-21 08:23:17
【问题描述】:
我编写了一个程序,可以在 Access、Excel 和其他一些程序之间转移数据。我有 office 2016 并在我的代码中使用了相关的 comm 引用。我使用 clickonce 进行部署。在我的电脑上工作正常。当部署到具有不同版本办公室的其他人时,它也可以正常工作。
但是,在具有不同版本 Office 的计算机上使用后,以前在该计算机上运行的类似程序不再运行。我相信这可能是因为当我的程序安装时,它在本地计算机上注册了 2016 版的 office dll,至少在访问的情况下,它不向后兼容。解决方案是以管理员身份打开旧程序,据我所知,这允许这些程序将注册的 dll 重置为它们所构建的任何版本的 office,但这意味着我的程序不再工作。
首先我查看了引用隔离,但我现在了解 Microsoft 不会允许您隔离任何 office dll。关于如何防止我的程序干扰用户计算机上其他类似程序的任何想法。
以下是旧程序运行时的错误消息:
"无法启动。 无法初始化 Windows 注册表。 重新运行 Microsoft Access 或 Microsoft Office 安装程序以重新安装。”
【问题讨论】:
标签: c# ms-access deployment version