Kane & Lynch: Dead Men – xlive.dll is missing from your computer

Trying to start the game Kane & Lynch: Dead Men from the Steam client on a default Windows 8.1 installation will not work. Furthermore, you’ll get no error message other than the obvious lack of the gameplay.

Kane and Lynch
Games for Windows Live – Kane & Lynch: Dead Men running on Steam

As usual with these kinds of errors, a good starting point is to locate the actual game folder. From Steam’s Game library, right click on “Kane and Lynch: Dead Men” and select properties, then select the tab called “Local files” and finally click the button labeled “Browse local files”. You’ll now find yourself in the game directory. By trying to execute “kaneandlynch.exe” you’ll get an error message stating that “xlive.dll is missing from your computer”. Thankfully, Steam has already included the necessary libraries inside a folder named XLiveRedist which contains the installer package XLiveRedist01.02.0241.00.msi.

So why the need for xlive.dll?

The file itself stems from the Games for Windows Live platform, on which Kane & Lynch: Dead Men was released back in 2007. For those interested this Wikipedia article might be worth a read.
Also, instead of using the Steam redistributable (XLiveRedist01.02.0241.00.msi) you might install the latest version of the package directly from Microsoft by using this link: Games for Windows Marketplace Client

This bundle will also install “Games for Windows Marketplace” but just get rid of it (as in uninstall from “Programs and Features”) after the installation has completed.

Never install xlive.dll from any source other than Steam or Microsoft.


The OTRS Group axes the Windows installer

The OTRS Windows installer
The now unmaintaned OTRS Windows installer.

With the release of OTRS Help Desk 4, it seems that running OTRS on a native Windows environment for all intents and purposes is no longer viable. By killing off the Windows installer and recommending migration into the OTRS appliance, the OTRS Group seems to be subtly hinting that OTRS on Windows is dead in the water.

Switching to the OTRS appliance might be a good solution for some Windows installations, but in my case OTRS is configured with MS Active Directory as a customer and agent backend, and we’re relaying on IIS for single sign on. It might be possible to do a source based update and subsequently hack it all back together, but who really wants to travel down that road.

An interesting detail with this change in direction from the OTRS Group is the lack of information regarding the decision to drop the Windows as a platform. I’ve scourged the interwebs for more information but all I’ve found is hearsay, it all says the same though, that’s all she wrote.

Being just a freeloader it’s not like The OTRS Group owes me anything so let me just say this: So long, and thanks for all the fish!

Migrating otrs from windows into appliance


How to configure KMail with GPG on Slackware Linux 14.1

No additional software is required on a full Slackware 14.1 install.
Slackware 14.1 ships with KDE 4.10.5.

Prerequisites

If you don’t already have a key pair (secret and public key), then your first order of business is to create one. The preferrable option is to use the CLI with the command:

gpg --gen-key

KDE provides two graphical tools for working with GPG, namely KGpg and Kleopatra.  KGpg will walk you through the initial setup using an interactive wizard and subsequently create the needed key pair and config files (do not use Kleopatra for your initial setup).
If you’re importing an existing private key then make sure to change the default trust level afterwards.

Regarding the key properties, most folks recommend the RSA/RSA algorithm and a key size of 4096 bits (if you’re really paranoid security conscious).

Enabling the GPG Agent on Slackware Linux

The gpg-agent is a daemon to manage secret (private) keys independently from any protocol. It is used as a backend for gpg and gpgsm as well as for a couple of other utilities.

Basically the gpg-agent will take care of caching the passphrase securely between applications and thus removing the need for typing the passphrase everytime we use our key.

Enabling the gpg-agent is simple enough, edit ~/.gnupg/gpg.conf and remove the comment sign in front of the use-agent directive.

# Edit your gpg.conf
vi ~/.gnupg/gpg.conf
# Remove the comment sign in front of use-agent
use-agent

Configuring pinentry on Slackware Linux

Pinentry is a small collection of dialog programs that allow GnuPG to read passphrases and PIN numbers in a secure manner.

In short, Pinentry will pop up and ask for the passphrase when using our GPG key.

# Create gpg-agent.conf in your home path
vi ~/.gnupg/gpg-agent.conf
# Add the following directives to gpg-agent.conf
pinentry-program /usr/bin/pinentry-qt4
no-grab
default-cache-ttl 3600

As KDE is based on the Qt framework, pinentry-qt4 is a viable choice (pinentry is also available in curses, qt and gtk-2).
The default-cache-ttl directive specifies the amount of time (in seconds) in which the passphrase should be cached. The no-grab directive avoids having the pinentry dialog glued to your keyboard, which is no fun at all.

Adding startup and shutdown scripts for KDE on Slackware Linux

We need to have the gpg-agent running before KDE starts up. To achieve this, we’ll use two bash scripts that will start and subsequently kill the gpg-agent daemon.

Gpg-agent-start.sh

KDE has a feature called “Pre-KDE Startup” that let us run user defined scripts at the earliest stage. Those scripts resides in the ~/.kde/env directory. This folder is not available by default, so we’ll create it and add the gpg-agent-start.sh script.

# Create the env folder and the startup script
mkdir ~/.kde/env
vi ~/.kde/env/gpg-agent-start.sh
# Add the code below to gpg-agent-start.sh
#!/bin/sh
eval "$(gpg-agent --daemon)"
# Make the script executable
chmod +x ~/.kde/env/gpg-agent-start.sh

Gpg-agent-stop.sh

We don’t want to have multiple instances of gpg-agent running when logging in and out of sessions. KDE has a Shutdown feature for user defined scripts as well, so we’ll make another script to kill  gpg-agent when our KDE session ends. The shutdown script is to be placed in ~/.kde/shutdown/, another folder that doesn’t exist on a default installation.

# Create the shutdown folder and the shutdown script 
mkdir ~/.kde/shutdown/
vi ~/.kde/shutdown/gpg-agent-stop.sh
# Add the code below to gpg-agent-stop.sh
#!/bin/sh
if [ -n "${GPG_AGENT_INFO}" ]; then
 kill $(echo ${GPG_AGENT_INFO} | cut -d':' -f 2) >/dev/null 2>&1
fi
# Make the script executable
chmod +x ~/.kde/shutdown/gpg-agent-stop.sh

Verify that gpg-agent is running as a daemon

Log out and start a new KDE session.
Run the following code to verify that the gpg-agent is running and available:

gpg-agent status

Configuring KMail

Start KMail and select:
“Settings” => “Configure KMail” => “Manage Identities” => Modify {your identity} => “Cryptography”.

KMail - Cryptography
KMail – Cryptography

Select your key for signing and encryption, and optionally your preferred format. Save and your’e good to go.
You might also want to set signing and encrypting messages as preferred options by editing the default settings under:
“Settings” => “Configure KMail” => “Security” =>  “Composing”.

Gotchas

Don’t fiddle with the GnuPG Log Viewer .
Changing the debug level sounds like a plan during troubleshooting, but it’s not. The result will instead be a corrupted gpg.conf.
If that should be the case then just remove the lines in question, they will look similar to this:

###+++--- GPGConf ---+++###
utf8-strings
debug-level guru
Viewing a signed and decrypted message with KMail.
Viewing a signed and decrypted message with KMail.