【问题标题】:WIA Scanning issues on XPXP 上的 WIA 扫描问题
【发布时间】:2012-10-09 05:50:21
【问题描述】:

我有一个 WPF 应用程序,用于将文档扫描到用户邮箱等。

在我的 32 位 Windows 7 专业机器上调试应用程序时,一切都按计划进行,以及在另一台 32 位 Windows 7 机器上部署的版本。

当我部署到 XP 机器并尝试开始扫描时,我收到以下错误:

检索具有 CLSID 的组件的 COM 类工厂 {850D1D11-70F3-4BE5-9A11-77AA6B2BB201} 由于以下原因而失败 错误:80040154 类未注册(HRESULT 异常: 0x80040154 (REGDB_E_CLASSNOTREG))。

有什么建议吗?

【问题讨论】:

  • 你在目标机器上注册了wiaaut.dll文件了吗?
  • 使用 regsvr32 注册 DLL 时出现以下错误:“LoadLibrary('E:\windows\system32\wiaaut.dll') 失败 - 找不到指定的过程”。请注意,DLL 是从我的开发 PC 上复制的。
  • 我遇到了同样的问题——win7 版本无法在 xp 上运行,不幸的是我在网上的任何地方都找不到它所有指向它的链接都被破坏了——我设法找到了一台 xp 机器并复制了它从那开始。

标签: c# wpf wia


【解决方案1】:

win 7 版本无法在 xp 上运行 - 您可以尝试下载此版本的 XP。

download here

【讨论】:

  • 非常感谢。在任何地方都找不到此 dll,并且所有 MS 链接都已关闭。
  • 那么我应该使用 wiaaut.dll 而不是 Interop.WIA.dll 吗?
【解决方案2】:

为了简化部署,请将 Richard Friend's Answer 中的文件转换为 Inno 安装程序。

[Setup]
AppId={{4D9ADCF1-F6B4-4790-8B21-3C9F93346638}}
AppName="Microsoft Windows XP x86 WIA 2.0 Installer"
AppVersion="2.0"

OutputBaseFilename="Microsoft Windows XP x86 WIA 2.0 Installer"
Compression=lzma2/ultra64
CreateAppDir=no
Uninstallable=no

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: Files\wiaaut.chi; DestDir: {win}\HELP; Flags: onlyifdoesntexist
Source: Files\wiaaut.chm; DestDir: {win}\HELP; Flags: onlyifdoesntexist 
Source: Files\wiaaut.dll; DestDir: {sys}; Flags: onlyifdoesntexist regserver

我只是这样做了,因为我必须在一个小办公室中部署它并且它可以工作。我只把它放在 x86 机器上。您可能需要稍微调整一下才能在 x64 机器上工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 2011-05-20
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    相关资源
    最近更新 更多