smartmontools for windows package providing automated / mass installation and email alert support out of the box for hard drive SMART functionality. Scriptable for unattended or GUI end user install.
Inno Setup Python Batchfile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Smartmontools for Windows Package

(C) 2012-2017 Orsiris de Jong -

Smartmontools For Windows is an alternate package for smartmontools by Bruce Allen and Christian Franke, that has been created to smoothly install smartmontools as service, support out of the box mail or local alerts, and configure smart daemon options with a graphical user interface. Installation can be run silently with command line parameters for massive deployments, or with a graphical user interface.

Configuration files are automatically generated (but you can still enjoy manual editing of course). A service called "smartd" is created and launched at system startups. This service will enumerate hard disks smartmontools can monitor and send an email and/or show a local message in case of errors. Everytime smartd detects an issue, the current states of the drives are written to smart.log and an alert is triggered. When mail / local alerts are triggered, all actions regarding alerts are logged to erroraction.log.

On install, the current states of all drives smartd can detect are written to smartmontools-install-(version).log for warranty issues.

The software has been tested on multiple platforms, nevertheless no responsibility will be taken for any problems or malfunctions that may occur while using this software. Anyway, feel free to send a mail to ozy [at] for support on my free time.

Upgrade path

The configuration from previous installations is now kept (unless a smartd.conf and/or and erroraction_config.cmd file is provided along with the installer script). The commandline options of the installer have heavily changed. Be sure to update your mass installer scripts according to new commandline syntax (see below).


The package itself, the python interfaces and it's source code is licensed under GPLv2. Additionnaly, it uses the following free software:


You'll find the latest binaries at

Useful command line parameters

smartmontools-win-6.6-x.exe [OPTIONS]


/COMPONENTS="comma separated list of component names"

This setting overrides the default selection.

Valid components are: core Basic install, cannot be unselected core\service Install smartd service core\service\gui Graphical user interface for smartd and alerts core\service\mailalert On alerts send an email core\service\localalert On alerts show messages on screen core\scheduledtestalerts Trigger a test alert every month fixbadsecttools Fix bad sector script regext Register SMART right click actions on drives updatedb Update drive database right after installation authorlinks Include links to the authors websites statistics Send anonymous install statistics

/SILENT Installs smartmontools-win silently, without showing the configuration GUI.

/SUPPRESSMSGBOXES Removes the configuration files overwrite confirmation and keep the original configuration (unless new config files are supplied along with the installer).

/HELP Shows all possible commandline switches

See examples below

Unattended examples

You may want to preconfigure smartd settings or alert setting when making an unattended installation. In that case you can install the package on a test computer, use the GUI to configure the service and alerts, and use the generated configuration files for a mass installation. Putting a preconfigured smartd.conf file along with the setup exe will load it automatically. Putting a preconfigured erroraction_config.cmd file along with the setup exe will automatically configure alert options. Example files can be found at

Put the following files in the same directory

  • smartmontools-win-6.6-1.exe
  • smartd.conf
  • erroraction_config.cmd

Then run: smartmontools-win-6.6-1.exe /COMPONENTS="core\service,core\service\gui,core\service\mailsupport,updatedb,regext,authorlinks,statistics" /SUPPRESSMSGBOXES /SILENT


Compilation works with Inno Setup & Inno Preprocessor 5.5+. You'll need to download all the software mentionned above and extract them to the corresponding directories listed in main iss file.

Build python executables

In order to build python executables from source, you'll need:

pip install pygubu pywin32 cx_freeze

You may then run in order to create executable versions of smartd-pyngui and erroraction_config