4 <h1 >Windows support
</h1>
9 Libvirt is known to work as a client (not server) on Windows XP
10 (
32-bit), and Windows
7 (
64-bit). Other Windows variants likely work
11 as well but we either haven't tested or received reports for them.
14 <h2><a name=
"installer">Experimental installation package
</a></h2>
17 A windows installation package is in development. An experimental
18 version is available here:
21 <a href=
"http://libvirt.org/sources/win32_experimental/Libvirt-0.8.8-0.exe">http://libvirt.org/sources/win32_experimental/Libvirt-
0.8.8-
0.exe
</a>
24 <b>It is not production ready.
</b>
28 This version includes the libvirt development headers and libraries
29 for compiling against, the virsh shell with its needed dependencies,
30 and untested Python bindings.
33 <h3><a name=
"caveats">Caveats
</a></h3>
37 This installer just repackages the files compiled using Matthias
38 Bolte's msys_setup scripting (described below).
41 This is a .exe installer, created using NSIS. We're looking into
42 something to create .msi installers as well.
45 The script for the NSIS installer is available online
46 <a href=
"https://github.com/justinclift/nsis_libvirt_installer">here
</a>.
50 <h3><a name=
"knowninstallerprobs">Existing problems with this installer we know about
</a></h3>
53 These are problems we know about, and need to be fixed in subsequent
54 versions of the installer (assistance welcomed):
59 New versions install over other libvirt versions
61 If a version of this installer has installed libvirt on the system
62 already, this installer will automatically suggest the same
63 installation location, then overwrite the version already there
66 This is fairly non-optimal, and should be fixed. What should
67 probably happen, is for this installer to detect an existing
68 installation then offer to either uninstall it first or ask for a
69 new installation location.
75 <h2><a name=
"conntypes">Connection types
</a></h2>
78 These connection types are known to work:
82 <li>QEMU with TLS (qemu+tls://)
</li>
83 <li>QEMU with direct TCP (qemu+tcp://)
</li>
84 <li>VMware ESX (esx://)
</li>
85 <li>VMware VPX (vpx://)
</li>
89 These connection types are known not to work:
93 <li>QEMU with SSH (qemu+ssh://)
</li>
97 All other connection types may or may not work, and haven't been
102 Please let us know either the results (either way) if you do.
106 <b>Special note
</b> - Support for VirtualBox *on windows* was added in
107 libvirt
0.8.7, so reports on success and failure if you're using that
108 would be really helpful and appreciated.
112 <b>WARNING - The qemu+tcp:// connection type passes all traffic
113 without encryption. This is a security hazard, and should
<i>not
</i>
114 be used in security sensitive environments.
</b>
117 <h2><a name=
"esx">Connecting to VMware ESX/vSphere
</a></h2>
120 Details on the capabilities, certificates, and connection string
121 syntax used for connecting to VMware ESX and vSphere can be found
125 <a href=
"http://libvirt.org/drvesx.html">http://libvirt.org/drvesx.html
</a>
127 <h2><a name=
"tlscerts">TLS Certificates
</a></h2>
130 TLS certificates need to have been created and placed in the correct
131 locations, before you will be able to connect to QEMU servers over
136 Information on generating TLS certificates can be found here:
139 <a href=
"http://wiki.libvirt.org/page/TLSSetup">http://wiki.libvirt.org/page/TLSSetup
</a>
142 These instructions are for *nix, and have not yet been adapted for
143 Windows. You'll need to figure out the Windows equivalents until
144 that's done (sorry). If you can help us out with this, that would be
149 The locations of the TLS certificates and key file on Windows are hard
150 coded, rather than being configurable.
154 The Certificate Authority (CA) certificate file must be placed in:
158 <li>%APPDATA%\libvirt\pki\CA\cacert.pem
</li>
162 The Client certificate file must be placed in:
166 <li>%APPDATA%\libvirt\pki\libvirt\clientcert.pem
</li>
170 The Client key file must be placed in:
174 <li>%APPDATA%\libvirt\pki\libvirt\private\clientkey.pem
</li>
178 On an example Windows
7 x64 system here, this resolves to these paths:
182 <li>C:\Users\someuser\AppData\Roaming\libvirt\pki\CA\cacert.pem
</li>
183 <li>C:\Users\someuser\AppData\Roaming\libvirt\pki\libvirt\clientcert.pem
</li>
184 <li>C:\Users\someuser\AppData\Roaming\libvirt\pki\libvirt\private\clientkey.pem
</li>
187 <h2><a name=
"feedback">Feedback
</a></h2>
190 Feedback and suggestions on changes to make and what else to include
191 <a href=
"contact.html">are desired
</a>.
194 <h2><a name=
"compiling">Compiling yourself
</a></h2>
197 Libvirt can be compiled on Windows using the free
198 <a href=
"http://www.mingw.org/">MinGW compiler
</a>.
201 <h3><a name=
"msys_setup">MSYS Build script
</a></h3>
204 The easiest way is to use the
<b>msys_setup
</b> script, developed by
205 Matthias Bolte. This is actively developed and kept current with
209 <a href=
"https://github.com/photron/msys_setup">https://github.com/photron/msys_setup
</a>
211 <h3><a name=
"cross-compile">Cross compiling
</a></h3>
214 You can also cross-compile to a Windows target from a Fedora machine
215 using the packages available
216 <a href=
"http://hg.et.redhat.com/misc/fedora-mingw--devel/">from the Fedora MinGW project
</a>
217 (which includes a working libvirt specfile).
220 <h3><a name=
"configure">By hand
</a></h3>
223 Use these options when following the instructions on the
224 <a href=
"compiling.html">Compiling
</a> page.