]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/README.vc8
Update the Microsoft Visual Studio build to match the MinGW32 build.
[bacula/bacula] / bacula / src / win32 / README.vc8
1
2 Instructions to build Bacula with Microsoft Visual C++ 2005 Express Edition (free version).
3 ---
4
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).
12
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.
16
17 - wxWidgets for Win32 (17MB) (exe file)
18   http://www.wxwidgets.org/dl_msw2.htm#stable
19
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
24
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)
28
29 Installation instructions:
30  - Visual C++ Express Edition Beta 2:
31    + Run vcsetup.exe.
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\)
34
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.
42
43  - gettext packages
44    + extract them all in <dev dir>/deppkgs-win32/gettext
45
46  - wxWidgets for Win32
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
49
50 Build instructions:
51  - deppkgs:
52
53    You need 7-Zip, dlltool, nasm, patch, perl, sed, wget
54
55    build-depkgs
56       Builds
57          libz
58          mt
59          mtx
60          mysql
61          openssl
62          postgreSQL
63          pthreads
64          wxWidgets
65
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)
73  - wxWidgets:
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.
80 #endif // VC8+
81      This is not absolutely necessary, but this will remove annoying warnings.
82
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 
92      and bacula-fd).
93
94 Deploy instructions
95  - Bacula:
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:
102      
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.
109        
110        File msvcm80.dll
111        File msvcp80.dll
112        File msvcr80.dll
113        File Microsoft.VC80.CRT.manifest
114        
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.
117