自Windows Update kb4340556:CreateObject()上的VBA COM .NET自动化错误

Vol*_*ied 10 .net vb.net vba windows-update access-vba

自从2018年7月10日更新Windows7 Update KB 4340556以来,我们收到以下错误消息:

"Automation Error" : The system cannot find the file specified" from the Access VBA CreateObject() call.

 Set ComClass = CreateObject("MyApplication1.InteropStart")
Run Code Online (Sandbox Code Playgroud)

Microsoft将此视为安全问题.

如果我们卸载更新KB4340556,则呼叫将像以前一样工作.

有没有人有同样的问题?还是比卸载更新更好的解决方案?

key*_*don 6

我们也受到了多个客户的影响.

我排除了程序集的无效强名称签名,因为框架本身的.NET程序集也受到访问拒绝错误的影响.

最后我设法通过配置来解决问题.显然,网站的身份验证身份现在已经与应用程序池的身份相匹配.或者IUSR不再具有足够的权限. 在此输入图像描述


Vol*_*ied 5

我们的Interop .Net程序集具有强名称的签名.签署显然已不再被接受.在Visual Studio中创建新签名(*.snk文件)会导致CreateObject ComInterop调用再次起作用.

编辑26.07.2018

我们在Pao'lino等客户的机器上启用了用户帐户控制(UAC).

创建新签名还会为程序集创建新的公钥标记.这会引起参考问题.