基本的Msi OpenPrinter API问题

时间:2015-01-27 15:06:05

标签: installshield basic-msi

我已经尝试了我能想到的一切,但我无法让OpenPrinter API在我的BasicMsi中工作

 prototype BOOL SETUPAPI.OpenPrinterW(
 WSTRING, //_In_   LPTSTR pPrinterName,
 NUMBER,//_Out_  LPHANDLE phPrinter,
 WPOINTER//_In_   LPPRINTER_DEFAULTS pDefault
);

try
    OpenPrinterW(szDriverName, Printer, NULL);


catch
    Err = GetLastError();
    SprintfBox (INFORMATION, "L862Error","Error occured: %i\n\n%s\n\n%s", Err.Number, Err.Description, Err.LastDllError); 

endcatch;

我总是得到-2147219709返回,我也尝试过使用OpenPrinterA和OpenPrinter但每次都出现相同的错误。

有没有人知道我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

我怀疑是这个错误: ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795(0x703) 已安装指定的打印机驱动程序

我将您的错误编号转换为十六进制,它是80040703,这是我从703获得的(8004表示它是FACIILITY_ITF中的错误)

不确定这是否有帮助...但它可能会让你开始。我想知道这是否是某种问题,msiexec无法看到打印机,所以尝试安装它。