MSI Sample - Black Ice Printer Driver API

Download Now

Starting with version 8.76, Black Ice Software has added an MSI sample installation to the Black Ice printer driver Resource Toolkit (RTK). The MSI install for the printer driver was created using Visual Studio .Net 2003, using the Install project feature.

The MSI setup is a basic (simplified) setup of the Black Ice printer driver; it copies the driver files to the required locations, adds the printer driver, print processor and print monitor and finally the printer to the system. The sample MSI install supports specifying the printer driver settings through the printer driver’s INI file.

Additionally, the sample MSI setup allows developers to change the name of the printer and of the printer driver components to meet their specific requirements, since many Black Ice customers need to brand the driver.

To actually install the printer driver a “custom action” is used. The custom action is a function call from the Install DLL (MYDLL.DLL), included in the RTK. The function called by the MSI installation from the Install DLL makes all of the necessary Win32 API calls to install each printer driver component, including the print processor, print monitor, port, printer driver and the printer. To simplify the install, all component names are written to a registry key, and the Install DLL function reads the names of the printer driver components from that key. This way, the setup developer can easily change the name of the components by changing the registry key values, as shown in the screen shot below.

When the Black Ice printer driver is installed, the printer settings will be read by the driver from the INI file (BiCIniNt.ini in the case of the Black Ice Color driver). The settings specified in the INI file will be set as default settings for every user on the system. If a setting is not specified in the INI file, the printer driver will use the default values hard coded in the driver, such as the JPEG file format for the color driver.

Developers can create their own MSI installation for the printer driver, using packages other than Visual Studio, but the sample install was written using Visual Studio .NET since this platform is the one most readily available to developers.

The primary benefit to using an MSI installation is its convenience and practicality for network wide distribution and deployment. The main reason to use MSI technology is to implement software (mandatory or public) by Windows group policies. Over all, MSI packaging is a standard Windows installation package and provides much more flexible options to install an application, and it is also easier to deploy for all Microsoft Windows based operating systems.

The source code is not available in DEMO API/Resource Toolkit.