Follow below steps to set up the SheetKraft Web framework on the Application/Database Servers:
Check Prerequisites:
(dot) Net Framework 3.5 & 4.6 needs to be installed on the development machine. We need this to install SQL Server Management Studio and other SheetKraft software.
RDP port (Remote Desktop - port no. 3389) and SQL Server port (default port no. 1433) need to be opened from the development machine to the application and database server. Confirm whether the ports have opened by using telnet command. To execute a telnet command, follow the steps in this URL: https://kb.acronis.com/content/7503
Obtain the IP addresses of the Development Machine, Application server and DB server for connection purposes (in some cases, DB server and Application server can be same).
Get SQL Server DB instance name (database engine name) which will be used as the Data Source in the Connection String to connect to database.
Install SQL Server Management Studio on development machine or application server to access and modify SheetKraft databases.
Check whether Internet Information Services (IIS) has been installed on the system. The following items need to be checked. For setup on Windows Server OS, click here.
Start a remote session with the server by either typing “mstsc” in the RUN window or typing “Remote Desktop Connection” in the START menu. Put in the server IP and log in.
Create a folder called “SKServer” in any drive on the application server (preferably other than the boot drive) and create another folder with your Process name. Unzip webfiles.zip and then, paste the files inside web folder into SKServer folder. Next, paste and overwrite the files/folders in the publish folder in devupdate.zip in the above folder.
Unzip DevUpdate.zip and locate the publish folder. Paste and overwrite the files into SK_Server folder with the contents of the publish folder. This ensures that you have the latest files from Development. \
Database Setup
We use database setup to set up the SheetKraft database and create required tables for SheetKraft Web.
Paste and overwrite the contents of DatabaseSetup from devupdate.zip into webfiles.zip
Create the connection string with Data Source, Username and Password components (For database creation, you’ll need to enter the Database Engine’s or the Super Admin’s username/password). It is written in the following format:
Data Source=(local)\SQLEXPRESS; User ID=SheetKraft;Password=Pass#123
Open DatabaseSetup.exe. You will need to enter the connection string for the DB server in the field marked Connection String. Enter all the other relevant fields in the text fields (Make sure you note the passwords somewhere for reference purposes). Hit the Update button to create or update the database.
In case Database Engine’s user id/password is not provided, you can keep the connection string blank and click Update button. This will generate the SQL code required to create the Database. This code can be shared with the client’s IT team, so that they can use it to run the query themselves. \
IIS setup
Open IIS from the start menu.
Navigate to Application Pools section on the Connections panel (left side). On the Actions pane (right side), select “Add Application Pool…”. Enter name “SheetkraftAppPool1” (if SheetkraftAppPool1 already exists, enter SheetkraftAppPool2 and so on). Let other options remain as they are and select OK.
Navigate to Default Website on the left-hand side pane of the window. Click on it and select STOP from the Manage Website section on the right-hand side pane.
Right click on Sites and select Add Website. Enter Site Name as “SheetKraftWeb” and for Physical Path navigate to SK_server folder. Select Application Pool Name to SheetkraftAppPool1. Hit OK.
Click on SheetKraftWeb website and click on Edit Permissions on the Actions pane. From here go to Security >> Edit >> Add. In the Enter Names section enter - IIS AppPool\ApplicationPoolName (Replace ApplicationPoolName with SheetkraftAppPool1) and click search names then click OK for all open windows.
Click on SheetkraftWeb website and select New Application on the Actions pane. Enter your process name and select the same application pool as above (for the second application, create another application pool and use it here) and navigate to SK_server >> Process Name. \
Set up the required config files
We need to setup some config files from SKServer folder so that they point to the correct server. All config files that are mentioned below are located inside the folder with your process name located in the SKServer folder of the application server.
Open connection.config from inside Runner folder. You need to edit the connection string to reflect the one that will be used by the application (Same as the one you were using in Database Setup). Specifically, change the Data Source and the Password components of both items inside the XML file.
Inside the Runner folder, Edit the reportUrl key to point to the website’s path. Include a trailing “/” after the website address.
Open the dist folder and note the names of the latest (last edited) “Root.?.js” and “vendor.?.js” files (in place of question mark there will be a random string name). Make sure that Root and Vendor script tags are referenced the same way in the index.html file.
If not present already, create App_Data folder and create another folder with name uploads inside it.
Create Logs folder and make sure that SheetKraftWeb.log4net.xml points to SheetKraftWeb.log inside the Logs folder. \
Start Website Instance
Through the IIS Console, select your website and click on START on the actions pane.
Login remotely to the server and double click on ActivityRunner.exe in the Runner folder. A command window will appear. If you see “Initialization Complete” message, leave it as it is. Otherwise, you will need to analyze the exception being thrown by ActivityRunner and resolve it. Then, restart ActivityRunner.exe.
Open your website in any browser (the website address will be <>/<>). If all settings have been done correctly, you should see a Login screen to SheetkraftWeb. Ideally, upload and run a sample skapp file which will confirm whether the Activity Runner has also been properly configured.