
Printer Installation
Silent install package for Printer Installation
20.1-5
- package: tis-printer-install
- name: Printer Installation
- version: 20.1-5
- categories: System and network,Drivers,Configuration
- maintainer: WAPT Team,Tranquil IT,Simon FONTENEAU,Jimmy PELÉ
- locale: all
- target_os: windows
- architecture: all
- signature_date:
- size: 7.66 Ko
package : tis-printer-install
version : 20.1-5
architecture : all
section : base
priority : standard
name : Printer Installation
categories : System and network,Drivers,Configuration
maintainer : WAPT Team,Tranquil IT,Simon FONTENEAU,Jimmy PELÉ
description : Sample Package for printer installation with wapt
depends :
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.0
sources :
installed_size :
impacted_process :
description_fr : Exemple de paquet pour l'installation d'une imprimante avec wapt
description_pl :
description_de :
description_es :
description_pt :
description_it :
description_nl :
description_ru :
audit_schedule :
editor :
keywords :
licence :
homepage :
package_uuid : a2d2f594-8f12-41ca-894a-e5bca8891c32
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : f0b65c64eb140e332bc94003bc40b3c104561291edd1206fd6ab4f8a0877b360
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature : PZkKVnzRC3zUK8Xipojll95foHFNWBJJd3fJ91W4KjwQw4+a2JCTkEq+Xf//+g63v6kyzQjM3pSWm/PYTIWXhMIE8MApWaw9jGKH8SEJkX7IX9mysQYMPnqFn/AHipeBHgYhS1MejCg80SQC2eZnddD78O/Asko7hX5x0n02xCYdEhEowPNLYXlwI1B5s3TSMi3CYxLl+3vKOXhZ3z4M0iMqZTJOO/sZX0tJhKq04F4lZAWiRezvCY3wYmq1Y41yALWM3Gyjlq8kSlrec0cyqTmMGV35no77+rUbSs0Hz7RdBkOM8NshiAoKY0kYvz4iD+clCaWlBqDQ7zijOICstA==
signature_date : 2022-05-23T22:01:54.605609
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
# -*- coding: utf-8 -*-
from setuphelpers import *
import win32com.client
r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
printer_ip = "192.168.123.4"
printer_name = "Copieur Compta"
driver_contains = "upd-pcl6-"
driver_file = "hpcu255u.inf"
driver_name = "HP Universal Printing PCL 6"
def install():
# Declaring local variables
if iswin64():
arch = "x64"
else:
arch = "x32"
# Unzip drivers
for zip_file in glob.glob("*%s*%s*.zip" % (driver_contains, arch)):
print("Unzip drivers: %s" % zip_file)
unzip(zip_file, ".")
driver_dir = zip_file.rsplit(".", 1)[0]
driver_path = glob.glob("%s/**/%s" % (driver_dir, driver_file))[0]
# Delete old printer
remove_printer(printer_name)
# Create port lpr or raw
createprinterport_raw(printer_ip)
# use create lpr if needed
# createprinterport_lpr(printer_ip,'qu')
# Install printer and drivers
print("Installing Printer: %s (%s)" % (printer_name, printer_ip))
run(r'rundll32 printui.dll,PrintUIEntry /if /b "%s" /f %s /r "IP_%s" /m "%s" ' % (printer_name, driver_path, printer_ip, driver_name))
def uninstall():
remove_printer(printer_name)
def createprinterport_raw(IPAddress):
WBEM = win32com.client.GetObject(r"winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
WBEM.Security_.Privileges.AddAsString("SeLoadDriverPrivilege")
printerport = WBEM.Get("Win32_TCPIPPrinterPort").SpawnInstance_()
printerport.Properties_("Name").Value = "IP_" + IPAddress
printerport.Properties_("Protocol").Value = 1
printerport.Properties_("HostAddress").Value = IPAddress
printerport.Properties_("PortNumber").Value = "9100"
printerport.Properties_("SNMPEnabled").Value = "False"
printerport.Put_()
def createprinterport_lpr(IPAddress, namequeu):
WBEM = win32com.client.GetObject(r"winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
WBEM.Security_.Privileges.AddAsString("SeLoadDriverPrivilege")
printerport = WBEM.Get("Win32_TCPIPPrinterPort").SpawnInstance_()
printerport.Properties_("Name").Value = "IP_" + IPAddress
printerport.Properties_("Protocol").Value = 2
printerport.Properties_("HostAddress").Value = IPAddress
printerport.Properties_("SNMPEnabled").Value = "False"
printerport.Properties_("Queue").Value = namequeu
printerport.Put_()
8d6caa601bc6ab4e1cd9c96f13fac8f646273c2d85a1f8f39a27e101217eaa47 : setup.py
f0b65c64eb140e332bc94003bc40b3c104561291edd1206fd6ab4f8a0877b360 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
cfe3d8fbac791bd99d12ad0eff54f25da1e9ca5e3a6170fe402a522959ee738c : WAPT/changelog.txt
ebdcd99fecbc1e85387e91dd923464684f881fdb9f1db27a5c0e3053aa32af61 : luti.json
54aed1ea89c118fac4a8059b096729546c66a67ea6d09dfbd525c4dee19b0d3e : WAPT/control
20.1-5
Using remove_printer and recursive glob.glob
min_wapt_version : 2.0
20.0-0
Initial package