58 lines
4.5 KiB
Markdown
58 lines
4.5 KiB
Markdown
# AmagnoVirtualPrinter
|
|
|
|
## Description
|
|
|
|
The _AmagnoVirtualPrinter_ is an interface which forwards any print job given from a specified printer, to a specified application that processes the 'print job'.
|
|
|
|
There are two ways of using the _AmagnoVirtualPrinter_:
|
|
|
|
1. If you just want to install the driver build the project in release mode, navigate to the folder _VirtualPrinter.WixSharpinstaller_ and execute the created .msi file. After the installation, a new printer, with the name set in _Defaults.cs_, can be located under _Printer & Scanner_ in the Microsoft® Windows settings.
|
|
2. To debug the _AmagnoVirtualPrinter_, follow step one. After the installation, go to _Windows Services_ and stop _AmagnoPrinterService_. In Visual Studio, select AmagnoVirtualPrinter.Agent.Console as startup project and run in debug mode. To start a test print (and debug the solution) start PowerShell or cmd and navigate to the root folder of the repository. Go to `Files` and run `.\setupdrv.exe test`, which will create a test page and send it to the virtual printer. Or just print any document you want to.
|
|
|
|
## Table of Contents
|
|
|
|
1. [Installation](#installation)
|
|
1. [From MSI](#from-msi)
|
|
2. [From Source](#from-source)
|
|
2. [Usage](#usage)
|
|
1. [Configure](#configure)
|
|
2. [Debugging](#debugging)
|
|
3. [Create Release](#create-release)
|
|
|
|
## Installation
|
|
|
|
### From MSI
|
|
|
|
If you want to use the official installer, you can download it [here](https://amagno.de/clients) or use the latest release in GitHub. Make sure to run the installer with extended rights. After installation, you may need to [configure](#configure) the _AmagnoVirtualPrinter_.
|
|
After installation, a new printer with the name set in _Defaults.cs_ can be located under _Printer & Scanner_ in the Microsoft® Windows settings.
|
|
|
|
### From Source
|
|
|
|
#### Dependencies
|
|
|
|
To compile the installer, please make sure the Wix Toolset is installed. The [WixSharp library](https://github.com/oleg-shilo/wixsharp) is used to define the package in `AmagnoVirtualPrinter.WixSharpInstaller`.
|
|
|
|
#### Create MSI package
|
|
|
|
To install the driver from source, build the project in release mode. When the build is run successfully, open up powershell and navigate to `C:\[Git]\AmagnoVirtualPrinter\Files`. Then run the `AmagnoPrinterInstaller.exe "/MSBUILD:C:\[Git]\AmagnoVirtualPrinter\Installer\AmagnoVirtualPrinter.WixSharpInstaller" "/p:C:\[Git]\AmagnoVirtualPrinter\"` where `/p:` is the output directory for the msi and working directory for the WixSharp project. Make sure the given working directory contains a `Files` folder with all binaries needed for _AmagnoVirtualPrinter_. This command will use WixSharp to create the msi package right next to the AmagnoPrinterInstaller.exe called **AmagnoPrinterInstaller.msi**.
|
|
|
|
Alternatively use `create_msi.ps1` which automates the building step above.
|
|
|
|
## Usage
|
|
|
|
### Configure
|
|
|
|
Make sure Ghostscript is installed on your machine.
|
|
|
|
While installing, several registry entries are inserted into `Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\AmagnoVirtualPrinter\`. The most important ones are those under the key `Application`
|
|
- **Pre-Converter:** Contains the exe to be executed (pre convert process) and the `arg` to be processed by the application (for example: `C:\Program Files\MyApp.exe PRINT`).
|
|
- **Post-Converter:** Contains the exe to be executed (post convert process) and the args to be processed by the application (for example: `C:\Program Files\MyApp.exe PRINTCOMPLETE`).
|
|
|
|
The `Converter` key defines the settings which are needed for the convert process, e.g. server port (9101 by default).
|
|
The output directory can be set in `Computer\HKEY_CURRENT_USER\SOFTWARE\vpd\PrinterDriver\Converter` for the converted prints, which can be processed by the application. If the value is set to an empty string, the default temp path will be used (e.g. `C:\temp\PrinterOuput`).
|
|
### Debugging
|
|
|
|
To debug the _AmagnoVirtualPrinter_, run the msi. After installation, go to _Windows Services_ and stop the _AmagnoPrinterService_. In your IDE, select the AmagnoVirtualPrinter.Agent.Console as startup project and run in debug mode. To start a test print (and debug the solution) start PowerShell or cmd and navigate to the root folder of the repository. Go to `Files` and run `.\setupdrv.exe test`, which will create a test page and send it to the virtual printer. Or just print any document you want to.
|
|
|
|
## Create Release
|
|
To create a release, you have to tag a commit. Then the release pipeline compiles the source code, builds the installation, and creates the release on GitHub.
|