none
Add Printer failing with "Specified Procedure Call Not Found" RRS feed

  • Question

  • I am trying to put together a system where I use a custom port monitor and a custom PScript UI DLL to all our customers to print directly into our workflow system, as a PS file, from their application of choice.

    My port monitor dlls are signed, so they ought to be OK on Windows 8, 8.1, etc., I hope.

    The port monitor code is working such that I can Add the Printer Port and connect it to the PScript printer driver using the GhostPDF.ini and PPD files supplied by GhostScript.

    What I would like to do is:

    a) Replace the GhostScript PPD/INI with my own.

    (b) Add a custom UI dll to the PScript printer so that I can customize the workflow settings and have these pushed
    through to the workflow.

    I have a modified INI file which closely matches the contents of a mixture of the ghostpdf.inf file and parts of the oemdll.inf file provided with the WDK 8.1 kit (having removed the parts I am not working with). I have generated a catalog file for this and signed is as I did with the Port Monitor dlls.

    My problem comes when I try to connect my Port Monitor to the PScript printer driver using my INF file. I create the port and point it at my INF file. It lets me name the printer, I click Install on the Trust dialog, and then I get a dialog that says "Unable to install printer. The specified procedure could not be found."

    What I would like to know is this:

    1) What procedure call was it looking for?
    I understand that there are potentially a lot of procedure calls that it could be looking for, but to tell someone that "It's broken but I'm not telling you what is broken, or how it is broken" is not really good enough. I suspect that any app submitted to the Windows App Store that did that would probably not get accepted.
    2) Which DLL was it looking for it in?
    At least give me a fighting change to start working out where the problem is.
    3) Where does Add Printer log this process?

    I apologize if I am a bit terse but I have been struggling with this for several days now and have a deadline of Wednesday by which time I need to show something to my boss.

    Any advice greatfully appreciated.

    Peter Young

    Monday, April 27, 2015 12:47 PM

Answers

  • Hi Mistermark,

    I shared this thread with some of my colleagues on the plug and play team, and they indicated that the most likely root cause for the error you're seeing is due to the fact that you've removed the DRIVERS file from System32. There's a lot of state that gets captured in that file, and renaming it put you into an unsupported state. You might be able to get things working again if you revert that change, but my recommendation is to just reinstall Windows on your machine.

    After you've completed that, you should try your scenario again. It looks like the driver is properly signed, so you should be able to install it after that. In the future, if you need to remove your driver from the system, I'd start by going to the Print Management Console and removing the queue and the driver there. Then, you can use the tool pnputil to remove the driver package from the DriverStore.

    If you're still having trouble after all that, I would seriously recommend opening a support case at http://support.microsoft.com. Hope this helps!

    Thanks!

    Justin

    Friday, May 15, 2015 9:40 PM

All replies

  • Some additional information. I can no longer get GhostPDF.inf to work with it now, but I have tried so many variations I will restart the PC and try again!

    I generate the cat file and sign it using the relevant WDK 8.1 Kit binaries.
    I generate the cat file using:

    inf2cat /driver:.\Install /verbose /OS:7_X86,8_X86,6_3_X86,7_X64,8_X64,6_3_X64

    I sign it using:

    signtool.exe sign /f obfuscated.pfx /p obfuscated /v /t http://time.certum.pl/ Install\*.cat

    The INF file I am using:
    ----------------------------------

    ; XiPrinter.inf

    [Version]
    Signature="$Windows NT$"
    Provider=Xitron LLC
    ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
    Class=Printer
    CatalogFile=oemprint.cat
    DriverVer=04/27/2015,1.0.0.1

    ; Manufacturer section
    [Manufacturer]
    "XiPrinter"=XiPrinter,NTamd64

    ; Model sections
    [XiPrinter]
    "XiPrinter PDF" = XiPrinterPDF.PPD

    [XiPrinter.NTamd64]
    "XiPrinter PDF" = XiPrinterPDF.PPD

    ; Installer section
    [XiPrinterPDF.PPD]
    CopyFiles=@XiPrinter.PPD
    DataSection=PSCRIPT_DATA
    Include=NTPRINT.INF
    Needs=PSCRIPT.OEM
    DataFile=XiPrinter.ppd
    CopyFiles=@XiPrinter.ini
    CopyFiles=Install_XiPrinter

    ; Copy Section.
    [Install_XiPrinter]
    XiPrPSUI.dll
    XiPrPSDrv.dll

    [DestinationDirs]
    DefaultDestDir=66000

    [SourceDisksNames]
    1=%Disk1%,,,""

    [SourceDisksFiles]
    ; These are common to both 32-bit and 64-bit installs.
    XiPrinter.PPD=1
    XiPrinter.ini=1

    [SourceDisksFiles.x86]
    ; These are specific to 32-bit installs.
    XiPrPSUI.dll=1,x86
    XiPrPSDrv.dll=1,x86

    [SourceDisksFiles.amd64]
    ; These are specific to 64-bit installs.
    XiPrPSUI.dll=1,x64
    XiPrPSDrv.dll=1,x64

    [Strings]
    Disk1="XiPrinter Setup Disk 1"
    ; end of XiPrinter.inf


    ----------------------------------

    The install folder structure

    x64\XiPrPSDrv.dll
    x64\XiPrPSUI.dll
    x86\XiPrPSDrv.dll
    x86\XiPrPSUI.dll
    oemprint.cat
    XiPrinter.inf
    XiPrinter.ppd
    XiPrinter.ini

    ----------------------------------

    Monday, April 27, 2015 4:17 PM
  • Hi Mistermark,

    You've got a lot of moving parts, so we need to eliminate possible issues. Can you go through and confirm the following?

    * Are the port and port monitor installed successfully?

    * Can you configure a print queue against your port if you use a 3rd party driver?

    * Can you install your custom print driver against a FILE port?

    * Can you install your custom print driver against your port?

    * Does your print driver depend on any binaries (eg files from another driver) which are not described or included in the INF/package?

    * Does your print driver have any file name conflicts with other files which are in the %windir%\system32\spool\drivers\x64\3 folder? (or the x86 equivalent?)

    I will note  that creating port monitors is something we do not recommend, as they can be expensive to develop, do not work with v4 print drivers, and add risk to the spooler since they run in the spooler context only. It sounds like you may have already sunk cost into this piece of the solution, but if not, we can recommend alternatives.

    Thanks!

    Justin

    Monday, April 27, 2015 8:53 PM
  • Justin,

    Thank you for responding.

    Answers in order:

    * Are the port and port monitor installed successfully?
    Yes.

    * Can you configure a print queue against your port if you use a 3rd party driver?
    I can install a printer against the port using the GhostScript PDF which uses the Microsoft V3 PScript driver. I have not yet tried to install against a non-Microsoft 3rd Party driver.

    * Can you install your custom print driver against a FILE port?
    Not yet tried this as this is a second stage task and I am dealing with some other issues relating to installing the basic port monitor on Windows 7 against the V3 PScript driver. Am experiencing some installation issues that relate to the installer technology I am using (32/64 bit, rights, elevation, etc).

    * Can you install your custom print driver against your port?
    The experiments I have tried so far have failed, hence the original post.

    * Does your print driver depend on any binaries (eg files from another driver) which are not described or included in the INF/package?
    No.

    * Does your print driver have any file name conflicts with other files which are in the %windir%\system32\spool\drivers\x64\3 folder? (or the x86 equivalent?)
    No.

    In terms of the cost, it is mostly time and hair, so far.

    As regards Port Monitors and v4 drivers I am aware that they are not recommended and won't work with v4 printer drivers. Do v4 printer drivers work on Windows 7 as I have to support that as a minimum?

    I am brutally aware of the PM running in the spooler context as debugging it has been a royal PITA!

    You said you could suggest some alternatives to PM which presumably run outside of the Spooler context; what are they and where I can find information on them?

    Thanks,

    Peter

    Thursday, April 30, 2015 11:21 AM
  • Am now getting a 'Parameter is incorrect' error when trying to install a printer against the port with the usual lack of any useful information. Running procmon and watching the spooler would seem to suggest that it is trying to access the driver file set in the FileRepository, the only problem being that this does not exist.

    Any suggestions as to why AddPrinter is not installing my files into the File repository?

    I am providing an INF file with a signed catalog.

    The signing certificate is the one I use to sign my USB driver so I know that it is OK and it is valid until January 2018.

    Thanks,

    PeteY

    Tuesday, May 5, 2015 4:35 PM
  • Part of the problem here was that uninstalling my INF and associated files did not remove them properly from the Windows file that caches them so the OS wsa rejecting my installation claiming that the driver was already installed in a package that was no longer on the system. This cache is no longer the INFCACHE.1 file but a file called DRIVERS in Sys32\Config about which there is virtually no documentation at all! Renaming this and rebooting my PC allowed me to get past this error, but now I have the following:

    Printer Driver Not Installed:

    This Operation is not allowed!

    Which operation?

    Even the WER report is not much help. Here is one of the many I have generated so far!

    ------------------------

        Version=1
        EventType=PnPDriverImportError
        EventTime=130755684423108999
        Consent=1
        UploadTime=130755684424655717
        ReportIdentifier=6810e4dc-f58d-11e4-82da-303a6467f39e
        Response.BucketId=15845d444f1f2256362b88577305bec8
        Response.BucketTable=5
        Response.LegacyBucketId=50
        Response.type=4
        Sig[0].Name=Architecture
        Sig[0].Value=x64
        Sig[1].Name=Win32 error
        Sig[1].Value=00000005
        Sig[2].Name=Inf name
        Sig[2].Value=xiprinter.inf
        Sig[3].Name=Driver Package hash
        Sig[3].Value=6bf81da55ecb45a2928a8c6a8b11ad52919f6422
        DynamicSig[1].Name=OS Version
        DynamicSig[1].Value=6.3.9600.2.0.0.256.48
        DynamicSig[2].Name=Locale ID
        DynamicSig[2].Value=2057
        State[0].Key=Transport.DoneStage1
        State[0].Value=1
        FriendlyEventName=Could not install driver software
        ConsentKey=PnPDriverImportError
        AppName=Driver software installation
        AppPath=C:\Windows\System32\rundll32.exe
        ReportDescription=Windows could not copy all of the files needed to install this device driver software. This sometimes happens when the driver software was not designed for this version of Windows.
        ApplicationIdentity=00000000000000000000000000000000
    ----------------------


    Here is the INF file:

    -----------------------------

    Version=1
    EventType=PnPDriverImportError
    EventTime=130754599819594270
    Consent=1
    UploadTime=130754599820844223
    ReportIdentifier=e0a692e3-f490-11e4-82d7-303a6467f39e
    Response.BucketId=0a1073dc86cd3df8c2780c930fc065e1
    Response.BucketTable=5
    Response.LegacyBucketId=91804698892
    Response.type=4
    Sig[0].Name=Architecture
    Sig[0].Value=x64
    Sig[1].Name=Win32 error
    Sig[1].Value=00000005
    Sig[2].Name=Inf name
    Sig[2].Value=xiprinter.inf
    Sig[3].Name=Driver Package hash
    Sig[3].Value=15f074fd57bece9f46a7a7431ede4b59f78c7939
    DynamicSig[1].Name=OS Version
    DynamicSig[1].Value=6.3.9600.2.0.0.256.48
    DynamicSig[2].Name=Locale ID
    DynamicSig[2].Value=2057
    State[0].Key=Transport.DoneStage1
    State[0].Value=1
    FriendlyEventName=Could not install driver software
    ConsentKey=PnPDriverImportError
    AppName=Driver software installation
    AppPath=C:\Windows\System32\rundll32.exe
    ReportDescription=Windows could not copy all of the files needed to install this device driver software. This sometimes happens when the driver software was not designed for this version of Windows.
    ApplicationIdentity=00000000000000000000000000000000

    ----------------------------

    The INF File is:

    ;
    ; XiPrinter.inf - (C) Copyright 2015 --    Xitron LLC. All rights reserved.
    ;
    [Version]
    Signature="$Windows NT$"
    Provider=Xitron LLC
    ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
    Class=Printer
    CatalogFile=XiPrinter.cat
    DriverVer=05/05/2015,1.0.0.2

    ; Manufacturer section
    [Manufacturer]
    "XiPrinter"=XiPrinter,ntamd64

    ;[XiPrinter]
    ;"XiPrinter"=Install_XiPrinter

    [XiPrinter.ntamd64]
    "XiPrinter"=Install_XiPrinter.ntamd64

    ; Installer section
    [Install_XiPrinter.ntamd64]
    CopyFiles=@XiPrinter.ppd
    DataSection=PSCRIPT_DATA
    Include=NTPRINT.INF
    Needs=PSCRIPT.OEM

    [DestinationDirs]
    DefaultDestDir=66000

    [SourceDisksNames]
    1=%Disk1%,,,""

    [SourceDisksFiles]
    ; These are common to both 32-bit and 64-bit installs.
    XiPrinter.ppd=1

    [Strings]
    Disk1="XiPrinter Setup Disk 1"

    ; end of XiPrinter.inf

    ----------------------------

    It is signed with a valid pfx file.

    With this INF file and the associated .cat and .ppd file I have had several error messages all of which uniformly fail to point me in any sort of direction, other than the fact that something went wrong.

    I have tried installing it against a standard port with the same error.

    Any suggestions as to what is going wrong now!



    • Edited by Mistermark Friday, May 8, 2015 2:23 PM Forgot WER report
    Thursday, May 7, 2015 8:28 AM
  • And more information:

    Here are some entries from the Event Viewer, specifically:
        Application and Service Logs->Microsoft->Windows->Print Service->Admin:

    1.

    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    - <System>
      <Provider Name="Microsoft-Windows-PrintService" Guid="{747EF6FD-E535-4D16-B510-42C90F6873A1}" />
      <EventID>215</EventID>
      <Version>0</Version>
      <Level>2</Level>
      <Task>19</Task>
      <Opcode>12</Opcode>
      <Keywords>0x8000000000000220</Keywords>
      <TimeCreated SystemTime="2015-05-08T14:49:43.459808400Z" />
      <EventRecordID>434</EventRecordID>
      <Correlation />
      <Execution ProcessID="10544" ThreadID="8584" />
      <Channel>Microsoft-Windows-PrintService/Admin</Channel>
      <Computer>RUBIK</Computer>
      <Security UserID="S-1-5-21-4004282780-160733780-733451123-1002" />
      </System>
    - <UserData>
    - <SetupInstallPrinterDriver xmlns="http://manifests.microsoft.com/win/2005/08/windows/printing/spooler/core/events">
      <Label>UploadPrinterDriverHelper</Label>
      <Message>-</Message>
      <AdditionalInfo>-</AdditionalInfo>
      <InfPath>t:\catfish\trunk\catfish\tools\xiprinter\install\install\xiprinter.inf</InfPath>
      <DriverName>-</DriverName>
      <InstallSection>-</InstallSection>
      <ProcessorArchitecture>Windows x64</ProcessorArchitecture>
      <PackageAware>Not package aware</PackageAware>
      <CoreDriverDependencies>-</CoreDriverDependencies>
      <LastError>0x0</LastError>
      <HResult>0x80070032</HResult>
      </SetupInstallPrinterDriver>
      </UserData>
     </Event>

    2.

    - <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    - <System>
      <Provider Name="Microsoft-Windows-PrintService" Guid="{747EF6FD-E535-4D16-B510-42C90F6873A1}" /> 
      <EventID>215</EventID> 
      <Version>0</Version> 
      <Level>2</Level> 
      <Task>19</Task> 
      <Opcode>12</Opcode> 
      <Keywords>0x8000000000000220</Keywords> 
      <TimeCreated SystemTime="2015-05-08T14:49:43.459808400Z" /> 
      <EventRecordID>435</EventRecordID> 
      <Correlation /> 
      <Execution ProcessID="10544" ThreadID="8584" /> 
      <Channel>Microsoft-Windows-PrintService/Admin</Channel> 
      <Computer>RUBIK</Computer> 
      <Security UserID="S-1-5-21-4004282780-160733780-733451123-1002" /> 
      </System>
    - <UserData>
    - <SetupInstallPrinterDriver xmlns="http://manifests.microsoft.com/win/2005/08/windows/printing/spooler/core/events">
      <Label>PSetupInstallPrinterDriver</Label> 
      <Message>InstallDriverFromCurrentInf failed</Message> 
      <AdditionalInfo>-</AdditionalInfo> 
      <InfPath>t:\catfish\trunk\catfish\tools\xiprinter\install\install\xiprinter.inf</InfPath> 
      <DriverName>-</DriverName> 
      <InstallSection>-</InstallSection> 
      <ProcessorArchitecture>Windows x64</ProcessorArchitecture> 
      <PackageAware>Not package aware</PackageAware> 
      <CoreDriverDependencies>-</CoreDriverDependencies> 
      <LastError>0x32</LastError> 
      <HResult>0x80070032</HResult> 
      </SetupInstallPrinterDriver>
      </UserData>
      </Event>

    Not sure how much use these are but ...

    And here's the log info in setupapi.dev.log

    >>>  [Setup Import Driver Package - t:\catfish\trunk\catfish\tools\xiprinter\install\install\xiprinter.inf]
    >>>  Section start 2015/05/08 16:59:46.336
          cmd: rundll32  printui.dll PrintUIEntry /if /K /h 3 /v 3 /f "T:\Catfish\trunk\catfish\Tools\XiPrinter\Install\Install\xiprinter.inf" /m XiPrinter /b XiPrinter /r XiPrinter
    !    sto: Unable to determine presence of driver package. Error = 0x00000032
         inf: Provider: Xitron LLC
         inf: Class GUID: {4D36E979-E325-11CE-BFC1-08002BE10318}
         inf: Driver Version: 05/07/2015,1.0.0.2
         inf: Catalog File: xiprinter.cat
         sto: {Copy Driver Package: t:\catfish\trunk\catfish\tools\xiprinter\install\install\xiprinter.inf} 16:59:46.348
         sto:      Driver Package = t:\catfish\trunk\catfish\tools\xiprinter\install\install\xiprinter.inf
         sto:      Flags          = 0x00000007
         sto:      Destination    = C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}
         sto:      Copying driver package files to 'C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}'.
         flq:      Copying 't:\catfish\trunk\catfish\tools\xiprinter\install\install\xiprinter.cat' to 'C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}\xiprinter.cat'.
         flq:      Copying 't:\catfish\trunk\catfish\tools\xiprinter\install\install\xiprinter.inf' to 'C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}\xiprinter.inf'.
         flq:      Copying 't:\catfish\trunk\catfish\tools\xiprinter\install\install\xiprinter.ppd' to 'C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}\xiprinter.ppd'.
         sto: {Copy Driver Package: exit(0x00000000)} 16:59:46.406
         pol: {Driver package policy check} 16:59:46.415
         pol: {Driver package policy check - exit(0x00000000)} 16:59:46.415
         sto: {Stage Driver Package: C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}\xiprinter.inf} 16:59:46.416
    !    sto:      Unable to determine presence of driver package 'xiprinter.inf'. Error = 0x00000032
         inf:      {Query Configurability: C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}\xiprinter.inf} 16:59:46.423
         inf:           Driver package 'xiprinter.inf' is configurable.
         inf:      {Query Configurability: exit(0x00000000)} 16:59:46.428
         flq:      Copying 'C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}\xiprinter.cat' to 'C:\Windows\System32\DriverStore\Temp\{5d4a16e0-a63a-0e4b-9508-d62f6e2b161b}\xiprinter.cat'.
         flq:      Copying 'C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}\xiprinter.inf' to 'C:\Windows\System32\DriverStore\Temp\{5d4a16e0-a63a-0e4b-9508-d62f6e2b161b}\xiprinter.inf'.
         flq:      Copying 'C:\Users\petey\AppData\Local\Temp\{1b76acb3-0208-5846-8605-fa7f0d2cc635}\xiprinter.ppd' to 'C:\Windows\System32\DriverStore\Temp\{5d4a16e0-a63a-0e4b-9508-d62f6e2b161b}\xiprinter.ppd'.
         sto:      {DRIVERSTORE IMPORT VALIDATE} 16:59:46.450
         sig:           {_VERIFY_FILE_SIGNATURE} 16:59:46.463
         sig:                Key      = xiprinter.inf
         sig:                FilePath = C:\Windows\System32\DriverStore\Temp\{5d4a16e0-a63a-0e4b-9508-d62f6e2b161b}\xiprinter.inf
         sig:                Catalog  = C:\Windows\System32\DriverStore\Temp\{5d4a16e0-a63a-0e4b-9508-d62f6e2b161b}\xiprinter.cat
    !    sig:                Verifying file against specific (valid) catalog failed! (0x800b0109)
    !    sig:                Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
         sig:           {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 16:59:46.488
         sig:           {_VERIFY_FILE_SIGNATURE} 16:59:46.489
         sig:                Key      = xiprinter.inf
         sig:                FilePath = C:\Windows\System32\DriverStore\Temp\{5d4a16e0-a63a-0e4b-9508-d62f6e2b161b}\xiprinter.inf
         sig:                Catalog  = C:\Windows\System32\DriverStore\Temp\{5d4a16e0-a63a-0e4b-9508-d62f6e2b161b}\xiprinter.cat
         sig:                Success: File is signed in Authenticode(tm) catalog.
         sig:                Error 0xe0000241: The INF was signed with an Authenticode(tm) catalog from a trusted publisher.
         sig:           {_VERIFY_FILE_SIGNATURE exit(0xe0000241)} 16:59:46.513
         sto:      {DRIVERSTORE IMPORT VALIDATE: exit(0x00000000)} 16:59:46.519
         sig:      Signer Score = 0x0F000000
         sig:      Signer Name  = Vanguard Graphics International, LLC
         sto:      {DRIVERSTORE IMPORT BEGIN} 16:59:46.522
         sto:      {DRIVERSTORE IMPORT BEGIN: exit(0x00000000)} 16:59:46.523
         cpy:      {Copy Directory: C:\Windows\System32\DriverStore\Temp\{5d4a16e0-a63a-0e4b-9508-d62f6e2b161b}} 16:59:46.524
         cpy:           Target Path = C:\Windows\System32\DriverStore\FileRepository\xiprinter.inf_amd64_228aee7eb8555377
         cpy:      {Copy Directory: exit(0x00000000)} 16:59:46.527
    !    sto:      Unable to determine if driver package 'xiprinter.inf' is already registered. Error = 0x00000032
         idb:      {Register Driver Package: C:\Windows\System32\DriverStore\FileRepository\xiprinter.inf_amd64_228aee7eb8555377\xiprinter.inf} 16:59:46.529
    !!!  idb:           Failed to create driver package object 'xiprinter.inf_amd64_228aee7eb8555377' in DRIVERS database node. Error = 0x00000032
    !!!  idb:           Failed to register driver package 'C:\Windows\System32\DriverStore\FileRepository\xiprinter.inf_amd64_228aee7eb8555377\xiprinter.inf'. Error = 0x00000032
         idb:      {Register Driver Package: exit(0x00000032)} 16:59:46.532
         sto:      {DRIVERSTORE IMPORT END} 16:59:46.533
         sto:      {DRIVERSTORE IMPORT END: exit(0x00000032)} 16:59:46.534
         sto:      Rolled back driver package import.
    !!!  sto:      Failed to import driver package into Driver Store. Error = 0x00000032
         sto: {Stage Driver Package: exit(0x00000032)} 16:59:46.549
    <<<  Section end 2015/05/08 16:59:46.554
    <<<  [Exit status: FAILURE(0x00000032)]
    


    • Edited by Mistermark Friday, May 8, 2015 4:04 PM
    Friday, May 8, 2015 3:15 PM
  • Hi Mistermark,

    I shared this thread with some of my colleagues on the plug and play team, and they indicated that the most likely root cause for the error you're seeing is due to the fact that you've removed the DRIVERS file from System32. There's a lot of state that gets captured in that file, and renaming it put you into an unsupported state. You might be able to get things working again if you revert that change, but my recommendation is to just reinstall Windows on your machine.

    After you've completed that, you should try your scenario again. It looks like the driver is properly signed, so you should be able to install it after that. In the future, if you need to remove your driver from the system, I'd start by going to the Print Management Console and removing the queue and the driver there. Then, you can use the tool pnputil to remove the driver package from the DriverStore.

    If you're still having trouble after all that, I would seriously recommend opening a support case at http://support.microsoft.com. Hope this helps!

    Thanks!

    Justin

    Friday, May 15, 2015 9:40 PM
  • Justin,

    Thanks for the response and for sharing with your colleagues to help me out.

    I had, as your colleagues surmised, temporarily removed the DRIVERS file, but putting it back made no difference other than to reverts to one of the previous errors I had reported.

    I did however manage to get it working by making a small change to the INF file.

    I changed the name of the Installer section (and references thereto) from Install_XiPrinter to XiPrinter.PPD (which matches the name of the file I am installing) and for reasons I do not pretend to understand, this allowed me to successfully install, first to a FILE: port, and also to my Custom Port Monitor.

    I am now moving back onto the custom PS UI code where I want to make access to the settings in my Port Monitor more user friendly by adding a Custom Printer Property page to the printer dialog. If all my custom UI does is make settings available for the PM, do I need a matching driver DLL or can I get away with just the UI dll?

    I will post this as a separate question as this question is effectively resolved/closed.

    Monday, May 18, 2015 9:42 AM