diff options
3 files changed, 37 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index afaf521..8683d58 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2008-01-07 Richard Jones <>
+ Include required libraries in the Windows installer.
+ * wininstaller.nsis: Include *.dll files.
Windows installer.
*, Add --with-nsis[=path/to/nsis] and
call out to 'makensis.exe'.
diff --git a/README b/README
index 3bcaa7e..02be231 100755
--- a/README
+++ b/README
@@ -92,6 +92,22 @@ I have built libvirt (the bindings), examples, mlvirsh and
mlvirtmanager on Windows using the MinGW port of OCaml. It's quite
likely that it will also work under VC++, but I have not tested this.
+You should make sure that your $PATH (environment variable) contains
+the names of the directories containing all required DLLs, in
+particular you will require:
+ libvirt-*.dll (from libvirt)
+ libgnutls-*.dll (from GnuTLS)
+ libgcrypt-*.dll
+ libgpg-error-*.dll
+ libtasn1-*.dll
+ libxdr.dll (from libxdr)
+ libxml2-*.dll (from libxml2)
+ and, a multitude of DLLs from GTK if you want to run mlvirtmanager
+You can use a tool such as Dependency Walker to find/check the
+locations of dependent libraries.
To build the Windows installer, you will need NSIS. Then do:
./configure --with-nsis=/c/Progra~1/NSIS
diff --git a/wininstaller.nsis b/wininstaller.nsis
index e3c8fd9..0ffba5c 100755
--- a/wininstaller.nsis
+++ b/wininstaller.nsis
@@ -57,13 +57,20 @@ ComponentText "This will install OCaml libvirt bindings, dependent libraries and
# Title for the install directory page.
DirText "Please select the installation folder."
-# Installer section.
-Section "OCaml Libvirt bindings (required)"
+# Installer sections.
+Section "Libvirt and its libraries (required)"
+ # Make this required.
SectionIn RO
-Section "Libraries (required)"
- SectionIn RO
+ SetOutPath $INSTDIR
+ # XXX Get these paths automatically.
+ File "c:\msys\1.0\local\bin\libvirt-?.dll"
+ File "c:\msys\1.0\local\bin\libxdr.dll"
+ File "c:\msys\1.0\local\bin\libxml2-?.dll"
+ File "c:\gnutls\bin\libgcrypt-??.dll"
+ File "c:\gnutls\bin\libgnutls-??.dll"
+ File "c:\gnutls\bin\libgpg-error-?.dll"
+ File "c:\gnutls\bin\libtasn1-?.dll"
Section "Programs (recommended)"
@@ -71,6 +78,10 @@ Section "Programs (recommended)"
File "/oname=mlvirsh.exe" "mlvirsh\mlvirsh.opt"
+Section "OCaml Libvirt bindings (for developers only)"
+ # XXX Need to find out where Objective CAML is installed.
Section "Start Menu Shortcuts"
CreateDirectory "$SMPROGRAMS\${PACKAGE}"
CreateShortCut "$SMPROGRAMS\${PACKAGE}\Uninstall.lnk" "$INSTDIR\Uninstall ${PACKAGE}.exe" "" "$INSTDIR\Uninstall ${PACKAGE}.exe" 0
@@ -91,8 +102,8 @@ Section "Uninstall"
# Files in installation directory.
- Delete /rebootok "$INSTDIR\mlvirsh.exe"
- Delete /rebootok "$INSTDIR\Uninstall ${PACKAGE}.exe"
+ Delete /rebootok "$INSTDIR\*.exe"
+ Delete /rebootok "$INSTDIR\*.dll"