diff --git a/appveyor.yml b/appveyor.yml
index 24a46f71f305a8c8eb55f273b685c2f8632a5f50..33210cb61fdbb32e653fe7414a1e6eb0deceb418 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -6,31 +6,49 @@ environment:
     CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\ci\\appveyor\\run_with_env.cmd"
 
   matrix:
-    - PYTHON: "C:\\Python34_64"
+    - PYTHON: "C:\\Python35_64"
       PYTHON_VERSION: "3.5"
       PYTHON_ARCH: "64"
-      CONDA_PY: "34"
+      CONDA_PY: "35"
       CONDA_NPY: "18"
+      QTDIR: "C:\\Qt\\5.6\\5.6\\msvc2015_64"
+      QDOWNLOAD: "http://download.qt.io/development_releases/qt/5.6/5.6.0-beta/qt-opensource-windows-x86-msvc2015_64-5.6.0-beta.exe"
+      QINSTALLER: "qt-opensource-windows-x86-msvc2015_64-5.6.0-beta.exe"
       platform: x64
 
-    - PYTHON: "C:\\Python34_32"
+    - PYTHON: "C:\\Python35_32"
       PYTHON_VERSION: "3.5"
       PYTHON_ARCH: "32"
-      CONDA_PY: "34"
+      CONDA_PY: "35"
       CONDA_NPY: "18"
+      QTDIR: "C:\\Qt\\5.6\\5.6\\msvc2015"
+      QDOWNLOAD: "http://download.qt.io/development_releases/qt/5.6/5.6.0-beta/qt-opensource-windows-x86-msvc2015-5.6.0-beta.exe"
+      QINSTALLER: "qt-opensource-windows-x86-msvc2015-5.6.0-beta.exe"
       platform: x86
 
 install:
   # this installs the appropriate Miniconda (Py2/Py3, 32/64 bit),
   # as well as pip, conda-build, and the binstar CLI
   - powershell .\\ci\\appveyor\\install.ps1
+
+  - IF NOT EXIST C:\Qt\5.6\5.6 curl -kLO %QDOWNLOAD%
+  - IF NOT EXIST C:\Qt\5.6\5.6 %QINSTALLER% --script ci\appveyor\qt-installer-noninteractive.qs
+  # - dir /b /s /ad c:\Qt
+  - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
+  - "IF EXIST %QTDIR%\\include\\QtNfc MOVE %QTDIR%\\include\\QtNfc %QTDIR%\\include\\QtNfc-disable"
+  # Add qt to path
+  - "set PATH=%QTDIR%\\bin;%PATH%"
+
   - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
-  - "SET QT_QPA_PLATFORM_PLUGIN_PATH=%PYTHON%\\envs\\test-environment\\Scripts\\plugins"
+  - "SET QT_QPA_PLATFORM_PLUGIN_PATH=C:\\Qt\\5.6\\5.6\\msvc_2015\\plugins\\platforms"
   - choco install -y vcredist2015
   - "%CMD_IN_ENV% conda config --set always_yes yes --set changeps1 no"
   - "%CMD_IN_ENV% conda config --add channels inso/channel/sakia"
   - "%CMD_IN_ENV% conda create -q -n test-environment python=%PYTHON_VERSION% pyqt5 libsodium=1.0.3"
 
+cache:
+  - C:\Qt\5.6\5.6
+
 build_script:
   - ".\\ci\\appveyor\\build.cmd"
 
diff --git a/ci/appveyor/qt-installer-noninteractive.qs b/ci/appveyor/qt-installer-noninteractive.qs
new file mode 100644
index 0000000000000000000000000000000000000000..9df892cdb83b2576853b6e9be5697dc049f3c04e
--- /dev/null
+++ b/ci/appveyor/qt-installer-noninteractive.qs
@@ -0,0 +1,56 @@
+// Emacs mode hint: -*- mode: JavaScript -*-
+
+function Controller() {
+    installer.autoRejectMessageBoxes();
+    installer.installationFinished.connect(function() {
+        gui.clickButton(buttons.NextButton);
+    })
+}
+
+Controller.prototype.WelcomePageCallback = function() {
+    gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.CredentialsPageCallback = function() {
+    gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.IntroductionPageCallback = function() {
+    gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.TargetDirectoryPageCallback = function()
+{
+    gui.currentPageWidget().TargetDirectoryLineEdit.setText("C:\\Qt\\5.6");
+    gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.ComponentSelectionPageCallback = function() {
+    //var widget = gui.currentPageWidget();
+
+    //widget.selectAll();
+
+    gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.LicenseAgreementPageCallback = function() {
+    gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true);
+    gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.StartMenuDirectoryPageCallback = function() {
+    gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.ReadyForInstallationPageCallback = function()
+{
+    gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.FinishedPageCallback = function() {
+var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm
+if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) {
+    checkBoxForm.launchQtCreatorCheckBox.checked = false;
+}
+    gui.clickButton(buttons.FinishButton);
+}