Lotus notes 用于WIA的LotusScript代理在Domino服务器上运行时会导致错误

Lotus notes 用于WIA的LotusScript代理在Domino服务器上运行时会导致错误,lotus-notes,lotus-domino,lotusscript,wia,Lotus Notes,Lotus Domino,Lotusscript,Wia,我有一个LotusScript代理,它在新邮件到达后运行。代理返回: 错误208无法创建自动化对象 在服务器上启用时,但在更改为使用Notes客户端从所选文档的菜单上运行时,运行正常 Dim oImage As Variant Dim oProcess As Variant Dim lngH As Long, lngW As Long 'Build the object -- works from Notes client but not from server agent... Set

我有一个LotusScript代理,它在新邮件到达后运行。代理返回:

错误208无法创建自动化对象

在服务器上启用时,但在更改为使用Notes客户端从所选文档的菜单上运行时,运行正常

Dim oImage As Variant
Dim oProcess As Variant
Dim lngH As Long, lngW As Long

'Build the object   -- works from Notes client but not from server agent...
Set oImage = CreateObject("WIA.ImageFile")

'load it    
oImage.LoadFile sFileName
lngH = oImage.Height
lngW = oimage.Width
尝试
CreateObject(“WIA.ImageFile”)

wiaaut.dll文件位于domino\data目录中,以及notes\data目录中。我不确定是否需要或如何设置任何权限

LotusScript代理使用Domino目录中列出的组中列出的ID进行签名,Domino目录中列出的组位于要签名的服务器文档中

签署或运行不受限制的方法和操作

并且代理的安全性设置为

  • 允许具有完全管理员权限的受限操作
  • 此签名ID与执行受限操作的其他代理配合良好


    我认为错误是特定于WIA对象的。有什么想法吗?

    如果它在客户端运行,它必须使用32位DLL(根据@FruitySoup的评论)。同样的DLL不能在64位代码中工作


    此外,createObject依赖于注册表项。好吧,把它放在数据目录中实际上不会有什么区别。在我的64位计算机上,注册表项位于HKEY_CLASSES_ROOT\WIA.ImageFile、HKEY_LOCAL_machine\SOFTWARE\CLASSES\WIA.ImageFile、HKEY_CLASSES_ROOT\Wow6432Node\CLSID{long id here}\InProcServer32。这些键非常清楚地表明它是32位软件。

    如果它在客户端运行,它必须使用32位DLL(根据@FruitySoup的评论)。同样的DLL不能在64位代码中工作


    此外,createObject依赖于注册表项。好吧,把它放在数据目录中实际上不会有什么区别。在我的64位计算机上,注册表项位于HKEY_CLASSES_ROOT\WIA.ImageFile、HKEY_LOCAL_machine\SOFTWARE\CLASSES\WIA.ImageFile、HKEY_CLASSES_ROOT\Wow6432Node\CLSID{long id here}\InProcServer32。这些键非常清楚地表明它是32位软件。

    如果它在客户端运行,它必须使用32位DLL(根据@FruitySoup的评论)。同样的DLL不能在64位代码中工作


    此外,createObject依赖于注册表项。好吧,把它放在数据目录中实际上不会有什么区别。在我的64位计算机上,注册表项位于HKEY_CLASSES_ROOT\WIA.ImageFile、HKEY_LOCAL_machine\SOFTWARE\CLASSES\WIA.ImageFile、HKEY_CLASSES_ROOT\Wow6432Node\CLSID{long id here}\InProcServer32。这些键非常清楚地表明它是32位软件。

    如果它在客户端运行,它必须使用32位DLL(根据@FruitySoup的评论)。同样的DLL不能在64位代码中工作


    此外,createObject依赖于注册表项。好吧,把它放在数据目录中实际上不会有什么区别。在我的64位计算机上,注册表项位于HKEY_CLASSES_ROOT\WIA.ImageFile、HKEY_LOCAL_machine\SOFTWARE\CLASSES\WIA.ImageFile、HKEY_CLASSES_ROOT\Wow6432Node\CLSID{long id here}\InProcServer32。这些键非常清楚地表明它是32位软件。

    要使用CreateObject()方法使用DLL文件中的函数,您不仅需要将DLL文件复制粘贴到服务器计算机中的文件夹中,还需要在计算机中注册DLL文件

    尝试先使用“Regsvr32”命令注册DLL文件。如果是32位或64位机器,则注册DLL命令语法可能因机器类型而异

    看看这是否有帮助

    下面站点的dll文件附带的Readme.txt文件表示,在使用dll之前,您需要将dll文件复制到System32文件夹并进行注册

    ============

    自述文件 开始 勘误表 使用VideoPreview控件时,某些网络摄像头驱动程序存在一个错误,该错误将导致下面示例中的ExecuteCommand调用在VideoPreview暂停时挂起

    Dim Itm 'As Item
    
    VideoPreview1.Pause = True
    Set Itm = VideoPreview1.Device.ExecuteCommand(wiaCommandTakePicture)
    

    Windows Image Acquisition Library v2.0仅设计为支持PNG、BMP、JPG、GIF和TIFF图像格式。不应依赖它来支持其他格式,尽管根据系统配置可能会支持这些格式。

    要使用CreateObject()方法在DLL文件中使用函数,您不仅需要将DLL文件复制粘贴到服务器计算机中的文件夹中,还需要在计算机中注册DLL文件

    尝试先使用“Regsvr32”命令注册DLL文件。如果是32位或64位机器,则注册DLL命令语法可能因机器类型而异

    看看这是否有帮助

    下面站点的dll文件附带的Readme.txt文件表示,在使用dll之前,您需要将dll文件复制到System32文件夹并进行注册

    ============

    自述文件 开始 勘误表 使用VideoPreview控件时,某些网络摄像头驱动程序存在一个错误,该错误将导致下面示例中的ExecuteCommand调用在VideoPreview暂停时挂起

    Dim Itm 'As Item
    
    VideoPreview1.Pause = True
    Set Itm = VideoPreview1.Device.ExecuteCommand(wiaCommandTakePicture)
    

    Windows Image Acquisition Library v2.0仅设计为支持PNG、BMP、JPG、GIF和TIFF图像格式。不应依赖它来支持其他格式,尽管根据系统配置可能会支持这些格式。

    要使用CreateObject()方法在DLL文件中使用函数,您不仅需要将DLL文件复制粘贴到服务器计算机中的文件夹中,还需要在计算机中注册DLL文件

    尝试先使用“Regsvr32”命令注册DLL文件。如果是32位或64位机器,则注册DLL命令语法可能因机器类型而异

    看看这是否有帮助

    下面站点的dll文件附带的Readme.txt文件说,您需要将dll文件复制到System32文件夹中,并在使用之前进行注册