1. Installation prerequisites on application server.
The following roles and features need to be installed on the application/IIS server.
1.1 Roles
- Application Server
- .NET Framework 3.5.NET Framework 4.5
- COM+ Network Access
- Distributed Transactions
- Incoming Network Transactions
- Outgoing Network Transactions
- TCP Port Sharing
- Web Server ((IIS) Support
- Web Server (IIS)
- Web Server
- Common HTTP Features
- Default Document
- Directory Browsing
- HTTP Errors
- Static Content
- HTTP Redirection
- Health and Diagnostics
- HTTP logging
- Custom Logging
- Logging Tools
- ODBC Logging
- Request Monitor
- Performance
- Static Content Compression
Dynamic Content Compression
- Static Content Compression
- Security
- Request Filtering
- Basic Authentication
- Digest Authentication
- Windows Authentication
- Application Development
- .NET Extensibility 3.5
- .NET Extensibility 4.5 (Server 2012+)
- ASP
- ASP.NET 3.5
- ASP.NET 4.5 (Server 2012+)
- ISAPI Extensions
- ISAPI Filters
- Management Tools
- IIS Management Console
- IIS 6 Management Compatibility
- IIS 6 Metabase Compatibility
- IIS 6 Management Console
- IIS Management Scripts and Tools
- Common HTTP Features
- Web Server
1.2 Features
- SMTP Server
- .NET 3.5
- .NET 45
These features and roles may have slightly different names depending on what operating system you are using.
2. Create application root folder
A folder needs to be created somewhere on the machine called dartKW. Usually in the root of the C:\ drive. In here we need to extract the dartKW 4.2 sorted.zip file.
Extracting the file leaves us with 6 folders, these folders contain everything you will need to install dartKW.
3. SysWOW64 Folder
3.1 Copy Files to SysWOW64 Folder
Open up the run dialogue box and navigate to %windir%\SysWOW64.
Navigate to C:\dartKW\Misc\LICENCE_ENGINE_FILES.
Right click and copy the 3 files highlighted above. (KEYLIB32.dll, Machnm1.exe & Manchnm64.sys) to the SysWOW64 folder. You may need to have administrative rights to do this.
3.2 Create CCS folder and paste files in.
Under the SysWOW64 (%windir%\SysWOW64) folder a new folder needs to be created called CCS. In this folder we need to paste the UserLicense.Lic file from C:\dartKW\Misc\LICENCE_ENGINE_FILES.
4. Run DFS Com installer.
In the folder called DartKW Com Installer (C:\dartKW\Misc\DartKW Com Installer) there is an application called setup.exe.
Run this application and press Next > Next > Install > Finish.
5. Create the dartKW_SVC account.
An account needs to be created to run dartKW under. This can either be a domain service account or a local account. The account must have local admin rights over the machine.
5.1 Local Account
To create the local account launch Computer Management.
Expand Local Users and Groups and then click Users. Right click in the white space and select New User.
Fill in the new user box like below, if you are using Windows Server you may see a slightly different window. Ensure that the account never expires, the password never expires and the user doesn’t have to change their password.
Once you’ve created the account, click groups along the left hand side (under Users) and double click on the Administrators group.
Add the dartKW_SVC account to the admin group.
5.2 Domain Account
Please speak to the customer’s network team regarding domain accounts. Please ensure when they create the account for you that:
- The account never expires.
- The password never expires.
- The user doesn’t have to change the password at next logon.
- The account has local administrator rights over the machine.
6. Restart the machine
After creating the account it is always wise to re start the machine as sometimes the local admin rights aren’t applied until it has been restarted. The box needs to be restarted anyway after installing the dartKW Com components in step 4.
7. Configure Component Services
7.1 Launch Component Services MMC
Navigate to the Control Panel and then click Administrative Tools. (Control Panel\All Control Panel Items\Administrative Tools).
Double click on Component Services to launch the application.
7.2 Configure Distributed Transaction Coordinator
Expand the tree view underneath Console Root until you can see Distributed Transaction Coordinator and then expand it.
Right click on Local DTC and click Properties. Once the Properties window opens up click Security.
Enable the following options if they are not already selected:
Security Settings
- Network DTC access
Client and Administration
- Allow Remote Clients
- Allow Remote Administration
Transaction Manager Communication
- Allow Inbound
- Allow Outbound
- Enable XA Transactions
- Enable SNA LU 6.2 Transactions
Select one of the following authentication methods.
- Mutual Authentication Required
Select this if all of the servers are in the same domain and same subnet. - Incoming Caller Authentication Required
Select this if the servers are in a different domain or subnet or if they is a firewall rule in place. - No Authentication
Select this if the servers are in a different domain.
If SQL and IIS are hosted on the same machine, then you can leave this option on mutual authentication required.
7.3 Create dartKW com components
Right click on COM+ Applications and press New > Application.
At the next prompt create an empty application.
Call the application dartKW_42 and choose the Server application for the Activation Type.
Set the application identity to the account we created earlier in step 5.
After pressing Next, press Next again twice and then Finish. Right click the dartKW_42 application you just created and click Properties.
Once the Properties window loads up select Security.
In Security under Authorization remove the tick from the box next to Enforce access checks for this application then press OK.
Expand the dartKW_42 component and right click Component >New> Component.
Click Install new component(s).
This will bring up a dialogue box asking you to select the files to install. Navigate to C:\dartKW\COM and highlight all of the .dll files then press Open.
Press Next then Finish.
The MMC may crash, if this does happen don’t worry, just re launch component services. (See 7.1).
7.4 Configure dartKW component
Navigate to Component under dartKW_42 from the tree view.
This will show all of the components that were just imported.
Find the component called KCFile.FileUpload, right click it and press Properties.
Navigate to the Advanced tab and tick the box for Allow IIS intrinsic properties under IIS Support.
8 Database Installation
8.1 Brief
Launch SQL Server Management Studio and sign in.
dartKW requires 3 databases creating to run:
- dartKW_Live_CacheDFS
- dartKW_Live_DFS
- dartKW_Live_Web
Two SQL user accounts also require creating:
- dartKW_Web_SVC
- dartKW_DFS_SVC
8.2 Creating the databases
To create a new database right click on Databases under the object explorer and select New Database.
Three databases need to be created:
- dartKW_Live_CacheDFS
- dartKW_Live_DFS
- dartKW_Live_Web
Repeat this for the other databases. Don’t worry about the configuration options as they can adjust these later if necessary.
8.3 Creating the SQL users
Expand Security under the object explorer and then expand Logins.
Right click Logins and click New Login.
This displays the following screen:
Create two logins:
- dartKW_Web_SVC
- dartKW_DFS_SVC
Create the accounts with the settings below:
Repeat the above step for the dartKW_DFS_SVC account. In this example, the password is set to 19P73Lumtree. Don’t worry about configuring the accounts while creating them, as this will be done later.
8.4 Setting permissions for SQL user accounts
The SQL accounts we just created need to have permissions mapped.
The dartKW_Web_SVC account needs to have db_owner permissions over the dartKW_Live_Web database.
The dartKW_DFS_SVC account needs to have db_owner permissions over the dartKW_Live_DFS and the
dartKW_Live_CacheDFS database.
To do this right click the accounts we just created and press Properties.
From the Select a page menu select User Mapping.
Select the relevant database by clicking on it and then put a tick in the box next to db_owner.
Do this for both of the accounts mapping them to the relevant databases.
The login properties for the dartKW_Web_SVC account should look like below:
And the login properties for the dartKW_DFS_SVC account should look like:
8.5 SQL Scripts to create database schema
Navigate to C:\dartKW\Misc and you will find two scripts.
Run the Create 5.2 DFS.sql script over the dartKW_Live_DFS and dartKW_Live_CacheDFS databases. To do this drag the .sql script into the SQL Management Studio.
Select the dartKW_Live_DFS database by using the dropdown list.
Press Execute.
You will receive a message that says command completed successfully.
Repeat this with the dartKW_Live_CacheDFS database.
You will receive the same confirmation message.
8.6 Configuring storage areas
To configure the storage area, run the following SQL. This will create a bucket with a maximum size of 1GB in the C:\dartKW\Instances\dartKW\DFS\Buckets folder.
USE DartKW_Live_DFS
insert into StorageAreas (DisplayName, NetworkLocation,DefaultBucketSize,MaximumSize)
values('Bucket1','C:\dartKW\Instances\dartKW\DFS\Buckets',1073741824,10737418240)
Create a bucket for the CacheDFS service C:\dartKW\Instances\dartKW\CacheDFS\Buckets by running the
following SQL:
USE DartKW_Live_CacheDFS
insert into StorageAreas (DisplayName, NetworkLocation,DefaultBucketSize,MaximumSize)
values('Bucket1','C:\dartKW\Instances\dartKW\CacheDFS\Buckets',1073741824,10737418240)
If the bucket locations don’t exist ensure they are created.
9 Configuring service files and web files.
To install dartKW, configure the individual applications and services.
9.1 Configuring the DFS service
Navigate to C:\dartkw\instances\dartkw\dfs\server.
Open the Ideagen.DFS.exe.config file in notepad or other text editor.
On line 7 configure the connection string.
The connection string used is below however this will probably need to be amended.
<add name="dfsDB" connectionString="server=(local)\SQLEXPRESS;user
id=dartKW_DFS_SVC;password=19P73Lumtree;database=dartKW_Live_DFS;trusted_connection=false;" />
On line 10 the config file references a Journal file. Check to see if this path exists and create it if it doesn’t.
Check to make sure nothing else is running on the ports referenced on line 14 and 15.
Also check to see if the bucketkey file exists in the location referenced on line 16.
9.2 Configure CacheDFS service.
Configuring the CacheDFS service is similar to the DFS service.
Navigate to C:\dartKW\instances\dartKW\CacheDFS\Server\ folder and open up the Ideagen.DFS.exe.config file.
On line 7, configure the connection string.
The connection string used is below, however this will probably need to be amended.
<add name="dfsDB" connectionString="server=(local)\SQLEXPRESS;user
id=dartKW_DFS_SVC;password=19P73Lumtree;database=dartKW_Live_CacheDFS;trusted_connection=false;" />
On line 10 the config file references a Journal file. Check to see if this path exists and create it if it doesn’t.
Check to make sure nothing else is running on the ports referenced on line 14 and 15.
Also check to see if the bucketkey file exists in the location referenced on line 16.
9.3 Configure Cachemanager service
Navigate to C:\dartkw\instances\dartkw\DFSCacheManager\Server and open DFSCacheManagerSVC.exe.config in notepad or a text editor.
Check that the working folder exists in the path referenced on line 5.
Then check that the IP of the KW DFS and Cache DFS (Lines 6 and 8) are correct.
Ensure that the ports (Lines 7 and 9) correspond with the ports specified in the .config files just configured above.
After this, put the connection string in for the KWDB, CacheDB and CacheDFSDB. The connection string used is below, however this will probably need to be amended.
<connectionStrings>
<add name="KWDB" connectionString="server=(local)\SQLEXPRESS;user
id=dartKW_Web_SVC;password=19P73Lumtree;database=dartKW_Live_Web;trusted_connection=false;"/>
<add name="CacheDB" connectionString="server=(local)\SQLEXPRESS;user
id=dartKW_Web_SVC;password=19P73Lumtree;database=dartKW_Live_Web;trusted_connection=false;”/>
<add name="CacheDFSDB" connectionString="server=(local)\SQLEXPRESS;user
id=dartKW_DFS_SVC;password=19P73Lumtree;database=dartKW_Live_CacheDFS;trusted_connection=false;"/>
</connectionStrings>
10 Services
10.1 Installing Services
To install the services navigate to the C:\dartKW\Misc folder and open up the text file called Install Services.txt.
Open up an elevated command prompt by searching for the command prompt, right clicking it and pressing Run as administrator.
Paste the contents of the text file in to the command prompt window by right clicking (CTRL+V will not work.)
%windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil /Service Name="Ideagen.dartKW.CacheDFS"
/DisplayName="Ideagen.dartKW.CacheDFS" C:\dartKW\Instances\dartKW\CacheDFS\Server\Ideagen.DFS.exe
%windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil /ServiceName="Ideagen.dartKW.DFS"
/DisplayName="Ideagen.dartKW.DFS" C:\dartKW\Instances\dartKW\DFS\Server\Ideagen.DFS.exe
sc create Ideagen.dartKW.CacheManager binpath=
"C:\dartKW\Instances\dartKW\DFSCacheManager\Server\DFSCacheManagerSvc.exe"
You will then be prompted for credentials, the credentials you need to enter are the ones created earlier in step 5.
Once completed, a message appears in the command prompt that says CreateService SUCCESS.
10.2 Configuring Ideagen Services
After installing the services they need to be configured, to do this open up the run dialogue box (Windows Key+R) and type Services.msc then press OK.
Press I on the keyboard and you will see three Ideagen services. They are:
- Ideagen.dartKW.CacheDFS
- Ideagen.dartKW.CacheManager
- Ideagen.dartKW.DFS
We need to enter credentials for the Ideagen.dartKW.CacheManager service. To do this right click it and choose Properties.
Go to Log on and check the box next to This Account, enter the details for the windows account created in step 5.
Configure the Startup type for the services. They should all be set to Automatic (Delayed Start). To configure this right click the service and press Properties.
Under General, change the Startup type to Automatic (Delayed Start) and then press OK.
Repeat this for all 3 of the Ideagen services.
10.3 Configuring other services
Please ensure that the SMTP service is started and set to Automatic (Delayed Start). The SMTP service is called Simple Mail Transfer Protocol in the services view.
10.4 Starting services
Start the services in the following order:
- Ideagen.dartKW.DFS
- Ideagen.dartKW.CacheDFS
To start a service either right click it and press Start or click it and choose Start from the left hand side.
Do not start the Ideagen.dartKW.CacheManager service as we will start this later (See Step 13.3).
10.5 Troubleshooting
If you get any errors when starting the services check the application event viewer. Usually this means the configuration files aren’t configured properly.
11 IIS
11.1 Configuring Application Pools
Open up Internet Information Services Manager (IIS).
Expand the tree view along the left hand side and select Application Pools.
Right click in any white space and press Add Application Pool.
Call the Application Pool dartKW_web and set the .NET CLR version to .NET CLR Version v2.0.50727.
Right click again and add another application pool.
Call the Application Pool dartKW_carousel and set the .NET CLR version to .NET CLR Version v4.0.30319.
Once the application pools have been created we need to configure their advanced settings. To do this click on the application pool on the list and press Advanced Settings... on the right hand side.
In the Advanced Settings menu change the Enable 32-Bit Applications to True from False.
After you have done this scroll down to Identity and set the identity to the account created in step 5.
This needs to be done for both of the application pools created.
11.2 Configuring IIS
Open up Internet Information Services Manager (IIS).
Expand the tree view under connections until you can see the Default Web Site.
Click the Default Web Site and double click ASP under IIS.
Change Enable Parent Paths to True from False, then press Apply on the right hand side.
11.3 Configuring Web Files
Open up Internet Information Services Manager (IIS).
Expand the tree view along the left hand side and the default website, then right click on it and press Add Application.
Set the Alias to dartKW, the Application pool to dartKW_web and set the physical path to the location of the web files (C:\dartKW\Web).
11.4 Configuring Carousel Files
Open up Internet Information Services Manager (IIS).
Expand the tree view along the left hand side and the default website, then right click on it and press Add Application.
Set the Alias to dartKW_carousel, the Application pool to dartKW_carousel and set the physical path to the location of the carousel files (C:\dartKW\WebServices\Carousel).
11.5 Configuring Webservice
Open up Internet Information Services Manager (IIS).
Expand the tree view along the left hand side and the default website then right click on it and press Add Application.
Set the Alias to dartKW_webservice, the Application pool to dartKW_web and set the physical path to the location of the carousel files (C:\dartKW\WebServices\WebService).
12 Licensing and initial setup
12.1 Licensing dartKW
The license details will look similar to below:
The page will refresh and you will see some unlock codes on the screen. Make a note of these.
You will also receive an email containing the unlock codes and a UserLicense.lic file.
Navigate to the CCS folder created earlier in step 3 and replace the UserLicense.Lic file.
Enter the unlock codes onto the license screen then press Register.
Once you’ve enabled the license the field that says ERROR or Evaluation will say Licensed. Press Login to database server.
12.2 dartKW initial setup
Select SQL server and press Setup Database.
Enter the database details and the dartKW_web_svc SQL account credentials and press Log In.
Enter the database information for the Web database. Ensure you untick the boxes for Create New User and Create New Database as they have already been created.
You will then be asked to configure the system parameters. The only parameters that need to be configured are the temporary directory (C:\dartkw\Instances\dartKW\Temp) and the carousel path (http://localhost/dartKW_carousel).
When asked to Create Default System Vaults press Skip to next step.
Skip the Configure Mailing System step.
You will then be presented with the login screen, however dartKW will not work yet.
13 Final Steps
13.1 SQL Script
To finish installing dartKW we need to run a script over the dartKW_live_web database. The script is called New 4.2 Install.sql and is located in the C:\dartkw\Misc folder.
Drag the script into SQL Server Management Studio and Execute it over the dartKW_live_web database.
13.2 Encrypt DSN
Navigate to C:\dartkw\Misc\EncryptDSN and right click on EncryptDsn.exe and press Run as administrator. Running as administrator is vital or you will see the encrypted DSN.
A notepad window will open containing a string that looks like a connection string.
Change dartkw_live_web to just say dartKW as this is the instance name (Or server name on the dartKW login screen.)
The DSN below is an example taken from a test installation:
dartkw:driver={SQL Server};server=IW4001\SQLEXPRESS;database=dartkw_live_web;user
id=dartkw_web_svc;password=19P73Lumtree;dsn=
Once the instance name has been changed, save the DSN.txt file and run the EncryptDSN.exe as an administrator again. The text file will open up and show you the encrypted version.
13.3 Ideagen.dartKW.CacheManager service
Open up the run dialogue box (Windows Key+R) and type Services.msc then press OK.
Scroll down the list of services until you find Ideagen.dartKW.CacheManager.
Right click the service and press Start.
13.4 Carousel web.config
Navigate to C:\dartKW\WebServices\Carousel and open up the Web.config file in a text editor.
Line 12 to line 15 asks for connection strings, so paste these in from the service configuration files.
The dartKWDB is referring to the Web database and the cachedDB is also referring to the web database.
The ones used for this install are below, however they will probably need to be amended for another installation:
<connectionStrings>
<add name="dartKWDB" connectionString=""/>
<add name="cachedDB" connectionString=""/>
</connectionStrings>
<connectionStrings>
<add name="dartKWDB" connectionString="server=(local)\SQLEXPRESS;user
id=dartKW_Web_SVC;password=19P73Lumtree;database=dartKW_Live_Web;trusted_connection=false;"/>
<add name="cachedDB" connectionString="server=(local)\SQLEXPRESS;user
id=dartKW_Web_SVC;password=19P73Lumtree;database=dartKW_Live_Web;trusted_connection=false;"/>
</connectionStrings>
Also, change line 3 from:
<add key="KWHostname" value="localhost"/>
To (In this case):
<add key="KWHostname" value="IW4001.ideagenplc.com"/>
The KWHostname must be configured to the FQDN of the box running the carousel service.
14 Finish
Once all of the steps in this guide are completed, you should be able to log in to dartKW and use the software.
The default credentials are:
Username: system
Password: system
Server: dartKW