int ch;
    int token = T_NONE;
    bool esc_next = false;
+   int unicode_count = 0;
 
    Dmsg0(dbglvl, "enter lex_get_token\n");
    while (token == T_NONE) {
             lf->state = lex_include;
             begin_str(lf, 0);
             break;
+         case 0xEF:
+            if (lf->line_no != 1 || lf->col_no != 1)
+            {
+               lf->state = lex_string;
+               begin_str(lf, ch);
+               break;
+            }
+            lf->state = lex_unicode_mark;
+            unicode_count = 1;
+            break;
          default:
             lf->state = lex_string;
             begin_str(lf, ch);
          }
          add_str(lf, ch);
          break;
+      case lex_unicode_mark:
+         if (ch == L_EOF) {
+            token = T_ERROR;
+            break;
+         }
+         unicode_count++;
+         if (unicode_count == 2) {
+            if (ch != 0xBB) {
+               token = T_ERROR;
+               break;
+            }
+         } else if (unicode_count == 3) {
+            if (ch != 0xBF) {
+               token = T_ERROR;
+               break;
+            }
+            token = T_UNICODE_MARK;
+            lf->state = lex_none;
+            break;
+         }
+         break;
       }
       Dmsg4(dbglvl, "ch=%d state=%s token=%s %c\n", ch, lex_state_to_str(lf->state),
         lex_tok_to_str(token), ch);
 
 #define T_COMMA                       111
 #define T_EOL                         112
 #define T_ERROR                       200
+#define T_UNICODE_MARK                201
+
 /*
  * The following will be returned only if
  * the appropriate expect flag has been set
    lex_identifier,
    lex_string,
    lex_quoted_string,
-   lex_include
+   lex_include,
+   lex_unicode_mark
 };
 
 /* Lex scan options */
 
             if (token == T_EOL) {
                break;
             }
+            if (token == T_UNICODE_MARK) {
+               break;
+            }
             if (token != T_IDENTIFIER) {
                scan_err1(lc, _("Expected a Resource name identifier, got: %s"), lc->str);
                return 0;
                }
             if (state == p_none) {
                scan_err1(lc, _("expected resource name, got: %s"), lc->str);
-          return 0;
+               return 0;
             }
             break;
          case p_resource:
 
 #MT|ftp://ftp.ibiblio.org/pub/linux/system/backup/mt-st-0.9b.tar.gz
 MT|http://www.ibiblio.org/pub/linux/system/backup/mt-st-0.9b.tar.gz
 SED|ftp://mirrors.kernel.org/gnu/sed/sed-4.1.5.tar.gz
+STAB2CV|http://superb-west.dl.sourceforge.net/sourceforge/stab2cv/stab2cv-0.1.tar.bz2
 
                 rm -rf ${SRC_DIR}
                 [ "${MAKE_DIR}" = "true" ] && mkdir ${SRC_DIR} && cd ${SRC_DIR}
                 echo Extracting ${ARCHIVE}
-                ${ARCHIVER} ${ARCHIVE} &> ${ARCHIVE}.log
+                ${ARCHIVER} ${ARCHIVE} 2>&1 > ${ARCHIVE}.log
                 cd ${SRC_DIR}
                 return 0
         fi
                             --host=mingw32 \
                             --prefix=${DEPPKG_DIR} \
                             --enable-utf8 \
-                            --enable-unicode-properties &>make.log
+                            --enable-unicode-properties 2>&1 >make.log
         fi
         echo Building PCRE
         do_make Makefile PREFIX=${DEPPKG_DIR} all
                             shared zlib-dynamic \
                             threads \
                             --with-zlib-include=${DEPPKG_DIR}/include \
-                            mingw32 &> make.log
+                            mingw32 2>&1 > make.log
         fi
         echo Building openssl
         perl util/mkdef.pl 32 libeay no-static-engine >ms/libeay32.def
 {
         get_source "${URL_SCONS}" "${DIR_SCONS}" "${MKD_SCONS}"
         echo Installing scons
-        if python setup.py install --prefix=${DEPPKG_DIR}/scons &> make.log
+        if python setup.py install --prefix=${DEPPKG_DIR}/scons 2>&1 > make.log
         then
                 :
         else
                 echo Configuring sed
                 ./configure --host=mingw32 \
                             --prefix=${DEPPKG_DIR} \
-                            --disable-nls &>make.log
+                            --disable-nls 2>&1 >make.log
         fi
         echo Building sed
         do_make Makefile all
         do_make Makefile install
 }
 
+process_stab2cv()
+{
+        if get_source "${URL_STAB2CV}" "${DIR_STAB2CV}" "${MKD_STAB2CV}"
+        then
+                # echo Patching stab2cv
+                # >patch.log
+                # do_patch stab2cv.patch
+                echo Configuring stab2cv
+                ./configure --prefix=${DEPPKG_DIR}/tools \
+                            2>&1 >make.log
+        fi
+        echo Building stab2c
+        do_make Makefile 
+        echo Installing stab2c
+        do_make Makefile install
+}
+
 if [ "$#" -eq 0 ]
 then
         process_zlib
         process_mtx
         process_mt
         process_sed
+        process_stab2cv
 else
         for dependency in "$@"
         do
 
       pExeEnd = current;
    }
 
+   if (*pargs == NULL)
+   {
+      *pargs = current;
+   }
+
    bool bHasPathSeparators = pExeStart != pBasename;
 
    /* We have pointers to all the useful parts of the name */
 
 $(BINDIR)/bacula-dir.exe: $(DIRD_OBJS) $(LIBS_CATS) $(LIBS_BACULA)
        $(call link_winapp,$(DIRD_LIBS))
 
-$(OBJDIR)/winres.res: ../libwin32/winres.rc
+$(OBJDIR)/winres.res: winres.rc
        $(WINDRES) $(INCLUDE_ICONS) -O coff $< -o $@
 
 include ../Makefile.rules
 
                                Name="VCResourceCompilerTool"\r
                                PreprocessorDefinitions="_DEBUG"\r
                                Culture="1033"\r
+                               AdditionalIncludeDirectories="../libwin32"\r
                        />\r
                        <Tool\r
                                Name="VCPreLinkEventTool"\r
                        Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"\r
                        UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
                        >\r
+                       <File\r
+                               RelativePath="..\libwin32\bacula.bmp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\libwin32\bacula.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\winres.rc"\r
+                               >\r
+                       </File>\r
                </Filter>\r
        </Files>\r
        <Globals>\r
 
--- /dev/null
+#include <winuser.h>
+#include <winver.h>
+#include "winres.h"
+#include "../../version.h"
+
+/* NB: Internationalization of this file will require some work... */
+#define N_(s) s
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icons
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_BACULA              ICON    "bacula.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,1,0,0
+ PRODUCTVERSION 1,1,0,0
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0 //
+#endif
+ FILEOS VOS_NT_WINDOWS32
+ FILETYPE VFT_APP
+ FILESUBTYPE 0
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904E0" // Lang=US English, CharSet=Windows Multiligual
+        BEGIN
+            VALUE "Comments", "by Kern Sibbald\0"
+            VALUE "CompanyName", "            \0"
+            VALUE "FileDescription", "Bacula Director for Win32\0"
+            VALUE "FileVersion", VERSION "\0"
+            VALUE "InternalName", "Bacula\0"
+            VALUE "LegalCopyright", "Copyright Kern Sibbald, 1999-2006\0"
+            VALUE "LegalTrademarks", "Licensed under GNU GPL 2.0\0"
+            VALUE "OriginalFilename", "bacula-fd.exe\0"
+            VALUE "PrivateBuild", "\0"
+            VALUE "ProductName", "Bacula - Win32 Version\0"
+            VALUE "ProductVersion", VERSION
+            VALUE "SpecialBuild", "\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1252 // US English, Multilingual
+    END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+IDB_BACULABMP           BITMAP  DISCARDABLE     "bacula.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE 
+BEGIN
+    IDI_BACULA              "Bacula"
+END
 
        -lole32 \
        -loleaut32 \
        -lwsock32 \
-       -luuid
+       -luuid \
+       -lcomctl32
 
 ######################################################################
 
 
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
+  <assemblyIdentity 
+    version="1.0.0.0" 
+    processorArchitecture="X86" 
+    name="Bacula.Bacula-fd" 
+    type="win32" /> 
+  <description>Bacula File daemon for Win32</description> 
+  <dependency> 
+    <dependentAssembly> 
+      <assemblyIdentity 
+        type="win32" 
+        name="Microsoft.Windows.Common-Controls" 
+        version="6.0.0.0" 
+        processorArchitecture="X86" 
+        publicKeyToken="6595b64144ccf1df" 
+        language="*" /> 
+    </dependentAssembly> 
+  </dependency> 
+</assembly> 
+
 
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="pthreadVCE.lib zlib.lib wsock32.lib atlsd.lib"\r
+                               AdditionalDependencies="pthreadVCE.lib zlib.lib comctl32.lib wsock32.lib atlsd.lib"\r
                                OutputFile="$(OutDir)\bacula-fd.exe"\r
                                LinkIncremental="0"\r
                                SuppressStartupBanner="true"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="pthreadVCE.lib zlib.lib wsock32.lib atls.lib"\r
+                               AdditionalDependencies="pthreadVCE.lib zlib.lib wsock32.lib comctl32.lib atls.lib"\r
                                OutputFile="$(OutDir)\bacula-fd.exe"\r
                                LinkIncremental="0"\r
                                SuppressStartupBanner="true"\r
                        Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"\r
                        UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
                        >\r
+                       <File\r
+                               RelativePath=".\bacula-fd.manifest"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\libwin32\bacula.bmp"\r
                                >\r
 
 #include <signal.h>
 #include <pthread.h>
 
+#undef  _WIN32_IE
+#define _WIN32_IE 0x0401
+#undef  _WIN32_WINNT
+#define _WIN32_WINNT 0x0501
+#include <commctrl.h>
+
 extern int BaculaMain(int argc, char *argv[]);
 extern void terminate_filed(int sig);
 extern DWORD g_error;
    main_pid = getpid();
    main_tid = pthread_self();
 
+   INITCOMMONCONTROLSEX    initCC = {
+      sizeof(INITCOMMONCONTROLSEX), 
+      ICC_STANDARD_CLASSES
+   };
+
+   InitCommonControlsEx(&initCC);
+
    /*
     * Funny things happen with the command line if the
     * execution comes from c:/Program Files/bacula/bacula.exe
 
 
 clean:
        @echo "Cleaning `pwd`"
-       $(CMD_ECHO)-rm -f $(INSTALL_EXE) $(BACULA_BINARIES) $(DEPKGS_BINARIES) $(NONGCC_BINARIES) $(NONGCC_LIBRARIES) $(SSL_FILES)
+       $(CMD_ECHO)-rm -f $(INSTALL_EXE) $(BACULA_BINARIES) $(DEPKGS_BINARIES) $(NONGCC_BINARIES) $(NONGCC_LIBRARIES) $(SSL_FILES) $(DIRD_FILES)
        $(CMD_ECHO)-rm -f $(BACULA_BINARIES) $(addsuffix .dbg,$(basename $(BACULA_BINARIES)))
        $(CMD_ECHO)-rm -f $(DEPKGS_BINARIES) $(addsuffix .dbg,$(basename $(DEPKGS_BINARIES)))
        $(CMD_ECHO)-rm -f *.exe
 # Rules
 #
 
-define Strip_Binary
+define Convert_Binary
 $$(notdir $(1)): $(1)
-       $(ECHO_CMD)cp -f $$^ $$@
-       $$(call makedbg,$$@)
+       $(ECHO_CMD)cp -f $$^ $$@ ; \
+       $(STAB2CV) $$@
 endef
 
 define Copy_Binary
        $(ECHO_CMD)cp -f $$^ $$@
 endef
 
-$(foreach file,$(addprefix $(DEPKGS)/bin/, $(DEPKGS_BINARIES)),$(eval $(call Strip_Binary,$(file))))
+$(foreach file,$(addprefix $(DEPKGS)/bin/, $(DEPKGS_BINARIES)),$(eval $(call Convert_Binary,$(file))))
 
 $(foreach file,$(addprefix $(DEPKGS)/bin/, $(NONGCC_BINARIES)),$(eval $(call Copy_Binary,$(file))))
 
 $(foreach file,$(addprefix $(DEPKGS)/lib/, $(NONGCC_LIBRARIES)),$(eval $(call Copy_Binary,$(file))))
 
-$(foreach file,$(addprefix $(BINDIR)/, $(BACULA_BINARIES)),$(eval $(call Strip_Binary,$(file))))
+$(foreach file,$(addprefix $(BINDIR)/, $(BACULA_BINARIES)),$(eval $(call Convert_Binary,$(file))))
 
 $(foreach file,$(addprefix $(DEPKGS)/ssl/, $(SSL_FILES)),$(eval $(call Copy_Binary,$(file))))
 
 
   Type = Backup
   Level = Incremental
   Client = @client_name@
-  FileSet = "Full Set"
+  FileSet = "Test Set"
   Schedule = "WeeklyCycle"
   Storage = File
   Messages = Standard
   Name = "RestoreFiles"
   Type = Restore
   Client=@client_name@
-  FileSet="Full Set"
+  FileSet="Test Set"
   Storage = File
   Pool = Default
   Messages = Standard
   Where = "C:\\tmp\\bacula-restores"
 }
 
-
+#
+# Note: Windows path separators do NOT work correctly in FileSets.
+#
 # List of files to be backed up
 FileSet {
-  Name = "Full Set"
+  Name = "Test Set"
   Include {
     Options {
       signature = MD5
+      ignore case = yes
     }
 #    
 #  Put your list of files here, preceded by 'File =', one per line
 #
 #    File = <file-name
 #
-#  Note: / backs up everything on the root partition.
-#    if you have other partitons such as /usr or /home
+#  Note: C:/ backs up everything on drive C.
+#    if you have other drives such as D:/
 #    you will probably want to add them too.
 #
-#  By default this is defined to point to the Bacula build
+#  By default this is defined to point to the Bacula 
 #    directory to give a reasonable FileSet to backup to
 #    disk storage during initial testing.
 #
-    File = "@bin_dir@"
+    File = "C:/Program Files/Bacula"
   }
 
 #
-# If you backup the root directory, the following two excluded
+# If you backup the root directory, the following excluded
 #   files can be useful
 #
   Exclude {
-    File = /proc
-    File = /tmp
-    File = /.journal
-    File = /.fsck
+    Options {
+      signature = MD5
+      ignore case = yes
+    }
+    File = C:/Temp
+    File = C:/tmp
+  }
+}
+
+#
+# This is an example which will backup all the hard drives of a Windows System.
+#
+FileSet {
+  Name = "Windows Full Set"
+  Enable VSS = yes
+  Include {
+    Options {
+      Signature = MD5
+      Exclude = yes
+      IgnoreCase = yes
+      EnhancedWild = yes
+      DriveType = fixed
+
+      # Exclude directories full of lots and lots of useless little files
+      WildDir = "[A-Z]:/Documents and Settings/*/Cookies"
+      WildDir = "[A-Z]:/Documents and Settings/*/Recent"
+      WildDir = "[A-Z]:/Documents and Settings/*/{Local Settings,LOCALS~1}/History"
+      WildDir = "[A-Z]:/Documents and Settings/*/{Local Settings,LOCALS~1}/Temp"
+      WildDir = "[A-Z]:/Documents and Settings/*/{Local Settings,LOCALS~1}/Temporary Internet Files"
+
+      # Exclude directories full of lots and lots of useless little files
+      WildDir = "[A-Z]:/{WINNT,Windows}/Profiles/*/Cookies"
+      WildDir = "[A-Z]:/{WINNT,Windows}/Profiles/*/Recent"
+      WildDir = "[A-Z]:/{WINNT,Windows}/Profiles/*/{Local Settings,LOCALS~1}/History"
+      WildDir = "[A-Z]:/{WINNT,Windows}/Profiles/*/{Local Settings,LOCALS~1}/Temp"
+      WildDir = "[A-Z]:/{WINNT,Windows}/Profiles/*/{Local Settings,LOCALS~1}/Temporary Internet Files"
+
+      # Exclude directories full of lots and lots of useless little files
+      WildDir = "[A-Z]:/{WINNT,Windows}/system32/config/systemprofile/Cookies"
+      WildDir = "[A-Z]:/{WINNT,Windows}/system32/config/systemprofile/Recent"
+      WildDir = "[A-Z]:/{WINNT,Windows}/system32/config/systemprofile/{Local Settings,LOCALS~1}/History"
+      WildDir = "[A-Z]:/{WINNT,Windows}/system32/config/systemprofile/{Local Settings,LOCALS~1}/Temp"
+      WildDir = "[A-Z]:/{WINNT,Windows}/system32/config/systemprofile/{Local Settings,LOCALS~1}/Temporary Internet Files"
+
+      # Some random bits of Windows we want to ignore
+      WildDir = "[A-Z]:/{WINNT,Windows}/Prefetch"
+      WildDir = "[A-Z]:/{WINNT,Windows}/msdownld.tmp"
+      WildDir = "[A-Z]:/{WINNT,Windows}/Internet Logs"
+      WildDir = "[A-Z]:/{WINNT,Windows}/$Nt*Uninstall*"
+      WildDir = "[A-Z]:/{WINNT,Windows}/Downloaded Installations"
+
+      # Temporary directories & files
+      WildDir = "[A-Z]:/{WINNT,Windows}/Temp"
+      WildDir = "[A-Z]:/Temp"
+      WildFile = "*.tmp"
+      WildDir = "[A-Z]:/tmp"
+
+      # Fast Find
+      WildFile = "[A-Z]:/ffastun*"
+
+      # System Restore
+      WildDir = "[A-Z]:/System Volume Information"
+
+      # Windows Update
+      WildDir = "[A-Z]:/WUTemp"
+
+      # Recycle bins
+      WildDir = "[A-Z]:/RECYCLE[DR]"
+
+      # Swap files
+      WildFile = "[A-Z]:/pagefile.sys"
+      WildFile = "[A-Z]:/hiberfil.sys"
+
+      # These are programs and are easier to reinstall than restore from
+      # backup
+      WildDir = "[A-Z]:/cygwin"
+      WildDir = "[A-Z]:/{Program Files,PROGRA~1}/Java"
+      WildDir = "[A-Z]:/{Program Files,PROGRA~1}/Java Web Start"
+      WildDir = "[A-Z]:/{Program Files,PROGRA~1}/JavaSoft"
+      WildDir = "[A-Z]:/{Program Files,PROGRA~1}/Microsoft Office"
+    }
+
+    File = "C:/"
+    File = "D:/"
+    File = "E:/"
+    File = "F:/"
+    File = "G:/"
+    File = "H:/"
+    File = "I:/"
+    File = "J:/"
+    File = "K:/"
+    File = "L:/"
+    File = "M:/"
+    File = "N:/"
+    File = "O:/"
+    File = "P:/"
+    File = "Q:/"
+    File = "R:/"
+    File = "S:/"
+    File = "T:/"
+    File = "U:/"
+    File = "V:/"
+    File = "W:/"
+    File = "X:/"
+    File = "Y:/"
+    File = "Z:/"
   }
 }
 
 
     File "${BACULA_BIN}\bsmtp.exe"
     File "${BACULA_BIN}\bacula.dll"
 
-    CreateShortCut "$SMPROGRAMS\Bacula\View Readme.lnk" "write.exe" '"$INSTDIR\Readme.txt"'
+    CreateShortCut "$SMPROGRAMS\Bacula\Documentation\View Readme.lnk" "write.exe" '"$INSTDIR\Readme.txt"'
 
     StrCpy $CommonFilesDone 1
   ${EndIf}
   Pop $R2
   WriteRegDWORD HKLM Software\Bacula Components $R2
 
+  ; remove start menu items
   SetShellVarContext all
+
+  Delete /REBOOTOK "$SMPROGRAMS\Bacula\Configuration\*"
+  Delete /REBOOTOK "$SMPROGRAMS\Bacula\Documentation\*"
+  Delete /REBOOTOK "$SMPROGRAMS\Bacula\*"
+  RMDir "$SMPROGRAMS\Bacula\Configuration"
+  RMDir "$SMPROGRAMS\Bacula\Documentation"
+  RMDir "$SMPROGRAMS\Bacula"
   CreateDirectory "$SMPROGRAMS\Bacula"
+  CreateDirectory "$SMPROGRAMS\Bacula\Configuration"
+  CreateDirectory "$SMPROGRAMS\Bacula\Documentation"
 
   CreateDirectory "$INSTDIR"
   CreateDirectory "$INSTDIR\bin"
 
   Call InstallDaemon
 
-  CreateShortCut "$SMPROGRAMS\Bacula\Edit Client Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-fd.conf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Client Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-fd.conf"'
 SectionEnd
 
 SectionGroupEnd
   StrCpy $3 $ConfigStorageStartService
   Call InstallDaemon
 
-  CreateShortCut "$SMPROGRAMS\Bacula\List Devices.lnk" "$INSTDIR\bin\scsilist.exe" "/pause"
-  CreateShortCut "$SMPROGRAMS\Bacula\Edit Storage Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-sd.conf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\List Devices.lnk" "$INSTDIR\bin\scsilist.exe" "/pause"
+  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Storage Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-sd.conf"'
 SectionEnd
 
 Section "Director Service" SecDirectorDaemon
   StrCpy $3 $ConfigDirectorStartService
   Call InstallDaemon
 
-  CreateShortCut "$SMPROGRAMS\Bacula\Edit Director Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-dir.conf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Director Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-dir.conf"'
 SectionEnd
 
 SectionGroupEnd
   ${EndIf}
 
   CreateShortCut "$SMPROGRAMS\Bacula\bconsole.lnk" "$INSTDIR\bin\bconsole.exe" '-c "$APPDATA\Bacula\bconsole.conf"' "$INSTDIR\bin\bconsole.exe" 0
-  CreateShortCut "$SMPROGRAMS\Bacula\Edit Command Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bconsole.conf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Command Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bconsole.conf"'
 
 SectionEnd
 
 
   ; Create Start Menu entry
   CreateShortCut "$SMPROGRAMS\Bacula\wx-console.lnk" "$INSTDIR\bin\wx-console.exe" '-c "$APPDATA\Bacula\wx-console.conf"' "$INSTDIR\bin\wx-console.exe" 0
-  CreateShortCut "$SMPROGRAMS\Bacula\Edit Graphical Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\wx-console.conf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Graphical Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\wx-console.conf"'
 SectionEnd
 
 SectionGroupEnd
   CreateDirectory "$INSTDIR\doc"
 
   File "${DOC_DIR}\manual\bacula.pdf"
-  CreateShortCut "$SMPROGRAMS\Bacula\Manual.lnk" '"$INSTDIR\doc\bacula.pdf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Manual.lnk" '"$INSTDIR\doc\bacula.pdf"'
 SectionEnd
 
 Section "Documentation (HTML Format)" SecDocHtml
   File "${DOC_DIR}\manual\bacula\*.html"
   File "${DOC_DIR}\manual\bacula\*.png"
   File "${DOC_DIR}\manual\bacula\*.css"
-  CreateShortCut "$SMPROGRAMS\Bacula\Manual (HTML).lnk" '"$INSTDIR\doc\bacula.html"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Manual (HTML).lnk" '"$INSTDIR\doc\bacula.html"'
 SectionEnd
 
 SectionGroupEnd
 
     END
 END
 
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// RT_MANIFEST
+//
+CREATEPROCESS_MANIFEST_RESOURCE_ID     RT_MANIFEST    "bacula-fd.manifest"
+
 /////////////////////////////////////////////////////////////////////////////
 //
 // Bitmap
 
 
 LIBS_STORED = \
        $(LIBS_PTHREADS) \
-       -lwsock32
+       -lwsock32 \
+       -lcomctl32
 
 ######################################################################
 
        $(call checkdir,$@)
        $(ECHO_CMD)$(CXX) $(CFLAGS) $(INCLUDE_DDK) -I../../stored -c $< -o $@
 
-$(OBJDIR)/winres.res:    ../libwin32/winres.rc
+$(OBJDIR)/winres.res:    baculasd/winres.rc
        @echo "Compiling $@"
        $(call checkdir,$@)
-       $(ECHO_CMD)$(WINDRES) $(INCLUDE_ICONS) -O coff $< -o $@
+       $(ECHO_CMD)$(WINDRES) $(INCLUDE_ICONS) -I baculasd -O coff $< -o $@
 
 include ../Makefile.rules
 
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
+  <assemblyIdentity 
+    version="1.0.0.0" 
+    processorArchitecture="X86" 
+    name="Bacula.Bacula-sd" 
+    type="win32" /> 
+  <description>Bacula Storage daemon for Win32</description> 
+  <dependency> 
+    <dependentAssembly> 
+      <assemblyIdentity 
+        type="win32" 
+        name="Microsoft.Windows.Common-Controls" 
+        version="6.0.0.0" 
+        processorArchitecture="X86" 
+        publicKeyToken="6595b64144ccf1df" 
+        language="*" /> 
+    </dependentAssembly> 
+  </dependency> 
+</assembly> 
+
 
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="pthreadVCE.lib zlib.lib wsock32.lib atlsd.lib"
+                               AdditionalDependencies="pthreadVCE.lib zlib.lib wsock32.lib comctl32.lib atlsd.lib"
                                OutputFile="$(OutDir)/bacula-sd.exe"
                                LinkIncremental="0"
                                SuppressStartupBanner="true"
                                UsePrecompiledHeader="0"
                                BrowseInformation="1"
                                WarningLevel="3"
-                               Detect64BitPortabilityProblems="false"
                                SuppressStartupBanner="true"
+                               Detect64BitPortabilityProblems="false"
                                DebugInformationFormat="3"
                        />
                        <Tool
                        />
                        <Tool
                                Name="VCLinkerTool"
-                               AdditionalDependencies="pthreadVCE.lib zlib.lib wsock32.lib atls.lib"
+                               AdditionalDependencies="pthreadVCE.lib zlib.lib wsock32.lib comctl32.lib atls.lib"
                                OutputFile="$(OutDir)\bacula-sd.exe"
                                LinkIncremental="0"
                                SuppressStartupBanner="true"
                                RelativePath="..\..\..\stored\status.c"
                                >
                                <FileConfiguration
-                                       Name="Release|Win32"
+                                       Name="Debug|Win32"
                                        >
                                        <Tool
                                                Name="VCCLCompilerTool"
                                        />
                                </FileConfiguration>
                                <FileConfiguration
-                                       Name="Debug|Win32"
+                                       Name="Release|Win32"
                                        >
                                        <Tool
                                                Name="VCCLCompilerTool"
                                RelativePath="..\..\..\stored\stored.c"
                                >
                                <FileConfiguration
-                                       Name="Release|Win32"
+                                       Name="Debug|Win32"
                                        >
                                        <Tool
                                                Name="VCCLCompilerTool"
                                        />
                                </FileConfiguration>
                                <FileConfiguration
-                                       Name="Debug|Win32"
+                                       Name="Release|Win32"
                                        >
                                        <Tool
                                                Name="VCCLCompilerTool"
                        Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
                        UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
                        >
+                       <File
+                               RelativePath=".\bacula-sd.manifest"
+                               >
+                       </File>
                        <File
                                RelativePath=".\bacula.bmp"
                                >
 
 #include <signal.h>
 #include <pthread.h>
 
+#undef  _WIN32_IE
+#define _WIN32_IE 0x0501
+#undef  _WIN32_WINNT
+#define _WIN32_WINNT 0x0501
+#include <commctrl.h>
+
 extern int BaculaMain(int argc, char *argv[]);
 extern void terminate_stored(int sig);
 extern DWORD g_error;
    main_pid = getpid();
    main_tid = pthread_self();
 
+   INITCOMMONCONTROLSEX    initCC = {
+      sizeof(INITCOMMONCONTROLSEX), 
+      ICC_STANDARD_CLASSES
+   };
+
+   InitCommonControlsEx(&initCC);
+
    /*
     * Funny things happen with the command line if the
     * execution comes from c:/Program Files/bacula/bacula.exe
 
     END
 END
 
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// RT_MANIFEST
+//
+CREATEPROCESS_MANIFEST_RESOURCE_ID     RT_MANIFEST    "bacula-sd.manifest"
+
 /////////////////////////////////////////////////////////////////////////////
 //
 // Bitmap
 
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
+  <assemblyIdentity 
+    version="1.0.0.0" 
+    processorArchitecture="X86" 
+    name="Bacula.WX-Console" 
+    type="win32" /> 
+  <description>Bacula wx Console for Win32</description> 
+  <dependency> 
+    <dependentAssembly> 
+      <assemblyIdentity 
+        type="win32" 
+        name="Microsoft.Windows.Common-Controls" 
+        version="6.0.0.0" 
+        processorArchitecture="X86" 
+        publicKeyToken="6595b64144ccf1df" 
+        language="*" /> 
+    </dependentAssembly> 
+  </dependency> 
+</assembly> 
+
 
                                UsePrecompiledHeader="0"\r
                                BrowseInformation="1"\r
                                WarningLevel="3"\r
-                               Detect64BitPortabilityProblems="false"\r
                                SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="false"\r
                                DebugInformationFormat="4"\r
                        />\r
                        <Tool\r
                        Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"\r
                        UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
                        >\r
+                       <File\r
+                               RelativePath=".\wx-console.manifest"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\wx-console\wx-console_private.rc"\r
+                               >\r
+                       </File>\r
                </Filter>\r
                <Filter\r
                        Name="Source Files"\r
                                RelativePath="..\..\wx-console\main.cpp"\r
                                >\r
                        </File>\r
-                       <File\r
-                               RelativePath="..\..\wx-console\wx-console_private.rc"\r
-                               >\r
-                       </File>\r
                        <File\r
                                RelativePath="..\..\wx-console\wxbconfigfileeditor.cpp"\r
                                >\r
 
 
 A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "wx-console.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// RT_MANIFEST
+//
+CREATEPROCESS_MANIFEST_RESOURCE_ID     RT_MANIFEST    "wx-console.manifest"