问题描述
我正在部署一个Outlook加载项。所有用户都有一个64位Windows和一个32位ODBC连接。但是在办公室方面,有些办公室有32位,而其他办公室则有64位。
通常,我将定位“任何cpu”,然后将“首选32位”打勾,以使应用程序使用32位ODBC连接,并且一切运行正常。
但是Visual Studio中用于VSTO加载项的“首选32位”显示为灰色。
在我的电脑上: 仅Windows 64位/ Office 32位/ odbc 32位
一切都很好。
其他用户: 仅Windows 64位/ Office 64位/ odbc 32位
我收到错误消息:错误IM014,消息:[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配
我尝试定位:x86,但是它甚至无法安装在64位办公室上,我收到错误消息:未加载。加载COM加载项期间发生运行时错误
odbc的代码中是否可以在64位编译软件中使用32位?
解决方法
VSTO加载项始终由Outlook进程内加载,因此始终以父进程(Outlook)的位运行。