So you created an automation script or a full-blown app and are ready to distribute them to your customers. Along with your ow files you have to deploy Screen Scraper client runtime. Below we explore what are the best practices to deploy the runtime depending of your specific scenario.
Important licensing information
Important note: You need to purchase at least one copy of Screen Scraper Studio DEVELOPER edition to have the right to deploy the run-times with your apps or scripts.
Important note: You need to have purchased a valid seat license or the unlimited redistributable client runtime license before installing SDK to a new computer. You have to deploy the runtime only as part of your application. Please note that you are not allowed to deploy Screen Scraper Studio itself, only the client run-time redistributable files listed in REDISTRIBUTABLES.txt file.
Important note: The client runtime has to be activated on a new computer before you are using it unless you got the unlimited version that have the activation code removed. Run the Activate.exe app located in the same folder where you installed the library and enter the purchase email and key delivered to you by email.
Use Tools/Deploy script as single exe menu to create a single exe that will install the runtime and activate it, copy automation script and set the hotkey to start it. You will be asked to provide a path to the runtime setup package (MSI) that you received when you ordered runtime seats.
Users that run this exe should have the right to install software on their machines. On Vista/7 it requires elevation. Please note that this exe is not signed and additional warning might popup from security systems.
Deploy runtime along your app
There two major approaches to runtime deployment, you can just run a setup package (MSI) as part of your setup or you can manually add all the files and do all the settings in your own installation script. We recommend the manual process when deploying worldwide and the automatic process when deploying inside your organization but you can better figure it out for yourself reading the proc and cons of each method below..
You have to add individual files to your installation script, activate the library and install java support but you have fine grain control of the installation process and can tailor it to fit your requirements. Advantages
- Do not require elevated privileges except if you need to install java support.
- It appears like your own files, it does not create separate entries in file system and registry.
- You do not have to separately uninstall the runtime.
- You app cannot be broken by accidental uninstallation of runtime.
- There is no conflict if another app installs/uninstalls the runtime.
- More elaborate setup even though they can be easily implemented with a modern setup technology.
- If you are not using .Net you need to understand how to create a reg free COM manifest; no rocket science but it takes time.
- 1. Add runtime redistributable files from Studio installation folder to your setup in the same folder where your app is. You can use Tools\Copy redist file menu to automate this. If you have used NuGet to start you dev you already have these files in your project output folder. Make sure you are adding all OCR lang files that you need. Our copy script copies all lang files it finds in the Studio installation directory.
- 2. After your setup have copied the files to your installation folder you need to activate the library unless you got the unlimited redistributable edition. Call activate.exe that it is part of the redistributable files.
this will silently activate the library on a machine activate.exe /silent /register email key
Important notice: target machine has to be connected to the internet.
- 3. If your app is dealing with java apps you need to install java support. You can install java support on all JREs on system drive or you can only install support for a specific JRE if you know its path. Learn how to install java support here. This step requires admin privileges. Please note that you can install java support at a later time and it is not required if your app doesn't interact with a java app.
- 4. Register COM interfaces unless you have a .Net app, or you are using reg free COM or you have dynamically called COM interfaces from C++
- 1. COM registration
- Most setup technologies have built in support for registering COM libraries, so you don't need to manually call regsvr32, just declare these dlls as COM libraries. Don't forget to register x64 version. If you want to manually register COM follow the steps below:
- 2. Registration with regsvr32
- Registration depends on the OS architecture (x86 or x64) and the option of per user or per machine registration.
regsvr32 <path>\UiPath.dll regsvr32 <path>\UiPath_x64.dll For a silent registration use the /s flag. For a per-user registration use the /i:user /n flags. This flags can be combined with the silent flag.
If you are using per-user registration no elevation is required.
Automatic runtime installation
All it takes is running an MSI file from your installation script. This MSI is provided to you when you buy runtime seats or unlimited redistributable license.
- No hassle at all, just run a file as a prerequisites to your own setup.
- Simpler development, you just add a reference to your project and you are done.
- All manual deployment steps advantages read .
- It deploys only the english OCR lang file, if you need another OCR lang file you need to manually copy it to the installation directory.
It will install everything, register COM interfaces, add .Net assembly to GAC, add support for java bridge and activate the library if you provide it with the email and key received in your purchase confirmation email.
Following command line will install the setup silently and activate it with name and key provided.
ScreenScraper_Runtime_Setup.msi /silent /regname:purchase_email /regkey:key_provided_at_purchase_time
Target computer needs internet connection unless you got the unlimited redistributable license.
Share your opinion
blog comments powered by Disqus