2 Instructions to build Bacula with Microsoft Visual C++ 2005 Express Edition (free version).
5 What you need to download:
6 - Visual C++ 2005 Express Edition (2MB + 66MB)
7 http://msdn.microsoft.com/vstudio/express/visualc/download/
8 NOTE: You may want to download the whole CD for offline usage
9 instead of the web installer, as Microsoft will
10 start to charge for VC++ one year after the product launch
11 (launch was in November 2005, see VC++ FAQ).
13 - Windows® Server 2003 SP1 Platform SDK Full Download (385MB)
14 http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
15 NOTE: choose "Full Download" version on the bottom of that page.
17 - wxWidgets for Win32 (17MB) (exe file)
18 http://www.wxwidgets.org/dl_msw2.htm#stable
20 - gettext packages (2MB)
21 + http://mirror.switch.ch/ftp/mirror/gnu/gettext/gettext-runtime-0.13.1.bin.woe32.zip
22 + http://mirror.switch.ch/ftp/mirror/gnu/gettext/gettext-tools-0.13.1.bin.woe32.zip
23 + http://mirror.switch.ch/ftp/mirror/gnu/libiconv/libiconv-1.9.1.bin.woe32.zip
25 - Bacula source files:
26 + deppkgs-win32 from SF download page (extracted in <dev dir>/deppkgs-win32)
27 + latest source from the CVS (maybe you want to use mingw-msys to checkout them) (in <dev dir>/bacula)
29 Installation instructions:
30 - Visual C++ Express Edition Beta 2:
32 + When asked for Installation Options, only check "Graphical IDE" (MSDN Library is NOT needed).
33 + Remember where you install it (e.g. E:\Microsoft Visual Studio 8\)
35 - Windows® Server 2003 SP1 Platform SDK Full Download
36 + Run psdk-full.exe, type the directory where you downloaded the cab files.
37 + In a command prompt, run "PSDK-full.bat <temp directory>" (e.g. "PSDK-full.bat E:\temp")
38 + Run <temp directory>\setup.exe
39 + When asked for the installation directory, choose <vc++ install dir>\VC\PlatformSDK
40 (e.g. E:\Microsoft Visual Studio 8\VC\PlatformSDK\)
41 + When asked for components, you can safely remove documentation, samples, and all 64-bit tools and libs if you want to save disk space.
44 + extract them all in <dev dir>/deppkgs-win32/gettext
47 + delete <dev dir>/deppkgs-win32/wx directory
48 + run wxMSW-2.6.1-Setup.exe, and install it to <dev dir>/deppkgs-win32/wx
53 You need 7-Zip, dlltool, nasm, patch, perl, sed, wget
66 + Start VC++ 2005 command prompt (in the start menu)
67 + run "<vc++ install dir>\VC\PlatformSDK\SetEnv.Cmd"
68 + cd <dev dir>/deppkgs-win32/zlib
69 + run "nmake -f win32\Makefile.msc" (don't worry about the warnings)
70 + cd <dev dir>/deppkgs-win32/pthreads
71 + run "nmake clean VCE" (again, don't worry about the warnings)
72 + (note pthreadVCE.dll has been created in this directory)
74 + Open <dev dir>\depkgs-win32\wx\build\msw\wx.dsw in VC++ 2005
75 + Click on "Yes to all"
76 + In the solution explorer, open core/Setup Headers/setup.h and add, at the end of the file (before the last #endif):
77 #if (_MSC_VER >= 1400) // VC8+
78 #pragma warning(disable : 4996) // Either disable all deprecation warnings,
79 // #define _CRT_SECURE_NO_DEPRECATE // Or just turn off warnings about the newly deprecated CRT functions.
81 This is not absolutely necessary, but this will remove annoying warnings.
83 + Launch Build->Configuration Manager, then select "Unicode Release"
84 and close this window. Then run Build->Build Solution.
85 + If the build of wx-console fails, try removing the comments around
86 #ifndef (line 145) and #endif (line 147) in file:
87 <dev dir>/bacula/src/win32/compat/compat.h
88 + Repeat the operation for the "Unicode Debug" configuration if needed.
89 + Open <dev dir>/bacula/src/win32/bacula.sln
90 + Launch Build->Configuration Manager, then select your configuration.
91 + Then run Build->Build Solution (this will build wx-console, bconsole
96 + To deploy bacula on Windows clients, create a setup using NSIS
97 (Nullsoft Scriptable Install System).
98 http://nsis.sourceforge.net/Download
99 + Modify the default <dev dir>\bacula\src\win32\winbacula.nsi.in
100 script to include your own customizations.
101 These are the required modifications:
103 * Remove all references to msvcr71.dll, as this is a pre VC++ 2005 library.
104 * VC++ 2005 compiled binaries require a new way of deploying DLLs: WinSxS.
105 More info: http://blogs.msdn.com/nikolad/archive/2005/03/18/398720.aspx
106 Collect the following 4 files from c:\WINDOWS\WinSxS and copy them into the
107 directory where winbacula.nsi resides. Also add them to winbacula.nsi where
108 msvcr71.dll was previously.
113 File Microsoft.VC80.CRT.manifest
115 Modify Microsoft.VC80.CRT.manifest to match the version number mentioned in
116 bacula-fd.exe.intermediate.manifest that is in /bacula/src/win32/baculafd/Release.