Q&A

  • 프린트 추가 마법사를 이용하지 않고 .inf 파일을 이용하여 등록하는 법은?
프린트 추가 마법사를 이용하지 않고, 각 제조회사에서 제공하는 .inf 파일을 이용하여, 자동으로 프린트를 설치하는 실행파일을 만들고 싶은데 방법을 잘 모르겠습니다.

AddPrinterDriver 과 AddPrinter 를 이용해 보았지만, OS 를 처음 설치하고, 어떤 프린터든 프린터가 전혀 설치된 적이 없는 피시에서는 제대로 작동하지 않더라구요.

.inf 파일을 이용하여 프린터를 설치할 수 있는 방법 좀 가르쳐 주세요.
1  COMMENTS
  • Profile
    이상탁 2003.06.10 00:13
    답변의 출처는

    http://www.ntfaq.co.kr/ntfaq_view.asp?faq_no=1750 에 나와 있는 내용입니다.

    아래는 그 내용을 그대로 복사해서 옮깁니다.
    ====================

    Q . 커맨드라인에서 프린터를 추가하는 방법은?  

    Wednesday, March 21, 2001
      
    A . 마이크로소프는 OEM 공급자들이 사용하도록 커맨드라인으로부터 프린터를 추가할수있도록 유틸리티를 제공합니다. 또다른 옵션으로는 printui.dll이라는 동적링크라이브러리로 직접 연결합니다.

    rundll32 printui.dll,PrintUIEntry [options]

    예를들어서 윈도우2000상에서 HP DeskJet 970Cxi를 LPT1로 추가하려면 다음을 따라하십시오.

    D:>rundll32 printui.dll,PrintUIEntry /if /b "HP DeskJet 970Cxi" /f %windir%infntprint.inf /r "lpt1:" /m "HP DeskJet 970Cxi"

    다른 옵션들은 다음과 같습니다.

    /a[file] binary file name
    /b[name] base printer name
    /c[name] unc machine name if the action is on a remote machine
    /dl delete local printer
    /dn delete network printer connection
    /dd delete printer driver
    /e display printing preferences
    /f[file] either inf file or output file
    /ga add per machine printer connections
    /ge enum per machine printer connections
    /gd delete per machine printer connections
    /h[arch] driver architecture one of the following, Alpha | Intel | Mips | PowerPC
    /ia install printer driver using inf file
    /id install printer driver using add printer driver wizard
    /if install printer using inf file
    /ii install printer using add printer wizard with an inf file
    /il install printer using add printer wizard
    /in add network printer connection
    /j[provider] print provider name
    /k print test page to specified printer, cannot be combined with command when installing a printer
    /l[path] printer driver source path
    /m[model] printer driver model name
    /n[name] printer name
    /o display printer queue view
    /p display printer properties
    /q quiet mode, do not display error messages
    /r[port] port name
    /s display server properties
    /Ss Store printer settings into a file
    /Sr Restore printer settings from a file
    Store or restore printer settings option flags that must be placed at the end of command:
    2 PRINTER_INFO_2
    7 PRINTER_INFO_7
    c Color Profile
    d PrinterData
    s Security descriptor
    g Global DevMode
    m Minimal settings
    u User DevMode
    r Resolve name conflicts
    f Force name
    p Resolve port
    /u use the existing printer driver if it's already installed
    /t[#] zero based index page to start on
    /v[version] driver version one of the following, Windows 95 or 98 | Windows NT 3.1 | Windows NT 3.5 or 3.51 | Windows NT 3.51 | Windows NT 4.0 | Windows NT 4.0 or 2000 | Windows 2000
    /w prompt the user for a driver if specified driver is not found in the inf
    /y set printer as the default
    /Xg get printer settings
    /Xs set printer settings
    /z do not auto share this printer
    /Z share this printer, can only be used with the /if option
    /? help this message
    @[file] command line argument file

    Examples:
    Run server properties:
    rundll32 printui.dll,PrintUIEntry /s /t1 /n\machine
    Run printer properties:
    rundll32 printui.dll,PrintUIEntry /p /n\machineprinter
    Run add printer wizard localy:
    rundll32 printui.dll,PrintUIEntry /il
    Run add printer wizard on \machine:
    rundll32 printui.dll,PrintUIEntry /il /c\machine
    Run queue view:
    rundll32 printui.dll,PrintUIEntry /o /n\machineprinter
    Run inf install:
    rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f %windir%infntprint.inf /r "lpt1:" /m "AGFA-AccuSet v52.3"
    Run add printer wizard using inf:
    rundll32 printui.dll,PrintUIEntry /ii /f %windir%infntprint.inf
    Add per machine printer connection:
    rundll32 printui.dll,PrintUIEntry /ga /c\machine /n\machineprinter /j"LanMan Print Services"
    Delete per machine printer connection:
    rundll32 printui.dll,PrintUIEntry /gd /c\machine /n\machineprinter
    Enumerate per machine printer connections:
    rundll32 printui.dll,PrintUIEntry /ge /c\machine
    Add printer driver using inf:
    rundll32 printui.dll,PrintUIEntry /ia /c\machine /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000" /f %windir%infntprint.inf
    Remove printer driver:
    rundll32 printui.dll,PrintUIEntry /dd /c\machine /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000"
    Set printer as default:
    rundll32 printui.dll,PrintUIEntry /y /n "printer"
    Set printer comment:
    rundll32 printui.dll,PrintUIEntry /Xs /n "printer" comment "My Cool Printer"
    Get printer settings:
    rundll32 printui.dll,PrintUIEntry /Xg /n "printer"
    Get printer settings saving results in a file:
    rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer"
    Set printer settings command usage:
    rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?
    Store all printer settings into a file:
    rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat"
    Restore all printer settings from a file:
    rundll32 printui.dll,PrintUI /Sr /n "printer" /a "file.dat"
    Store printer information on level 2 into a file :
    rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2
    Restore from a file printer security descriptor:
    rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s
    Restore from a file printer global devmode and printer data:
    rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d
    Restore from a file minimum settings and resolve port name:
    rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p

    Also see Knowledge Base article Q189105 http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP

    또다른 옵션으로는 START 명령어를 사용하는것입니다.

    start \print_serverprint_name

    만약 여러분의 시스템으로 새로운 서버를 설치하시려할 때 시스템은 마법사나 어떠한 질의도 없이 드라이버를 프린터 서버로부터 직접 다운로드합니다.