diff --git a/README.md b/README.md
index 33670eb..15e0368 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
 A library to reflect on the local pub cache.
 
 [![Build Status](https://travis-ci.org/dart-lang/pub_cache.svg)](https://travis-ci.org/dart-lang/pub_cache)
+[![Build status](https://ci.appveyor.com/api/projects/status/w75vsabfhgmo93hq/branch/master?svg=true)](https://ci.appveyor.com/project/devoncarew/pub-cache/branch/master)
 [![Coverage Status](https://img.shields.io/coveralls/dart-lang/pub_cache.svg)](https://coveralls.io/r/dart-lang/pub_cache?branch=master)
 
 ## Features and bugs
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..337f9c4
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,17 @@
+# Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+install:
+  - cinst -y dart-sdk
+  - ps: $env:PATH = "$env:PATH;c:\tools\dart-sdk\bin"
+  - ps: $env:PATH = "$env:PATH;c:\Users\appveyor\AppData\Roaming\Pub\Cache\bin"
+  - pub get
+
+build: off
+
+test_script:
+  - dartanalyzer --fatal-warnings example\list.dart lib\pub_cache.dart test\all.dart
+  # We need at least one activated application for our test suite.
+  - pub global activate dart_coveralls
+  - dart test\all.dart
diff --git a/test/pub_cache_test.dart b/test/pub_cache_test.dart
index a15ba4d..3c6ac53 100644
--- a/test/pub_cache_test.dart
+++ b/test/pub_cache_test.dart
@@ -10,21 +10,21 @@
 import 'package:pub_cache/pub_cache.dart';
 import 'package:unittest/unittest.dart';
 
-void main() => defineTests();
-
 void defineTests() {
+  final String cacheDirName = Platform.isWindows ? 'Cache' : 'pub-cache';
+
   group('PubCache', () {
     test('getSystemCacheLocation', () {
       Directory cacheDir = PubCache.getSystemCacheLocation();
       expect(cacheDir, isNotNull);
-      expect(path.basename(cacheDir.path), contains('pub-cache'));
+      expect(path.basename(cacheDir.path), contains(cacheDirName));
     });
 
     test('PubCache', () {
       PubCache cache = new PubCache();
       expect(cache, isNotNull);
       expect(cache.location, isNotNull);
-      expect(path.basename(cache.location.path), contains('pub-cache'));
+      expect(path.basename(cache.location.path), contains(cacheDirName));
     });
 
     test('getBinaries', () {
