iScreensaver Logotype

Building Installers

To get a cross-platform-created screensaver on to an end-user's system requires hundreds of files, libraries to be copied, and many OS-level settings to be changed. It's not something the average user can do by hand. For this reason, an "Installer" is used. An Installer is software that automates this process. Fortunately, iScreensaver Designer creates Installers for you. More importantly, iScreensaver Designer is the only tool which does this cross-platform work for you. You can edit your screensaver on Mac and create a Screensaver Installer for Windows. And vice-versa. Cool. Here we describe how to do this.

For help installing a screensaver, see Installing a Screensaver.

For help with distributing screensavers, see Distributing Screensaver Installers.

The Share tab is where you actually build the screensaver installers. First, of course, you might want to name the files, provide customized icons, and create a personalized license agreement. You have the option of adding a custom Wallpaper desktop background, and specifying which versions of OpenGL and Flash will be the minimum necessary for your users' machines. Also if not yet completed, links for easy registration of your copy of iScreensaver are available.

Using the Share tab

On the Builds tab you can set general information (such as your Author's name), select which platform(s) to build, and start a build for all selected platforms.

Using the Builds subtab

The Build tab

Registering iScreensaver

The screensaver software will only function in Demo Mode until a valid registration code has been entered. The current registration status and registration name are shown.

Setting an Author Name

Most operating systems will mention an author or publisher of the application when getting information on the file properties, and this text field can be customized for an author's clients, if any. This is an editable field with the Ultimate License.

Please note that this is not the same as a Software Publisher Certificate, as seen with Windows' User Access Control warnings upon software install. Purchasing a software certificate requires involvement with Microsoft-authorized third party software security companies.

See more information about this topic at Microsoft:
http://msdn.microsoft.com/en-us/library/ff552299.aspx


The Publishing information warning

Unfortunately, users are fairly used to seeing unknown Software Publisher Certificates.

Exporting to all platforms

It is easy to quickly build installers for all checkboxed platforms using the 'Build All' button on the master Builds tab.

Exporting to single platforms

Each platform can be individually built from their individual platform tabs.

Using the Mac subtab

The Build tab, Mac

Using the Win subtab

The Build tab, Win

Customizing the Install

File names

Zip

An option to automatically compress the installers into simple cross-platform-transportable formats for use on a website, sending through email, or moving across platforms. For Macintosh, it is checked on by default. For Windows, we recommend leaving this option off, as, in most cases, the Single-File EXE is an easier solution for user installation. Enable this either if you have file sizes, or if the installer itself is, larger than 2GB in size.

Make Single File EXE

The Windows default option to automatically compress the installer within a self-extracting installer, for use on a website, sending through email, or moving across platforms. We recommend leaving this option on as it saves the installer into a single-file format, making a very end-user-friendly experience. Disable this if you have a different distribution procedure, are testing installers on your local machine, or restricted by 2GB size limits. The single-file installer icon will be resized to a OS-limited 48x48 pixels.

Checking Plug-in versions

When the end-user previews, installs, or runs the screensaver, it will automatically check for needed plugins (Flash or OpenGL). As the author, you can enable/disable these checks, and change the minimum version number required. Blank out the field to disable checking for that plug-in.

During installation, if the minimum version number is not found, the user will be asked to install the free download and/or upgrade from the Adobe web site. This process is well-guided and will return the user to the iScreensaver installer when they are done. OpenGL Drivers are a bit more complex, as each vendor has their own. There is a link in the Tips for more information on OpenGL updating.

Use the "Now" button to find the plugin versions currently on your authoring machine. You can copy these values to the edit fields. Note that with old operating systems, the plugin versions may not be what you are currently using, and it is easily possible for your content to be played on much earlier plug-in versions, without need for a recent update. Also remember that the end users are allowed to skip these installs (they are warned to not do this, but they are not prevented from doing so). This of course may compromise how the screensaver functions.

Tips:

Icons

These icons are used when the user downloads the screensaver installer. To create an icon, make a 512x512 pixel file with the desired icon art and transparency masks, and save it in PNG-24 format. Click 'Edit' on the icon you desire to change, and then select the file with your new icon art.

Please note that Windows systems are limited in size to 256x256 pixel icons, and can only save 128x128 pixel icons for Macintosh installers. If the icon must include a large Mac icon, we recommend moving and rebuilding the project on a Mac machine, or use a more complex technical procedure for inserting a larger icon into the Macintosh installer. You can still use original artwork sized at 512x512 pixels in Designer on either platform, and it will be sized as best it can.

Thumbnail

Macintosh allows customized icons in the System Preferences' Display &: Screensaver pane. The exact size is 180x116 pixels, but any image can be scaled to fit.

Wallpaper

You can choose an image to be included as a desktop background. Click on 'Edit' to select or delete a chosen image. Click on 'Test' to install or uninstall the image on your machine. The user will have the option whether to install the Wallpaper or not during installation.

Finding the Installers

The fastest way to find the newly created installers is by the Reveal buttons on either the master Builds or individual platform tabs.

Testing the Installer

It's possible to immediately test the installer, after building, from the Install buttons on the individual platform tabs. Of course, you can only test a screensaver on the same platform that you are building on... (the multi-platform build features of iScreensaver are cool, but they aren't magic!)

Code-signing, Gatekeeper, and Authenticode

The latest Macintosh and Windows operating systems have strengthened their developer security systems. This has changed how third party developers, such as iScreensaver, approach creating applications, and how our professional screensaver authors must adapt to their new security systems.

Screensavers, identity, and software security in the modern era

Modern operating systems (beginning with Windows 10 and Mac OS X 10.10 Yosemite) are very careful to only run software that is ''trusted.'' This trust is established by the author of the software signing the code with a digital signature, based on a certificate that was issued to the author's company after a thorough background check to establish a valid identity. Our editing software, iScreensaver Designer, is signed with such a certificate (issued to our parent company Xochi Media Inc).

iScreensaver lets you, the author, create a fully customized screensaver and screensaver installer program, complete with your own icons, text descriptions, images, and copyright information.

These custom modifications change data within the software application executables, so that every screensaver you build is unique. This is a generally a good thing, as the end user of the screensaver software will see your name, your icons - your information.

Unfortunately, these modifications also prevent the screensaver installer software from being digitally signed with our corporate certificate. (If we were to sign it with our identity beforehand, when you built your screensaver, then the signature would be broken and the software application would not run at all).

So, when you build a screensaver installer using iScreensaver Designer, the final built software will be created without an actual signature.

This leaves you, the author, with two choices:

Option 1: No signature. | Option 2: Create your own digital signature.



Option 1: Deliver the software as-is, without a digital signature.

When a customer or end-user tries to install a screensaver that is not signed, they will usually be presented with one or more warnings like these:

Mac OS X unsigned warning:

Windows' Internet Explorer unsigned warning:


Windows' Edge unsigned warning:

Solution: Bypass these warnings.

It is relatively easy to bypass these warnings - let your end users know ahead of time to expect the warning, and instruct them on the way to bypass the warning. These warnings are common to many software packages, and most customers already are familiar with the steps.

To bypass unsigned warnings on Mac OS X:

To bypass GateKeeper checks, one can simply right-click on the installer icon and choose "open", or hold down the control key while clicking the icon and choose "open".


There will then be a new window with the "open" button enabled:


To bypass unsigned warnings on Windows:
To bypass Authenticode checks, one can choose the "I Undertand the risk..." options and then choose "Run" from the second set of options.



With these two simple techniques, most of the problems of code-signing can be avoided. However, there are certainly situations where it's not feasible to take this approach. A better solution (but one that is much more expensive and technically demanding) is Option 2.



Option 2: Sign the screensaver installers with your own Digital Signature

For the best end-user experience, you want to have your screensaver installers digitally signed with your company's code-signing-certificate. Although this could not be done for technical reasons using iScreensaver Designer 4.5, with the release of iScreensaver Designer 5 we offer full compatibility with modern digital signatures.

Please note that this process is highly technical, time-consuming, and expensive. Furthermore, it uses third party companies, services, products and tools for which we can not provide technical support. We will provide an outline of the steps and some suggested vendors, but many of the details will be up to you. Yes, it's complex with all the various third parties. Sorry, if it were only under our control...

Code-signing 101: Step-by-Step Instructions

Code-Signing on Mac OS X

  1. Get a Mac running OS X 10.10 or later. You can not code-sign Mac software on a Windows PC.
  2. Get an Apple Developer Account. This currently costs $99 per year. Enroll in the Apple Developer Program.
  3. Verify your identity with the Certificate issuer. Typically this will require you to have a legal organization (such as LLC, Corporation, Non-Profit, etc.) and can not be done by an individual or sole proprietorship. This step can take several days to have your identify confirmed. You will want to make sure your company is listed properly in DNB (Dunn & Bradstreet) and that you know your DUNS number. You may also need copies of corporate documents such as the Articles of Incorporation.
  4. Request your code-signing certificate from Apple, which is called a "Developer ID Certificate".

    Those are the hard steps. The next step is fairly easy:

  5. Once you have your Developer ID Certificate, you can sign your finished screensaver installers with a single command line:

    codesign -f -s 'Developer ID Application: XYZ Widgets Inc.' /Users/john/Documents/iScreensaver Projects/MyScreensaverInstaller.app

    ...replacing 'XYZ Widgets Inc.' with the name on your certificate, and supplying the actual path and filename for your built screensaver installer.

Code-Signing on Windows OS

  1. Get a Windows PC running Windows 10 or later. You can not code-sign Windows software on a Mac.
  2. Get a code-signing certificate. Numerous companies offer them, and current discount prices run about $100/year. We can recommend using certificates from these organizations:
  3. Verify your identity with the Certificate issuer. Typically this will require you to have a legal organization (such as LLC, Corporation, Non-Profit, etc.) and can not be done by an individual or sole proprietorship. This step can take several days to have your identify confirmed. You will want to make sure your company is listed properly in DNB (Dunn & Bradstreet) and that you know your DUNS number. You may also need copies of corporate documents such as the Articles of Incorporation.
  4. Retrieve your code-signing certificate from your vendor once it is ready. Important: use IE11 for this step and download your certificate on the same computer you will use for code-signing.
  5. Save the certificate and private key as a PFX format by following these steps in IE11:
    • Open IE11 on the same computer where you downloaded your certificate.
    • From the Tools menu, choose Internet Options.
    • On the Content tab, click the Certificates button.
    • Select the code-signing certificate you just purchased and downloaded (note: there may be several certificates in the list, be sure to choose the correct one).
    • Click the Export button.
      • Choose "Yes, export the private key".
      • Choose "PKCS#12.PFX" as the kind.
      • Check the box for "Include all certificates in the certification path if possible".
      • Create a certificate password (and remember it for later).
      • Export the file to your hard drive.
  6. Get the windows SDK which includes the 'signtool' command-line tool. The easiest way is to download the Windows 8.1 SDK, which can be used on Windows 10, directly from Microsoft: Download Windows 8.1 SDK.

    Those are the hard steps. The next step is fairly easy:

  7. Once you have your Certificate and SignTool app installed, you can sign your finished screensaver installers with a single command line:

    "C:\Program Files\Microsoft SDKs\Windows\v8.1\Bin\signtool.exe" sign /v /f MyCertificateAndPrivateKey.pfx /tr http://timestamp.geotrust.com/tsa /p myPassword /fd sha256 /d "My Screensaver Description" /du "http://mywebsite.com" MyScreensaverInstaller.exe

    ...replacing 'MyCertificateAndPrivateKey' with the name of your certificate file, changing 'myPassword' to the password you created above, setting the description and URL to your company, and supplying the actual path and filename for your built screensaver installer for MyScreensaverSingleFileInstaller.exe.
  8. Important note: currently, iScreensaver Designer 5 only supports signing the Single-File-Installer format. This provides a digitally-signed installer; however the actual screensaver installed will not be digitally signed. Generally this does not cause problems. If the user chooses to install the screensavers "For All Users" on their computer, they will see one additional UAC prompt: which they must click "Yes" on.

next Distributing Installers