Kaseya Community

Tips and Tricks - KLC Deploy Script

  • Many folks have been frustrated with slow KLC performance since the 6.2 upgrade, and I wanted to post something to try and help.  First some background, back with 6.1 we changed the way DLLs get deployed for Live Connect.  Its about a 20MB package that needs to get pushed 1 time to the agent.  This push created a lot of "slowness" during first KLC connects.  At the time we included a "Execute Deploy Live Connect" agent procedure so that you could push out the DLLs during off peak times so that you wouldn't have to wait for the package deploy when you initiated a KLC session.  

    With 6.2 enough of those DLLs changed and the package needed to be redeployed.  In fact, our recommendation is that you have the "Execute Deploy Live Connect" agent procedure run weekly, and ideally sometime between Friday afternoon and Tuesday morning.  This will ensure that your agents don't get stuck waiting for the package to deploy.  As hotfixes get pushed for KLC, agents won't need to re-download the whole 20MB again, just changes.

    Here's the link to how to use the "Execute Deploy Live Connect" agent procedure. 

    Walk through on the use of the agent procedure

    I hope this helps.



    [edited by: Brendan Cosgrove at 3:31 PM (GMT -7) on 10-11-2011] links added
  • I'm not sure I want to push 20MB to all of my agents every week. Is the script smart enough to bail out if no update is needed?

  • yes.  It won't re-push it every week.  It will just make sure that the new agents get it.

  • Cool, thanks man.

  • When i view the sample procedure all i see is "Deploy Live Connect" -> Always True

    Is that the same for everyone else?

  • That´s correct, it´s a system script so you don´t get to see the magic it does..

  • Ah Thanks :)

  • Well, the magic isn't realy magic at all, figured out what the script does, since it is irritating me to send 20MB to 5000 agents over a 2mbit vpn.

    I aim to deploy KLC to 400 agents, rest of my agents are in the lan of those 400 agents, so deploy to our servers, and the rest of the agents will be deployed from those servers, saving bandwith.

    Now, i know the files and there sources, i created a self extracting zip in which case the 20 mb is reduced to approx 5 mb (75% less!))

    The can be launched from a simple procedure.

    The ofcourse updates will come in the future, so plan to build a filewatcher on those needed files, to keep an eye on them. At least for a first deployment this is better for us than sending 20mb to 5000 agents.  Doing so, saves me 96GB of sending data through a wan!

    Please note that the following files are based on a windows agent, files can be different if non windows.

    Deploy live connect script distributes the following files if not present or if file differs from source (vsa)

    Files are located on the vsa in \kaseya\webpages\managedfiles\vsahiddenfiles\

    Size of all files together is currently   20223 KB (approx 19,7MB)

    source \kaseya\webpages\managedfiles\vsahiddenfiles\      Target

    \KLC\ExtDlls\LiveConnectRelayService.dll  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\DllLiveConnectHost.dll  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\CommandService.dll                      \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\DesktopAccessService.dll  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\EventLoggingService.dll  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\FileManagerService.dll  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\RegistryEditorService.dll  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\SAS.exe  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\SessionInfo.exe  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\TaskManagerService.dll  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\LocalUsersGroupsService.dll  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\ThumbnailCapture.exe  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\ThumbnailService.dll                        \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\LiveConnectTaskRunner.exe  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \ExtDlls\LiveConnectService.dll  \#AGENTINSTALLDIR#\ExtDlls\

    \KLC \Screenhooks.dll                       \#AGENTINSTALLDIR#\DesktopAccess\

    \KLC \ktvnserver.exe  \#AGENTINSTALLDIR#\DesktopAccess\

    \KLC \liveconnect.exe                      \#AGENTINSTALLDIR#\

    \KLC \win\libkacm.dll                      \#AGENTINSTALLDIR#\extdlls\

    \KLC \win\libkacm.dgst  \#AGENTINSTALLDIR#\extdlls\

    \kvpn-1.0-install.exe \#AGENTTEMPDIR#\

    \knat.exe \#AGENTTEMPDIR#\

    Start KLC script, will do the same as within deploy live connect for copying the files if needed plus:

    Delete File #agentInstallDir#\DesktopAccess\tvnserver.exe

    Delete File #agentInstallDir#\DesktopAccess\server_settings.ini

    \KLC\win\libkacm.dgst                          \#AGENTINSTALLDIR#\extdlls\libkacm.dgst  (will be overwritten every time, 32 bytes)

    7zip these files results in 5,8 mb (13,9MB less than unpacked)

    Maybe kaseya should also consider using compression on those files, makes a lot of us happy i think.

    Also, another file source  instead of the VSA should be very welcome.

  • Kaseya should use the patch file source as the first check for every download!

    Patching, KLC, KAV, KAM, etc would all benefit from this.

  • that would require the differnent modules to talk and play together! (By the sounds of things this is going to be the way things will progress)