/FSCW

Toolkit to create Windows desktop setups for fonts.

Primary LanguageInno SetupMIT LicenseMIT

Font Setup Creator for Windows (FSCW)

Font Setup Creator for Windows (FSCW) is a a toolkit to create a Windows desktop setup installer for fonts.

It is driven by a DATA.ini file that includes all necessary information about the font(s) to install and uses Inno Setup to generate the Setup.exe file. If you do not run Windows, a build script for AppVeyor is also included. AppVeyor can build the Setup.exe installer automatically each time that you push to your repository.

Why this project exists

FSCW includes all best practices for font installation on Windows that we have learned while creating the Windows installer for the Hack typeface.

Although it might seem like overkill to use a Windows installer for fonts, there is good reason for this on the Windows platform. A number of things can go wrong when one tries to install or update frequently updated fonts manually (see issue #152 and issue #129 in the Hack repository).

Setup experience for end users

  • User downloads (SetupExe) from your repository and double clicks it.
  • User sees a Windows protected your PC message (Screenshot).: Needs to click on More info and then Run anyway.
  • Note: This Windows SmartScreen warning can be safely ignored as it is caused only by the fact that the EXE is not digitally signed. You may want to upload the EXE file to VirusTotal and link to the report from your repository.
  • User is asked if the font(s) should be installed (Screenshot).
  • User is asked to to perform a restart (Screenshot).
  • Installed font(s) can be used.

To uninstall, the user goes to the Add/Remove Programs applet in Control Panel, selects the entry and clicks on Uninstall (Screenshot).

How to use it

  • Clone this repository
  • Delete the test fonts and exchange them for your your own *.TTF files (in /fonts)
  • Update the other files as you see fit (e.g. License.txt, icon file etc.)
  • Update src/DATA.ini to match your own data (Name, copyright etc.)
  • NOTE Please always remember to update UniqueID in src/DATA.ini

Building on Windows

  • Perform the steps described in How to use it
  • Download Inno Setup
  • Please make sure the option "Inno Setup Prepocessor" is activated during install
  • Open src\FSCW.iss
  • Select Build - Compile (CTRL+F9)
  • Retrieve your (SetupExe) from the \out folder

Building using AppVeyor

AppVeyor is a continuous integration (CI) service that provides a Windows based environment and can be freely used for open source projects. You can use it to build (SetupExe) if you do not have regular access to a Windows installation.

  • Perform the steps described in How to use it so you have a working script that AppVeyor can execute
  • Create an account at AppVeyor (You can login using your GitHub account)
  • Click on the PROJECTS tab
  • Click NEW PROJECT
  • Select your repository and click Add
  • Push to your repository and AppVeyor will create the setup EXE for you automatically (might take some minutes)
  • You can download the (SetupExe) file by selecting your project, clicking on LATEST BUILD and selecting ARTIFACTS

You can also change appveyor.yml so the resulting (SetupExe) is added as a new release to you repository. The command for this is only commented out, but requires a GitHub token. Please use Encrypt data in the account menu within AppVeyor.com to encrypt your token!

Contributions

Any constructive contribution is very welcome, regarless if it's an issue or a pull request.

If users of the setup experience any difficulties, please open a new issue and include the log file FSCW generates. This log file can be found in C:\Program Files\(DestinationFolder)\Log-FSCW.txt. Please post the entire contents of this log along with the issue.

License

Copyright © 2017-2019 Michael 'Tex' Hex / Source Foundry. Licensed under the MIT License. For details, please see LICENSE.txt.