ScriptX logotype
  • Getting started
  • Documentation
  • Samples
  • Pricing
Free Trial Downloads
  • Home
  • Getting started
  • Documentation
  • Samples
  • Pricing
Developers ›  Knowledge Bank ›  How To Guides ›  ScriptX.Services ›  Install ›  v1 ›  for On Premise Devices

Installing ScriptX.Services

for On-Premise Devices

Requirements

  •  Internet Information Services (IIS) 7.5 or later on Microsoft Windows on an Intel x64 (compatible) PC.

    Internet Information Services is available as a feature on Windows 10/11 and can be used. Further, if a Windows 10/11 PC is available to which the main (and same account) is always logged in whenever printing services for nearby devices are required then installation is reasonably quick and easy.

  •  .NET Framework 4.6.1 or later

  •  ScriptX.Services License

    In order to use ScriptX.Services for On-Premise Devices you will require a license. To evaluate ScriptX.Services for On-Premise Devices please order a license for your server. The license will be valid for 60 days to enable you to fully evaluate the functionality.

    To complete the license order you will need the name of the computer(s) on which you which you wish to install the ScriptX.Services for On-Premise Devices - this is the "Computer name" shown in Control Panel System Properties or "PC Name" shown in Settings | About.

    Please visit ScriptX.Services Pricing and Licensing to order a license.

This article shows a walk-through of installation on Windows 10. If you have a departmental server running Windows Server 2012 or later, then please see to install ScriptX.Services for On-Premise Devices.

Introduction

ScriptX.Services for On-premise Devices has two parts:

  • A web application hosted in IIS (IIS Worker Process) that provides the REST API to be called by clients to perform printing and provides a dashboard for configuration and testing of ScriptX.Services. The application is implemented with ASP.NET Framework v4.6.1.
  • The ScriptX Print Server - a COM based server (MeadCo ScriptX Broker/Host) that provides the pagination and printing service that is called by the REST API.

Each runs in its own process; and each can run under the default accounts - and the Interactive log-in.

This means someone must be logged into the machine whenever print services are required. We are not illustrating unattended operation.

We start from a clean PC with nothing installed, for example no IIS. You may already have compoments such as IIS and Web Deploy already installed and configured in which case review the requirements but otherwise skip ahead to installing ScriptX.Services for On-Premise Devices..

Install Internet Information Services (IIS)

If Internet Information Services has not been installed yet, then install by turning the Feature On:

First find the features panel by typing "windows features" into the search box on the task bar

Select "Turn Windows Features On or Off"

In the Windows Features dialog, expand Internet Information Services and check the following features:

  1. Web Management Tools | IIS Management Console
  2. World Wide Web Services

    • Application Development features

      • ASP.NET 4.6 (or 4.7) - this will automatically check other required options
    • Common HTTP Features

      • Static content
    • Security

      • Basic Authentication

and finally click OK to turn the IIS Feature on.

Now navigate to your server (e.g. http://localhost) to ensure that server is available and the default home page is returned:

Install Web Deploy

Using Web Deploy is a convenient way of installing the ScriptX.Services WebApp. More details on Web Deploy are available in  this article.

If Web Deploy is not already installed, then install from this page.

Install and Configure ScriptX.Services

The install of ScriptX.Services for On-Premise Devices requires installation of a web application and COM server and configuration of the COM server.

Install ScriptX Server

ScriptX Server provides pagination and printing services for the Web Application.

ScriptX Server

To download or upgrade to the latest version (10.4.15.4) of ScriptX Server:

  1. Run the installer.

    In order for the installer to run, you must be logged on to your computer as an Administrator.

Install and Configure ScriptX.Services for On-Premise Devices Web Application

The web application provides the REST API for clients and a dashboard for configuration and monitoring of ScriptX.Services usage.

Create Application Pool in IIS

We recommend a new pool is created for the ScriptX.Services application named, for example, ScriptXServicesPool. The pool must use .NET CLR v4 in Integrated Pipeline mode:

After creating the pool, edit "Advanced Settings..." for the pool and ensure:

  • Enable 32bit applications is False, and
  • Process model identity is changed from ApplicationPoolIdentity to Custom account and the account of the current user (who will always be logged in when printing is required), and
  • Load User Profile is True

The account name "ScriptXPrint" is for illustration only - the name of the primary interactive account used on the machine (likely the account you are logged into) should appear for Process Model identity.

Install the Web Application

To download or upgrade to the latest version (2.12.0) of ScriptX.Services for On Premise:

  1. The downloaded package is a .zip file and should be Unblocked and then unpacked to a suitable folder on a hard drive.

  2. Open an admin Powershell prompt and cd to the folder created.

Install to an Application in the Default Web Site

This install will create an application named "ScriptXServices" (http://localhost/scriptxservices).

  1. Use the command .\OnPremserver.deploy /Y - the application will be created but will use the DefaultAppPool.

    Note that an error will be reported:

    Error: The account 'ScriptXPrint' does not appear to be valid. The account was obtained from this location: 'setAclAccess'.
    Error: Some or all identity references could not be translated.
    Error count: 1.

    This error can safely be ignored.

  2. If necessary, start IIS Manager

  3. Navigate to Sites\Default Web Site\ScriptXServices (note that it is listed as a folder).

    Right click on the site and choose Convert to Application

    This step is required due to the error above, we will resolve this in a future version.

    The Add Application Dialog will appear.

    • The pool will be DefaultAppPool. Use the Select... button to change it to the pool created earlier (ScriptXServicesPool).

    • Click OK on the Add Application dialog and the ScriptXServices folder will be converted to an application.

  4. In the Powershell prompt, use the command .\OnPremserver.deploy /Y again. This will set the required permissions on the App_Data folder.

    Note that the error will be reported again:

    Error: The account 'ScriptXPrint' does not appear to be valid. The account was obtained from this location: 'setAclAccess'.
    Error: Some or all identity references could not be translated.
    Error count: 1.

    This error can safely be ignored again.

Apply License, Configure and Test

The last step is to configure the server with your license.

In order to use ScriptX.Services for On-Premise Devices you will require a license. To evaluate ScriptX.Services On-Premise please order a license for your server. The license will be valid for 60 days to enable you to fully evaluate the functionality.

Please visit ScriptX.Services Pricing and Licensing to order a license.

After your order is processed you will be supplied with a License ID unqiue to you.

Navigate to the server with your browser. As the server is not yet configured, the server dashboard will start at the Configure server screen:

If your server is connected to the internet:
  • Enter your license ID and click Apply from Warehouse.

The license will then be downloaded, validated and applied to your server and the screen updated to show the details of the license and the printers that are available to the server.

If your server is not connected to the internet
  1. Download the license file as described when the license was provided to you.

  2. Copy the downloaded file to a suitable location on the server.

  3. If necessary, navigate to the ScriptX.Services dashboard and select

  4. Enter your license ID.

either:

  1. drag and drop the license file to the active drop area on the page,

or,

  1. click on the panel and use the file dialog to locate the file and upload it.

Configure available printers

By default the only printer available from ScriptX.Services for On-Premise Devices is the default printer of the configured Identity account for ScriptX Server.

Choose all the printers you wish to be available and then click Use these printers.

Test printing

After configuring the printers to be available, click `Print configuration` to send a printable version of the page to the default printer.

 If printing fails, trouble shoot by using the Test configuration and Test printing facilities. All licensees are entitled to full technical support.

Also see:

How to configure options ScriptX.Services for On Premise Devices.

How to configure samples for use with ScriptX.Services for On Premise Devices.

  • Knowledge Bank
  • 'How To' Guides
    • ScriptX.Services
      • Introduction
      • Getting started
      • Evaluate with modern code
      • Maintaining investment in current code
        • Stage 1: Adding UI
        • Stage 2: Printing with ScriptX.Services
        • Stage 3: Summary and review
        • Stage 4: Error reporting
        • Stage 5: Prompted printing
        • Stage 6: Preparing for advanced uses
        • Stage 7: WaitForSpoolingComplete
        • Stage 8: Recommendations for some common issues
      • Printing with the API
      • MeadCoScriptXJS Library
      • Installing ScriptX.Services
        • For Windows PC
        • For On Premise Devices hosted on Windows Server
        • For On Premise Devices hosted on Windows 10/11
        • Configure options For On Premise Devices
        • Cloud
      • Orchestrator
      • Debugging
      • License deployment
        • For Windows PC
        • For On Premise Devices
      • Samples
        • Configure for Windows PC
        • Configure for On Premise
        • Configure for Cloud
    • Security Manager
      • Deploying a license or revision
    • ScriptX.Add-on
      • Introduction
      • Installing ScriptX on client PCs
      • Basic printing with ScriptX
      • Advanced printing features
      • Backwards compatibility
      • How to check if ScriptX is installed
      • License deployment
      • Quick start with Visual Studio
        • ASP.NET MVC
        • ASP.NET Web Forms
      • Nuget Packages
        • MeadCoScriptXJS Library
        • Installer helpers
        • ASP.NET WebForms Controls
        • Helpers for ASP.NET MVC
      • Client-side printing samples
  • Technical Reference
    • ScriptX.Services
      • Web service API
        • Service Description
          • (GET)
        • Licensing
          • licensing (GET)
          • licensing (POST)
          • licensing/ping (GET)
        • Printer
          • settings (GET)
          • current (GET)
          • current (PUT)
          • connection (PUT)
          • connection (DELETE)
        • PrintHtml
          • settings (GET)
          • deviceinfo (GET)
          • htmlPrintDefaults (GET)
          • print (POST)
          • status (GET)
          • download (GET)
          • canceljob (PUT)
        • PrintPdf
          • print (POST)
          • status (GET)
          • download (GET)
        • PrintDirect
          • print (POST)
      • Orchestrator API
        • v1
          • GET
        • v2
          • PUT
          • GET
      • ScriptX.Services compatibility roadmap
    • Security Manager
      • How it works
      • License Expiry
      • Testing for a valid license
      • About the license file (.mlf)
        • LICENSE
        • APPLICENSE
        • TITLE
        • DOMAINS
        • DOMAIN
        • PERMISSION
      • API
        • Apply
        • License
        • result
        • validLicense
    • ScriptX.Add-on
      • factory
        • baseUrl
        • ComponentVersionString
        • IsUniqueIDAvailable
        • OnDocumentComplete
        • relativeUrl
        • ResetUniqueID
        • ScriptXVersion
        • SecurityManagerVersion
        • Shutdown
        • UniqueID
      • printing
        • AddPrinterConnection
        • BatchPrintPDF
        • BatchPrintPDFEx
        • bottomMargin
        • collate
        • copies
        • currentPrinter
        • DefaultPrinter
        • disableUI
        • duplex
        • duplex2
        • EnumJobs
        • EnumPrinters
        • footer
        • GetJobsCount
        • GetMarginMeasure
        • header
        • headerFooterFont
        • IsSpooling
        • IsTemplateSupported
        • leftMargin
        • onafterprint
        • onbeforeprint
        • onbeforeunload
        • onpagesetup
        • onuserpagesetup
        • onuserprint
        • onuserprintpreview
        • orientation
        • OwnQueue
        • pageHeight
        • PageSetup
        • pageWidth
        • paperSize
        • paperSource
        • paperSource2
        • portrait
        • Preview
        • Print
        • printBackground
        • printer
        • PrintHTML
        • PrintHTMLEx
        • PrintPDF
        • PrintSetup
        • printToFileName
        • RemovePrinterConnection
        • rightMargin
        • SetMarginMeasure
        • SetPageRange
        • SetPreviewZoom
        • SetPrintScale
        • Sleep
        • templateURL
        • topMargin
        • TotalPrintPages
        • unprintableBottom
        • unprintableLeft
        • unprintableRight
        • unprintableTop
        • WaitForSpoolingComplete
      • printerControl
        • attributes
        • Bins
        • Forms
        • isLocal
        • isNetwork
        • isShared
        • Jobs
        • location
        • name
        • Pause
        • port
        • Purge
        • Resume
        • serverName
        • shareName
        • status
      • Job
        • Delete
        • Pause
        • Restart
        • Resume
      • enhancedFormatting
        • allFooterHeight
        • allHeaderHeight
        • allPagesFooter
        • allPagesHeader
        • extraFirstFooterHeight
        • extraFirstPageFooter
        • firstFooterHeight
        • firstHeaderHeight
        • firstPageFooter
        • firstPageHeader
        • pageRange
        • printingPass
      • rawPrinting
        • printer
        • printDocument
        • printString
    • Change and history logs
    • Articles
      • v1.15.x ScriptX Client Library
      • Dialogs with ScriptX.Services
      • Accessing protected content
      • Long term servicing (LTS)
 
ScriptX logotype
Home Getting started Documentation Samples Contact us

© 2025 Mead & Co Limited.

Follow us:
LinkedIn   GitHub
X

Warning:

This ScriptX.Add-on sample can only be viewed using Internet Explorer.