After spending almost three hours trying to get Bioshock (the first game) working on my Windows 10 computer (upgraded from Windows 7), I determined that the issue was related to the initialisation of the audio device (regardless of what the audio device actually is / was). I’ve got a Creative Sound Blaster Audigy sound card, an onboard Realtek HD Audio sound card, the NVIDIA audio controller (courtesy of my NVIDIA GTX 560), Total Recorder audio drivers, e2eSoft audio drivers and a Logitech G930 gaming headset. No matter what combination of default devices etc that I tried, nothing ever worked.

Two things did work though.

  1. Disabling all the sound devices (in the Windows Device Manager and the Sound / Recording options)
  2. Starting the game with the -nosound switch (added to the launch options for Bioshock, on steam).

So that pretty much nailed it down. After a little more research on the internet, I discovered an audio initialisation was carried out at the very beginning of the execution of the game, during the developer intro.

Here’s another switch: -nointro.

Apparently the sound device initialization carried out at the very start, is simply used for displaying the developer intro. When you start the actual game, a separate audio initialisation is carried out.

Who needs to see the developer intro every time they start the game? I certainly don’t.

So I added this to the launch options for Bioshock, on steam

  • -nointro

Started the game, no issues. Set my resolution to max, changed my audio to 7.1 (to suit my Logitech G930) and off I went to Rapture!

No other changes, no compatibility mode, no run as administrator, no additional drivers (I’m not using / have never used OpenAL, Rapture3D) installed and no changes to Bioshock configuration files.

Of course, if you have a non-steam version of the game, you could create a shortcut to the bioshock.exe file and add -nointro to the end of the Target line, in the properties of the shortcut and start the game from the shortcut. Did I mention the word shortcut ;-P

This may not work for everyone, as I’ve seen some really ridiculous fixes (seriously, stuff that just doesn’t make sense, like plugging headphones into the microphone port) apparently get Bioshock working for others, so consider this solution to be just as crazy as all the others.

Happy to provide assistance with this solution in the comments. Have fun!

I recently needed to be able to use the Cisco VPN Client (I’m specifically referring to version: 5.0.07.0410 on 32bit Windows and version: 5.0.07.0440 on 64bit Windows, although this fix would apply to earlier versions as well) on my Windows 8.1 (32bit Windows) tablet (Acer Iconia), but was not able to connect to my remote VPN endpoint. I kept getting the this error: Reason 440: Driver Failure. I searched this error in Google and tried all sorts of fixes and patches and things from articles everywhere. No matter what I tried (for hours on end), the error message was always the same. Eventually, I just gave up.

Today, I decided to have one more look at the issue. I realized I hadn’t looked somewhere quite obvious; The Windows Event Viewer. Sure enough, under Windows Logs –> System, I found the following error message:

The Cisco Systems Inc. IPSec Driver service failed to start due to the following error: 
Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.

So, to put it simply, Windows Driver Signature Enforcement (DSE) was at fault. Not the software VPN Client, not DNE, not the drivers, not Windows Update, and not having other VPN clients installed. It was simply DSE.

I tried disabling DSE (and that might be all you have to do), but it turned out I had to go one step further, because I couldn’t disable DSE.

Why?

Well, my tablet has something called ‘Secure Boot’ enabled. When I tried disabling DSE, I received a message telling me it wasn’t possible to disable it because I have Secure Boot enabled. So I did a quick search on how to Disable Secure Boot. I’d gone looking for the setting previously, but couldn’t find it because I had to set a user / system password in the BIOS first. After I set a password, voila! The Secure Boot setting appeared! After disabling Secure Boot, I started Windows 8.1 and was immediately able to use the Cisco VPN Client to connect to my remote VPN endpoint. I didn’t even need to re-install it.

Note: I’m not discrediting all the other articles on the internet and all their work arounds and fixes. They just simply didn’t work for me. If you’re system doesn’t have Secure Boot, than this fix won’t work for you. You’ll either need to disabled DSE or find another solution.

The thing that caught me up, was that I have another PC with Windows 8.1 on it, and all I had to do was install the Cisco VPN client and connect. It just worked straight out of the box. No fixes required. The only difference (other than it being a PC) was that it doesn’t have Secure Boot (older BIOS).

This guide is specifically for setting up Hyper-V Replica between two Windows 2012 (not Windows 2012 R2) servers in Workgroup mode (not joined to a domain) using SSL/HTTPS over port 443 (not PLAIN/HTTP over port 80) and focuses on the configuration of the SSL certificates.

Note: PrimaryServer is the server with the VM that we want to replicate. SecondaryServer is the server that will host the replica of the VM.

  1. Disable Windows Firewall on both servers (or at least allow port 80 and port 443 inbound on both servers)
  2. Make sure the user account you are setting up Hyper-V replica as, exists as member of the Administrators group on both servers, with the same password!
    1. For simplicity sake, you could use the Administrator account, with the same password on both servers.
  3. Add entries to the c:windowssystem32driversetchosts file as follows
    1. IP-Address Hostname. For example:
      1. 192.168.1.1 PrimaryServer
      2. 192.168.1.2 SecondaryServer
    2. Do this step on both servers. You should be able to ping both hostnames from both servers without using an IP Address (using the hostname instead).
  4. Download MakeCert on to both machines. You can download it here.
  5. Open a command prompt on the PrimaryServer (not powershell) and run the following commands in the makecert directory
    1. makecert -pe -n "CN=PrimaryServerRootCA" -ss root -sr LocalMachine -sky signature -r "PrimaryServerRootCA.cer"
    2. makecert -pe -n "CN=PrimaryServerHostName" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "PrimaryServerRootCA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 PrimaryServer.cer
  6. Open a command prompt on the SecondaryServer (not powershell) and run the following commands in the makecert directory
    1. makecert -pe -n "CN=SecondaryServerRootCA" -ss root -sr LocalMachine -sky signature -r "SecondaryServerRootCA.cer"
    2. makecert -pe -n "CN=SecondaryServerHostName" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "SecondaryServerRootCA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 SecondaryServer.cer
  7. Copy the PrimaryServerRootCA.cer file from the makecert directory on the PrimaryServer to the makecert directory on the SecondaryServer
  8. Copy the SecondaryServerRootCA.cer file from the makecert directory on the SecondaryServer to the makecert directory on the PrimaryServer
  9. Open a command prompt on the PrimaryServer (not powershell) and run the following commands in the makecert directory
    1. certutil -addstore -f Root "SecondaryServerRootCA.cer"
    2. reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionVirtualizationReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
    3. reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionVirtualizationFailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
  10. Open a command prompt on the SecondaryServer (not powershell) and run the following commands in the makecert directory
    1. certutil -addstore -f Root "PrimaryServerRootCA.cer"
    2. reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionVirtualizationReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
    3. reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionVirtualizationFailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
  11. You can now follow the steps here: http://technet.microsoft.com/en-us/library/jj134207.aspx to set up Hyper-V Replica on Windows Server 2012 (skip over the SSL certificate stuff, you just did that). Ignore the Hyper-V Replica Broker detail. If you’re clever enough to be setting up a Hyper-V Replica Cluster with a Broker, you don’t need to be reading this guide 😉
    1. For the rest of us, proceed as follows:
      1. http://technet.microsoft.com/en-us/library/jj134153.aspx  – Prepare to Deploy Hyper-V Replica (skip sections 1.4 and 1.5).
      2. http://technet.microsoft.com/en-us/library/jj134240.aspx – Enable Replication (skip section 2.2)
      3. http://technet.microsoft.com/en-us/library/jj134165.aspx – Test the Replication Deployment
      4. http://technet.microsoft.com/en-us/library/jj134194.aspx – Perform a Planned Failover
      5. http://technet.microsoft.com/en-us/library/jj134169.aspx – Respond to an Unplanned Failover

A little while ago I purchased a Nokia Lumia 920 with Windows Phone 8 (currently the Amber release). The phone itself is great, but I had a problem with the Windows Phone WordPress app, it wouldn’t upload or post any content that contained an image.

  • Phone: Nokia Lumia 920
  • OS: Windows Phone 8 (amber – Australia)
  • Connectivity: WiFi and 3G/4G
  • Problem: WordPress App won’t complete submission of a post or page that contains an image.
  • Server: Xen VDS hosted on Amazon AWS with Amazon Linux (Amazon’s version of CentOS 6)

In case it’s not obvious, the WordPress blog I was experiencing the problem with is a self hosted installation. We can assume I installed it and set it up correctly 😉

(for sake of this post, I have replaced all references to the host with ‘mokonamodoki.com’).

Whenever I attempted to submit a page or post that contained an image, I would get the follow error message:

Media Upload Error

The remote server returned an error: NotFound

Yes, extremely helpful. I knew what the solution was immediately. Thank you, Microsoft!

I tried all sorts of tricks. PHP settings,  Apache settings, and WordPress settings. Nothing worked. What frustrated me even more; was that the iOS app worked fine! Something I did notice, was that the iOS app uploads images separately, and not as part of the post content… this got me thinking.

Is the problem the Windows Phone WordPress app or is the problem the server?

Read More →