WHFC

This is a silent installer for WHFC.

WHFC is a free (GPL) frontend to famous FAX server HylaFAX. More infos from here.

In this setup I install (NOTE: tested only on XP) the program, setup the program (system settings) and the (virtual) printer.
The package descritpion is:

 <package
        id="whfc"
        name="WHFC HylaFax Client"
        revision="124"
        reboot="false"
        priority="50">
 
        <check type="file" condition="exists" path='%PROGRAMFILES%\WHFC\whfc.exe' />
 
        <install cmd='%SOFTWARE%\WPKG\whfc-1.2.4-nt_setup.exe /S' />
        <upgrade cmd='%SOFTWARE%\WPKG\whfc-1.2.4-nt_setup.exe /S' />
        <remove cmd='%ProgramFiles%\WHFC\Uninstall.exe /S' />  
 </package>
 
 <package
        id="whfc-settings"
        name="WHFC HylaFax Client settings"
        revision="2"
        priority="5"
        reboot="false"
        execute="once">
        <depends package-id="whfc"/>
 
        <install cmd="%WPKGROOT%\packages\whfc.bat" />
        <upgrade cmd="%WPKGROOT%\packages\whfc.bat" />
        <remove cmd='rundll32 printui.dll,PrintUIEntry /q /dl /n "HylaFAX"' />
 </package>

Where the whfc.bat contains:

:: Apply configuration settings
::
regedit /s %WPKGROOT%\packages\whfc.reg

:: Create the printer, apply settings.
::
rundll32 printui.dll,PrintUIEntry /q /dl /n "HylaFAX"
rundll32 printui.dll,PrintUIEntry /q /if /b "HylaFAX" /f "%windir%\inf\ntprint.inf" /r "WHFCFAX:" /m "Apple LaserWriter 16/600 PS"
rundll32 printui.dll,PrintUIEntry /q /Sr /n "HylaFAX" /a "%WPKGROOT\packages\whfc.dat" g d

:: we ignore errors...
::
exit 0

You can obtain the whfc.dat file by creating the printer (manually or using the first two rundll32 commands), setup it as needed, and then dumping the configuration with:

rundll32 printui.dll,PrintUIEntry /Ss /n "HylaFAX" /a "whfc.dat"

The registry excerpt simply setup the system settings of WHFC:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\WHFC]
"SpoolOffLine"="C:\\Windows\\Temp\\"
"SpoolDir"="C:\\Windows\\Temp\\"
"Hostname"="fax"
"InTaskBar"=dword:00000001
"CoverSheetVersion"="4.1"
"RecvFaxArg"="rundll32.exe C:\\WINDOWS\\System32\\shimgvw.dll,ImageView_Fullscreen %s"

This setup misses the user settings part, but I think that wpkg it is not the tool to use for this task, but roaming profiles, policy, ...