在 Windows x64 和 NSIS 中使用 .INF 安装打印机
Posted
技术标签:
【中文标题】在 Windows x64 和 NSIS 中使用 .INF 安装打印机【英文标题】:Installing Printers with .INF in Windows x64 and NSIS 【发布时间】:2014-12-01 18:43:08 【问题描述】:我创建了一个安装程序,其中包含两台带有 CUPS 的打印机网络。
在 Windows x86(32 位)中,打印机安装没有问题,有驱动程序,一切正常。
但问题是当我在 x64 中运行 .exe 时,我可以检测到 Arquitecture,我将 x64.nsh 放在顶部,但不能执行命令。
消息是“驱动程序无效”
我检查了驱动,是 x64 驱动...
我使用 ExecWait: rundll32 printui.dll PrintUIEntry ... 与对应名称 .inf...
谁能帮我解决使用 Nsis 安装程序安装 x64 打印机的问题?
谢谢! ;)
【问题讨论】:
【参考方案1】:您是否在 x64 上尝试过 ExecWait '"$WinDir\SysNative\RunDll32.exe" printui.dll PrintUIEntry ...'
? (不适用于 32 位系统,因此您需要检查 x64.nsh
以查看您想要的 RunDll32 路径,在 32 位上您只需要 "$SysDir\RunDll32.exe"
)
【讨论】:
你好安德斯。感谢你的回复。该程序可以毫无问题地检测架构(x86 / x64)。在x86没有问题,用对应的驱动安装打印机(.INF)没有问题,但是如果Windows是x64,一切都和x86一样,只是出现“驱动不兼容”,而不是在x64安装打印机.明天我试试你的解决方案,但是现在,该行是:x86 -> ExecWait: rundll32 printui.dll PrintUIEntry '"/m ""Name Printer" /f "File.INF" /r "URL Of Printer"' 在 x86 中,线条工作正常,但在 x64 中,给我“驱动程序不兼容”。谢谢大家! 我需要用相应的驱动程序安装打印机...在 x86 中工作正常,但在 x64 中...找不到正确的安装形式:( 朋友你好!在 Windows XP、Windows Vista 和 Windows 7 中,x86 和 x64 都可以,但在 Windows 8 中出现“驱动程序不兼容”消息。谢谢。 您可以尝试使用我发布的代码吗?我不知道它是否会工作,但我怀疑该进程需要 64 位才能安装 64 位驱动程序... 你好朋友,行是这样的: ExecWait 'rundll32 printui.dll,PrintUIEntry /b "Ricoh MP 7500" /x /n "Ricoh MP 7500" /h "x86" /if /f " OEMSETUP.INF" /r "localhost:631/printers/Ricoh_MP_7500" /m "RICOH Aficio MP 7500 PCL 6"'。此行在 Windows XP、Windows Vista 和 Windows 7 以及 x86 和 x64 中运行良好。但是在 Windows 8 中执行此行时,会出现消息“驱动程序不正确”。谢谢大家! ;)以上是关于在 Windows x64 和 NSIS 中使用 .INF 安装打印机的主要内容,如果未能解决你的问题,请参考以下文章
NSIS安装包开发笔记:NSIS介绍使用NSIS默认向导脚本制作Windows安装包
windows xp系统下提示Nsis Error错误的解决方法