List:Commits« Previous MessageNext Message »
From:Daniel Fischer Date:October 21 2008 1:07pm
Subject:bzr commit into mysql-6.0 branch (df:2749)
View as plain text  
#At file:///shared/home/df/mysql/bazaar/mysql-6.0-winbuild/

 2749 Daniel Fischer	2008-10-21 [merge]
      merge in mysql-5.1-winbuild
added:
  win/create_initial_db.cmake
  win/install_macros.cmake
  win/install_targets.cmake
  win/msi.cmake
  win/mysql_common_ui.wxi
  win/mysql_server.wxs
  win/mysql_server_fragment.wxs
  win/mysql_server_registration.wxs
modified:
  BUILD/compile-dist
  CMakeLists.txt
  Makefile.am
  client/CMakeLists.txt
  client/Makefile.am
  extra/CMakeLists.txt
  extra/Makefile.am
  libmysql/CMakeLists.txt
  libmysql/Makefile.am
  libmysql/Makefile.shared
  libmysql_r/Makefile.am
  libmysqld/CMakeLists.txt
  libmysqld/examples/CMakeLists.txt
  mysys/CMakeLists.txt
  regex/CMakeLists.txt
  scripts/CMakeLists.txt
  sql/CMakeLists.txt
  sql/share/Makefile.am
  storage/archive/CMakeLists.txt
  storage/blackhole/CMakeLists.txt
  storage/csv/CMakeLists.txt
  storage/example/CMakeLists.txt
  storage/federated/CMakeLists.txt
  storage/heap/CMakeLists.txt
  storage/innobase/CMakeLists.txt
  storage/myisam/CMakeLists.txt
  storage/myisammrg/CMakeLists.txt
  strings/CMakeLists.txt
  tests/CMakeLists.txt
  vio/CMakeLists.txt
  win/Makefile.am
  win/README
  win/configure.js
  zlib/CMakeLists.txt

=== modified file 'BUILD/compile-dist'
--- a/BUILD/compile-dist	2008-05-29 15:44:11 +0000
+++ b/BUILD/compile-dist	2008-10-21 13:06:45 +0000
@@ -45,4 +45,6 @@ fi
   --with-embedded-server \
   --with-falcon \
   --with-ndbcluster
-make
+
+echo "compile-dist no longer compiles, it just configures; run \"make dist\" now"
+

=== modified file 'CMakeLists.txt'
--- a/CMakeLists.txt	2008-09-09 19:02:38 +0000
+++ b/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006 MySQL AB
+# Copyright (C) 2006-2008 MySQL AB
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,15 +15,48 @@
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR)
 
-PROJECT(MySql)
+PROJECT(MySQL)
 
-# This reads user configuration, generated by configure.js.
-INCLUDE(${CMAKE_SOURCE_DIR}/win/configure.data)
+# ----------------------------------------------------------------------
+# Create an initial database (broken out to separate script)
+# ----------------------------------------------------------------------
+INSTALL(SCRIPT win/create_initial_db.cmake)
+
+INCLUDE(${CMAKE_SOURCE_DIR}/win/obj/configure.data)
+
+# ----------------------------------------------------------------------
+# Create package script
+# ----------------------------------------------------------------------
+
+# Defaults to "win32", other option is "winx64"
+IF(NOT ARCH)
+  SET(ARCH win32)
+ENDIF(NOT ARCH)
+
+# Get the part of the package name for this product
+IF(MYSQL_SERVER_SUFFIX STREQUAL "-community")
+  SET(CPACK_SERVER_SUFFIX "")
+ELSE(MYSQL_SERVER_SUFFIX STREQUAL "-community")
+  SET(CPACK_SERVER_SUFFIX ${MYSQL_SERVER_SUFFIX})
+ENDIF(MYSQL_SERVER_SUFFIX STREQUAL "-community")
+
+SET(CPACK_GENERATOR "ZIP")
+SET(CPACK_PACKAGE_VERSION_MAJOR ${MYSQL_VERSION_MAJOR})
+SET(CPACK_PACKAGE_VERSION_MINOR ${MYSQL_VERSION_MINOR})
+SET(CPACK_PACKAGE_VERSION_PATCH ${MYSQL_VERSION_BUILDN})
+SET(CPACK_PACKAGE_VENDOR "MySQL")
+SET(CPACK_PACKAGE_FILE_NAME
+    "mysql${CPACK_SERVER_SUFFIX}-noinstall-${VERSION}-${ARCH}")
+SET(CPACK_PACKAGE_INSTALL_DIRECTORY "mysql-${VERSION}")
+# SET(CPACK_*) before the INCLUDE(CPack)
+INCLUDE(CPack)
+
+# ----------------------------------------------------------------------
 
 # Hardcode support for CSV storage engine
 SET(WITH_CSV_STORAGE_ENGINE TRUE)
 
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in
+CONFIGURE_FILE(${CMAKE_BINARY_DIR}/include/mysql_version.h.in
                ${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY)
 
 # Set standard options
@@ -87,7 +120,7 @@ IF(WITH_MARIA_STORAGE_ENGINE)
   SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_maria_plugin")
 ENDIF(WITH_MARIA_STORAGE_ENGINE)
 
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc.in 
+CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql/sql_builtin.cc.in 
                ${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc @ONLY)
 
 SET(localstatedir "C:\\mysql\\data")
@@ -252,6 +285,14 @@ IF(EMBED_MANIFESTS)
     ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
 ENDIF(EMBED_MANIFESTS)
 
+# ----------------------------------------------------------------------
+# Define install macros
+# ----------------------------------------------------------------------
+INCLUDE(win/install_macros.cmake)
+
+# ----------------------------------------------------------------------
+# Go down sub directories, except those for disabled feature/engine
+# ----------------------------------------------------------------------
 # FIXME "debug" only needed if build type is "Debug", but
 # CMAKE_BUILD_TYPE is not set during configure time.
 ADD_SUBDIRECTORY(vio)
@@ -303,3 +344,8 @@ IF(WITH_EMBEDDED_SERVER) 
   ADD_SUBDIRECTORY(libmysqld)
   ADD_SUBDIRECTORY(libmysqld/examples)
 ENDIF(WITH_EMBEDDED_SERVER)
+
+# ----------------------------------------------------------------------
+# Define top install targets
+# ----------------------------------------------------------------------
+INCLUDE(win/install_targets.cmake)

=== modified file 'Makefile.am'
--- a/Makefile.am	2008-10-01 12:02:28 +0000
+++ b/Makefile.am	2008-10-21 13:06:45 +0000
@@ -54,15 +54,8 @@ bin-dist:		all
 	$(top_builddir)/scripts/make_binary_distribution @MAKE_BINARY_DISTRIBUTION_OPTIONS@
 
 # Remove BK's "SCCS" subdirectories from source distribution
-# Create initial database files for Windows installations and check them.
 dist-hook:
-	rm -rf `find $(distdir) -type d -name SCCS -print`
-	mkdir -p $(distdir)/win
-	scripts/mysql_install_db --no-defaults --cross-bootstrap \
-		--builddir=$(top_builddir) \
-		--datadir=$(distdir)/win/data \
-		--srcdir=$(top_srcdir)
-	storage/myisam/myisamchk --silent --fast $(distdir)/win/data/mysql/*.MYI
+	-rm -rf `find $(distdir) -type d -name SCCS -print`
 
 
 all-local:		@ABI_CHECK@	

=== modified file 'client/CMakeLists.txt'
--- a/client/CMakeLists.txt	2008-06-20 11:40:01 +0000
+++ b/client/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -21,7 +21,8 @@ INCLUDE("${PROJECT_SOURCE_DIR}/win/mysql
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
                     ${CMAKE_SOURCE_DIR}/zlib
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include
                     ${CMAKE_SOURCE_DIR}/libmysql
@@ -70,16 +71,16 @@ TARGET_LINK_LIBRARIES(mysqlslap mysqlcli
 
 ADD_EXECUTABLE(echo echo.c)
 
+SET(EXES mysql mysqltest mysqlcheck mysqldump mysqlimport mysql_upgrade
+         mysqlshow mysqlbinlog mysqladmin mysqlslap echo)
+
 IF(EMBED_MANIFESTS)
-  MYSQL_EMBED_MANIFEST("mysql" "asInvoker")
-  MYSQL_EMBED_MANIFEST("mysqltest" "asInvoker")
-  MYSQL_EMBED_MANIFEST("mysqlcheck" "asInvoker")
-  MYSQL_EMBED_MANIFEST("mysqldump" "asInvoker")
-  MYSQL_EMBED_MANIFEST("mysqlimport" "asInvoker")
-  MYSQL_EMBED_MANIFEST("mysql_upgrade" "asInvoker")
-  MYSQL_EMBED_MANIFEST("mysqlshow" "asInvoker")
-  MYSQL_EMBED_MANIFEST("mysqlbinlog" "asInvoker")
-  MYSQL_EMBED_MANIFEST("mysqladmin" "asInvoker")
-  MYSQL_EMBED_MANIFEST("echo" "asInvoker")
+  FOREACH(EXEFILE ${EXES})
+    MYSQL_EMBED_MANIFEST(${EXEFILE} "asInvoker")
+  ENDFOREACH(EXEFILE)
 ENDIF(EMBED_MANIFESTS)
 
+FOREACH(EXEFILE ${EXES})
+  INSTALL_REL_EXE(${EXEFILE} bin)
+# INSTALL_DBG_EXE(${EXEFILE} bin)
+ENDFOREACH(EXEFILE)

=== modified file 'client/Makefile.am'
--- a/client/Makefile.am	2008-09-04 18:30:34 +0000
+++ b/client/Makefile.am	2008-10-21 13:06:45 +0000
@@ -67,8 +67,8 @@ mysqlbinlog_SOURCES =		mysqlbinlog.cc \
 mysqlbinlog_LDADD =		$(LDADD) $(CXXLDFLAGS)
 
 mysqldump_SOURCES=              mysqldump.c \
-				my_user.c \
 	                        $(top_srcdir)/mysys/mf_getdate.c
+nodist_mysqldump_SOURCES=	my_user.c
 
 mysqlimport_SOURCES=		mysqlimport.c
 

=== modified file 'extra/CMakeLists.txt'
--- a/extra/CMakeLists.txt	2008-09-08 12:07:15 +0000
+++ b/extra/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -17,7 +17,8 @@ INCLUDE("${PROJECT_SOURCE_DIR}/win/mysql
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include)
 
 ADD_EXECUTABLE(comp_err comp_err.c)
 TARGET_LINK_LIBRARIES(comp_err debug dbug mysys strings zlib ws2_32)
@@ -27,7 +28,7 @@ GET_TARGET_PROPERTY(COMP_ERR_EXE comp_er
 ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/include/mysqld_error.h
                    COMMAND ${COMP_ERR_EXE}
                     --charset=${PROJECT_SOURCE_DIR}/sql/share/charsets 
-                    --out-dir=${PROJECT_SOURCE_DIR}/sql/share/
+                    --out-dir=${PROJECT_BINARY_DIR}/sql/share/
                     --header_file=${PROJECT_SOURCE_DIR}/include/mysqld_error.h 
                     --name_file=${PROJECT_SOURCE_DIR}/include/mysqld_ername.h
                     --state_file=${PROJECT_SOURCE_DIR}/include/sql_state.h
@@ -54,3 +55,8 @@ TARGET_LINK_LIBRARIES(replace strings my
 IF(EMBED_MANIFESTS)
   MYSQL_EMBED_MANIFEST("myTest" "asInvoker")
 ENDIF(EMBED_MANIFESTS)
+
+FOREACH(EXEFILE comp_err my_print_defaults perror resolveip replace)
+  INSTALL_REL_EXE(${EXEFILE} bin)
+# INSTALL_DBG_EXE(${EXEFILE} bin)
+ENDFOREACH(EXEFILE)

=== modified file 'extra/Makefile.am'
--- a/extra/Makefile.am	2008-09-11 08:01:28 +0000
+++ b/extra/Makefile.am	2008-10-21 13:06:45 +0000
@@ -21,18 +21,15 @@ LDADD =			@CLIENT_EXTRA_LDFLAGS@ ../mysy
 BUILT_SOURCES=		$(top_builddir)/include/mysqld_error.h \
                         $(top_builddir)/include/sql_state.h \
                         $(top_builddir)/include/mysqld_ername.h
-pkginclude_HEADERS=	$(BUILT_SOURCES)
-EXTRA_PROGRAMS =	comp_err
-DISTCLEANFILES =	$(BUILT_SOURCES) $(EXTRA_PROGRAMS)
+DISTCLEANFILES =	$(BUILT_SOURCES)
 SUBDIRS =		@yassl_dir@ @libevent_dir@
 DIST_SUBDIRS =		yassl libevent
 
 # This will build mysqld_error.h, mysqld_ername.h and sql_state.h
 # NOTE Built files should depend on their sources to avoid
 # the built files being rebuilt in source dist
-$(top_builddir)/include/mysqld_error.h: comp_err.c \
+$(top_builddir)/include/mysqld_error.h: comp_err$(EXEEXT) \
 			$(top_srcdir)/sql/share/errmsg.txt
-	$(MAKE) $(AM_MAKEFLAGS) comp_err$(EXEEXT)
 	$(top_builddir)/extra/comp_err$(EXEEXT) \
 	--charset=$(top_srcdir)/sql/share/charsets \
 	--out-dir=$(top_builddir)/sql/share/ \

=== modified file 'libmysql/CMakeLists.txt'
--- a/libmysql/CMakeLists.txt	2008-10-07 17:04:28 +0000
+++ b/libmysql/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -23,7 +23,8 @@ SET(CMAKE_C_FLAGS_DEBUG   "${CMAKE_C_FLA
 # libraries are compiled defining USE_TLS or not. Not that it *should*
 # have been a problem anyway, they don't use thread local storage.
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include 
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include 
                     ${CMAKE_SOURCE_DIR}/libmysql
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/sql
@@ -120,6 +121,16 @@ ADD_DEPENDENCIES(mysqlclient_notls GenEr
 TARGET_LINK_LIBRARIES(mysqlclient_notls)
 
 ADD_LIBRARY(libmysql          SHARED ${CLIENT_SOURCES} libmysql.def)
+
+INSTALL_REL_LIB(mysqlclient lib/opt)
+INSTALL_DBG_LIB(mysqlclient lib/debug)
+
+INSTALL_REL_DLL(libmysql lib/opt)
+INSTALL_DBG_DLL(libmysql lib/debug)
+
+# For legacy reason we want a copy of "libmysql.ddl" in "bin"
+INSTALL_REL_DLL(libmysql bin)
+
 IF(WIN32)
   SET_TARGET_PROPERTIES(libmysql mysqlclient PROPERTIES COMPILE_FLAGS "-DUSE_TLS")
 ENDIF(WIN32)

=== modified file 'libmysql/Makefile.am'
--- a/libmysql/Makefile.am	2008-10-10 16:23:30 +0000
+++ b/libmysql/Makefile.am	2008-10-21 13:06:45 +0000
@@ -28,6 +28,7 @@ INCLUDES =	-I$(top_builddir)/include -I$
 
 include $(srcdir)/Makefile.shared
 
+nodist_libmysqlclient_la_SOURCES = $(nodist_target_sources)
 libmysqlclient_la_SOURCES = $(target_sources)
 libmysqlclient_la_LIBADD = $(target_libadd) $(yassl_las)
 libmysqlclient_la_LDFLAGS = $(target_ldflags)
@@ -114,5 +115,12 @@ do-lib-dist:
 	gtar cvzf $$dir.tar.gz $$dir; \
 	cd $$dir; gmake
 
+EXTRA_PROGRAMS =	conf_to_src
+conf_to_src_SOURCES = conf_to_src.c
+conf_to_src_LDADD=
+#force static linking of conf_to_src - essential when linking against
+#custom installation of libc
+conf_to_src_LDFLAGS=@NOINST_LDFLAGS@
+
 # Don't update the files from bitkeeper
 %::SCCS/s.%

=== modified file 'libmysql/Makefile.shared'
--- a/libmysql/Makefile.shared	2008-10-02 12:08:09 +0000
+++ b/libmysql/Makefile.shared	2008-10-21 13:06:45 +0000
@@ -28,11 +28,9 @@ MYSQLBASEdir=			$(prefix)
 LDADD =				@CLIENT_EXTRA_LDFLAGS@ $(target)
 pkglib_LTLIBRARIES =		$(target)
 
-noinst_PROGRAMS = conf_to_src
-
-
 target_sources = 	libmysql.c password.c \
 			get_password.c errmsg.c
+nodist_target_sources =	password.c
 
 mystringsobjects =	strmov.lo strxmov.lo strxnmov.lo strnmov.lo \
 			strmake.lo strend.lo \
@@ -109,11 +107,5 @@ clean-local:
 	       $(mystringsextra) $(mysysheaders) $(vioheaders) \
                net.c probes.h
 
-conf_to_src_SOURCES = conf_to_src.c
-conf_to_src_LDADD=
-#force static linking of conf_to_src - essential when linking against
-#custom installation of libc
-conf_to_src_LDFLAGS=@NOINST_LDFLAGS@
-
 # Don't update the files from bitkeeper
 %::SCCS/s.%

=== modified file 'libmysql_r/Makefile.am'
--- a/libmysql_r/Makefile.am	2007-10-08 18:55:44 +0000
+++ b/libmysql_r/Makefile.am	2008-07-18 19:51:51 +0000
@@ -29,7 +29,7 @@ INCLUDES =	-I$(top_builddir)/include -I$
 ## automake barfs if you don't use $(srcdir) or $(top_srcdir) in include
 include $(top_srcdir)/libmysql/Makefile.shared
 
-nodist_libmysqlclient_r_la_SOURCES = $(target_sources)
+nodist_libmysqlclient_r_la_SOURCES = $(target_sources) $(nodist_target_sources)
 libmysqlclient_r_la_LIBADD = $(target_libadd) $(yassl_las)
 libmysqlclient_r_la_LDFLAGS = $(target_ldflags)
 

=== modified file 'libmysqld/CMakeLists.txt'
--- a/libmysqld/CMakeLists.txt	2008-09-23 14:33:18 +0000
+++ b/libmysqld/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -24,7 +24,8 @@ ENDIF(WIN32)
 
 ADD_DEFINITIONS(-DMYSQL_SERVER -DEMBEDDED_LIBRARY -DHAVE_DLOPEN)
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include 
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include 
                     ${CMAKE_SOURCE_DIR}/libmysqld
                     ${CMAKE_SOURCE_DIR}/libmysql
                     ${CMAKE_SOURCE_DIR}/sql
@@ -32,12 +33,20 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include 
                     ${CMAKE_SOURCE_DIR}/zlib)
 
-SET(GEN_SOURCES     ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc
-                    ${CMAKE_SOURCE_DIR}/sql/sql_yacc.h
-                    ${CMAKE_SOURCE_DIR}/sql/message.h
-                    ${CMAKE_SOURCE_DIR}/sql/message.rc
-                    ${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc
-                    ${CMAKE_SOURCE_DIR}/sql/lex_hash.h)
+SET(GEN_SOURCES     ${CMAKE_BINARY_DIR}/sql/message.h
+                    ${CMAKE_BINARY_DIR}/sql/message.rc
+                    ${CMAKE_BINARY_DIR}/sql/sql_builtin.cc
+                    ${CMAKE_BINARY_DIR}/sql/lex_hash.h)
+
+IF(EXISTS ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc)
+  SET(PREGEN_SOURCES
+                   ../sql/sql_yacc.cc
+                   ../sql/sql_yacc.h)
+ELSE(EXISTS ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc)
+  SET(GEN_SOURCES  ${GEN_SOURCES}
+                   ${CMAKE_BINARY_DIR}/sql/sql_yacc.cc
+                   ${CMAKE_BINARY_DIR}/sql/sql_yacc.h)
+ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc)
 
 SET_SOURCE_FILES_PROPERTIES(${GEN_SOURCES} PROPERTIES GENERATED 1)
 
@@ -205,6 +214,7 @@ SET(LIBMYSQLD_SOURCES emb_qcache.cc libm
            ../sql/event_parse_data.cc ../sql/mdl.cc
            ../sql/transaction.cc
 	   ../sql/rpl_handler.cc
+           ${PREGEN_SOURCES}
            ${GEN_SOURCES}
            ${LIB_SOURCES})
 
@@ -220,6 +230,22 @@ ADD_LIBRARY(mysqlserver STATIC ${LIBMYSQ
 ADD_DEPENDENCIES(mysqlserver GenServerSource GenError)
 TARGET_LINK_LIBRARIES(mysqlserver)
 
-ADD_LIBRARY(libmysqld MODULE cmake_dummy.c libmysqld.def)
+# We might want to use MODULE as library type here (earlier this code
+# used MODULE), but CMake >= 2.4 doesn't allow to link agianst a
+# module with the "makefile" backends, so linking in the "examples"
+# directory broke for "nmake".
+#
+# For Windows and most other targets SHARED == MODULE, so for now we
+# use SHARED.
+
+ADD_LIBRARY(libmysqld SHARED cmake_dummy.c libmysqld.def)
 ADD_DEPENDENCIES(libmysqld mysqlserver)
 TARGET_LINK_LIBRARIES(libmysqld mysqlserver ws2_32)
+
+# CMake 2.4-patch 7 has a bug, if MODULE only the DLL gets installed,
+# and if SHARED the "libmysqld.exp" gets left out. So here we *need*
+# to use INSTALL(FILES...) instead of INSTALL(TARGETS...)
+INSTALL_REL_DLL(libmysqld Embedded/DLL/release)
+INSTALL_DBG_DLL(libmysqld Embedded/DLL/debug)
+INSTALL_REL_LIB(mysqlserver Embedded/static/release)
+INSTALL_DBG_LIB(mysqlserver Embedded/static/debug)

=== modified file 'libmysqld/examples/CMakeLists.txt'
--- a/libmysqld/examples/CMakeLists.txt	2008-04-02 17:52:11 +0000
+++ b/libmysqld/examples/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -13,13 +13,13 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
                     ${CMAKE_SOURCE_DIR}/libmysqld/include
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/zlib                   
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)
 
-# Currently does not work with DBUG, there are missing symbols reported.
 IF(WIN32)
   ADD_DEFINITIONS(-DUSE_TLS)
 ENDIF(WIN32)
@@ -39,3 +39,12 @@ ADD_DEPENDENCIES(mysqltest_embedded libm
 ADD_EXECUTABLE(mysql_client_test_embedded ../../tests/mysql_client_test.c)
 TARGET_LINK_LIBRARIES(mysql_client_test_embedded debug dbug mysys yassl taocrypt zlib strings ws2_32)
 ADD_DEPENDENCIES(mysql_client_test_embedded libmysqld)
+
+# The example source requires you to link with "libmysqld" but also
+# with internal libraries like "mysys" for things they use not in
+# "libmysqld", or at least not exported. But "libmysqld" does export
+# some "mysys" symbols, and linking with both "libmyqld" and other
+# internal libraries results in duplicate symbol errors. The
+# duplication is harmless, we turn them to warnings.
+SET_TARGET_PROPERTIES(mysql_embedded mysqltest_embedded mysql_client_test_embedded
+                      PROPERTIES LINK_FLAGS "/FORCE:MULTIPLE")

=== modified file 'mysys/CMakeLists.txt'
--- a/mysys/CMakeLists.txt	2008-07-23 08:52:08 +0000
+++ b/mysys/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -23,7 +23,10 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS
 # Exception is the embedded server that needs this library compiled with
 # dynamic TLS, i.e. define USE_TLS
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/zlib ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/mysys)
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/zlib
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/mysys)
 
 SET(MYSYS_SOURCES  array.c charset-def.c charset.c checksum.c default.c default_modify.c
 				errors.c hash.c list.c md5.c mf_brkhant.c mf_cache.c mf_dirname.c mf_fn_ext.c
@@ -49,4 +52,6 @@ SET(MYSYS_SOURCES  array.c charset-def.c
 
 IF(NOT SOURCE_SUBLIBS)
   ADD_LIBRARY(mysys ${MYSYS_SOURCES})
+  INSTALL_REL_LIB(mysys lib/opt)
+  INSTALL_DBG_LIB(mysys lib/debug)
 ENDIF(NOT SOURCE_SUBLIBS)

=== modified file 'regex/CMakeLists.txt'
--- a/regex/CMakeLists.txt	2008-06-11 18:14:43 +0000
+++ b/regex/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -16,10 +16,13 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include)
 
 SET(REGEX_SOURCES debug.c regcomp.c regerror.c regexec.c regfree.c reginit.c split.c)
 
 IF(NOT SOURCE_SUBLIBS)
   ADD_LIBRARY(regex ${REGEX_SOURCES})
+  INSTALL_REL_LIB(regex lib/opt)
+  INSTALL_DBG_LIB(regex lib/debug)
 ENDIF(NOT SOURCE_SUBLIBS)

=== modified file 'scripts/CMakeLists.txt'
--- a/scripts/CMakeLists.txt	2008-03-11 14:46:07 +0000
+++ b/scripts/CMakeLists.txt	2008-10-20 16:12:04 +0000
@@ -14,10 +14,10 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 # Build mysql_fix_privilege_tables.sql
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables.sql
+ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/scripts/mysql_fix_privilege_tables.sql
                    COMMAND copy /b
                    mysql_system_tables.sql + mysql_system_tables_fix.sql
-                   mysql_fix_privilege_tables.sql
+                   ${PROJECT_BINARY_DIR}/scripts/mysql_fix_privilege_tables.sql
                    DEPENDS
                    ${PROJECT_SOURCE_DIR}/scripts/mysql_system_tables.sql
                    ${PROJECT_SOURCE_DIR}/scripts/mysql_system_tables_fix.sql)
@@ -29,10 +29,10 @@ TARGET_LINK_LIBRARIES(comp_sql debug dbu
 # Use comp_sql to build mysql_fix_privilege_tables_sql.c
 GET_TARGET_PROPERTY(COMP_SQL_EXE comp_sql LOCATION)
 
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables_sql.c
+ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BUILD_DIR}/scripts/mysql_fix_privilege_tables_sql.c
                    COMMAND ${COMP_SQL_EXE}
                    mysql_fix_privilege_tables
-                   mysql_fix_privilege_tables.sql
+                   ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables.sql
                    mysql_fix_privilege_tables_sql.c
                    DEPENDS comp_sql ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables.sql)
 
@@ -75,3 +75,15 @@ CONFIGURE_FILE(mysqldumpslow.sh
 
 CONFIGURE_FILE(mysqlhotcopy.sh
                scripts/mysqlhotcopy.pl ESCAPE_QUOTES @ONLY)
+
+INSTALL(FILES
+        mysql_config.pl
+        mysql_convert_table_format.pl
+        mysql_install_db.pl
+        mysql_secure_installation.pl
+        mysqld_multi.pl
+        mysqldumpslow.pl
+        mysqlhotcopy.pl
+
+        DESTINATION scripts
+)

=== modified file 'sql/CMakeLists.txt'
--- a/sql/CMakeLists.txt	2008-09-26 16:30:56 +0000
+++ b/sql/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -20,7 +20,8 @@ SET(CMAKE_C_FLAGS_DEBUG 
     "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX -DUSE_SYMDIR /Zi")
 SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /MAP /MAPINFO:EXPORTS") 
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include 
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include 
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include 
                     ${CMAKE_SOURCE_DIR}/sql 
                     ${CMAKE_SOURCE_DIR}/regex 
@@ -28,17 +29,27 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/
                     ${CMAKE_SOURCE_DIR}/sql/backup
 )
 
-SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/message.rc 
-                            ${CMAKE_SOURCE_DIR}/sql/message.h 
-                            ${CMAKE_SOURCE_DIR}/sql/sql_yacc.h 
-                            ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc
-                            ${CMAKE_SOURCE_DIR}/include/mysql_version.h
-                            ${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc
-                            ${CMAKE_SOURCE_DIR}/sql/lex_hash.h 
-                            ${PROJECT_SOURCE_DIR}/include/mysqld_error.h
-                            ${PROJECT_SOURCE_DIR}/include/mysqld_ername.h
-                            ${PROJECT_SOURCE_DIR}/include/sql_state.h 
-                              PROPERTIES GENERATED 1)
+SET(GEN_SOURCES     ${CMAKE_BINARY_DIR}/sql/message.rc 
+                    ${CMAKE_BINARY_DIR}/sql/message.h 
+                    ${CMAKE_BINARY_DIR}/include/mysql_version.h
+                    ${CMAKE_BINARY_DIR}/sql/sql_builtin.cc
+                    ${CMAKE_BINARY_DIR}/sql/lex_hash.h 
+                    ${PROJECT_BINARY_DIR}/include/mysqld_error.h
+                    ${PROJECT_BINARY_DIR}/include/mysqld_ername.h
+                    ${PROJECT_BINARY_DIR}/include/sql_state.h
+)
+
+IF(EXISTS ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc)
+  SET(PREGEN_SOURCES
+                   sql_yacc.cc
+                   sql_yacc.h)
+ELSE(EXISTS ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc)
+  SET(GEN_SOURCES  ${GEN_SOURCES}
+                   ${CMAKE_BINARY_DIR}/sql/sql_yacc.cc
+                   ${CMAKE_BINARY_DIR}/sql/sql_yacc.h)
+ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc)
+
+SET_SOURCE_FILES_PROPERTIES(${GEN_SOURCES} PROPERTIES GENERATED 1)
 
 ADD_DEFINITIONS(-DMYSQL_SERVER -D_CONSOLE -DHAVE_DLOPEN -DHAVE_EVENT_SCHEDULER)
 
@@ -87,6 +98,8 @@ ADD_EXECUTABLE(mysqld
                ${PROJECT_SOURCE_DIR}/include/mysql_version.h 
                ${PROJECT_SOURCE_DIR}/sql/sql_builtin.cc
                ${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
+               ${PREGEN_SOURCES}
+               ${GEN_SOURCES})
 
 TARGET_LINK_LIBRARIES(mysqld
                       heap myisam myisammrg mysys yassl zlib debug dbug yassl 
@@ -130,18 +143,20 @@ ADD_DEPENDENCIES(mysqld GenError)
 # so for now we only list one if more than one
 
 # Sql Parser custom command
-ADD_CUSTOM_COMMAND(
-        OUTPUT ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h
-#              ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
-        COMMAND bison.exe ARGS -y -p MYSQL --defines=sql_yacc.h
-                               --output=sql_yacc.cc sql_yacc.yy
-        DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.yy)
+IF(NOT EXISTS ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc)
+  ADD_CUSTOM_COMMAND(
+	  OUTPUT ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h
+  #              ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
+	  COMMAND bison.exe ARGS -y -p MYSQL --defines=sql_yacc.h
+				 --output=sql_yacc.cc sql_yacc.yy
+	  DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.yy)
+ENDIF(NOT EXISTS ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc)
 
 IF(WIN32)
   # Windows message file
   ADD_CUSTOM_COMMAND(
-          OUTPUT ${PROJECT_SOURCE_DIR}/sql/message.h
-#                ${PROJECT_SOURCE_DIR}/sql/message.rc
+          OUTPUT ${PROJECT_BINARY_DIR}/sql/message.h
+#                ${PROJECT_BINARY_DIR}/sql/message.rc
           COMMAND mc ARGS message.mc
           DEPENDS ${PROJECT_SOURCE_DIR}/sql/message.mc)
 ENDIF(WIN32)
@@ -151,17 +166,11 @@ ADD_EXECUTABLE(gen_lex_hash gen_lex_hash
 TARGET_LINK_LIBRARIES(gen_lex_hash debug dbug mysqlclient ws2_32)
 GET_TARGET_PROPERTY(GEN_LEX_HASH_EXE gen_lex_hash LOCATION)
 ADD_CUSTOM_COMMAND(
-        OUTPUT ${PROJECT_SOURCE_DIR}/sql/lex_hash.h
+        OUTPUT ${PROJECT_BINARY_DIR}/sql/lex_hash.h
         COMMAND ${GEN_LEX_HASH_EXE} ARGS > lex_hash.h
         DEPENDS ${GEN_LEX_HASH_EXE})
 
-ADD_CUSTOM_TARGET(
-        GenServerSource ALL
-        DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h
-#               ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
-                ${PROJECT_SOURCE_DIR}/sql/message.h
-#               ${PROJECT_SOURCE_DIR}/sql/message.rc
-                ${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
+ADD_CUSTOM_TARGET(GenServerSource ALL DEPENDS ${GEN_SOURCES})
 
 ADD_DEPENDENCIES(mysqld GenServerSource)
 
@@ -175,3 +184,6 @@ TARGET_LINK_LIBRARIES(udf_example string
 
 ADD_SUBDIRECTORY(backup)
 
+# FIXME we should really set "mysqld-debug" as a target, not rename
+INSTALL_REL_EXE_WITH_MAP(mysqld bin)
+INSTALL_DBG_EXE_WITH_MAP(mysqld bin)

=== modified file 'sql/share/Makefile.am'
--- a/sql/share/Makefile.am	2006-12-23 19:17:15 +0000
+++ b/sql/share/Makefile.am	2008-07-18 19:51:51 +0000
@@ -15,16 +15,7 @@
 
 ## Process this file with automake to create Makefile.in
 
-EXTRA_DIST= errmsg.txt
-
-dist-hook:
-	for dir in charsets @AVAILABLE_LANGUAGES@; do \
-	  test -d $(distdir)/$$dir || mkdir $(distdir)/$$dir; \
-	  $(INSTALL_DATA) $(srcdir)/$$dir/*.* $(distdir)/$$dir; \
-	done; \
-	sleep 1 ; touch $(srcdir)/*/errmsg.sys
-	$(INSTALL_DATA) $(srcdir)/charsets/README $(distdir)/charsets
-	$(INSTALL_DATA) $(srcdir)/charsets/Index.xml $(distdir)/charsets
+EXTRA_DIST= errmsg.txt charsets
 
 all-local:	english/errmsg.sys
 
@@ -39,7 +30,7 @@ install-data-local:
 	for lang in @AVAILABLE_LANGUAGES@; \
 	do \
 		$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/$$lang; \
-		$(INSTALL_DATA) $(srcdir)/$$lang/errmsg.sys \
+		$(INSTALL_DATA) $(top_builddir)/sql/share/$$lang/errmsg.sys \
 			        $(DESTDIR)$(pkgdatadir)/$$lang/errmsg.sys; \
 	done
 	$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/charsets

=== modified file 'storage/archive/CMakeLists.txt'
--- a/storage/archive/CMakeLists.txt	2008-01-30 02:58:57 +0000
+++ b/storage/archive/CMakeLists.txt	2008-10-20 16:12:04 +0000
@@ -16,7 +16,9 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/zlib
                     ${CMAKE_SOURCE_DIR}/sql
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)

=== modified file 'storage/blackhole/CMakeLists.txt'
--- a/storage/blackhole/CMakeLists.txt	2008-01-30 02:58:57 +0000
+++ b/storage/blackhole/CMakeLists.txt	2008-10-20 16:12:04 +0000
@@ -16,7 +16,9 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/sql
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)
 

=== modified file 'storage/csv/CMakeLists.txt'
--- a/storage/csv/CMakeLists.txt	2008-01-30 02:58:57 +0000
+++ b/storage/csv/CMakeLists.txt	2008-10-20 16:12:04 +0000
@@ -16,7 +16,9 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/sql
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)
 

=== modified file 'storage/example/CMakeLists.txt'
--- a/storage/example/CMakeLists.txt	2008-01-30 02:58:57 +0000
+++ b/storage/example/CMakeLists.txt	2008-10-20 16:12:04 +0000
@@ -16,7 +16,9 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/sql
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)
 

=== modified file 'storage/federated/CMakeLists.txt'
--- a/storage/federated/CMakeLists.txt	2008-01-30 02:58:57 +0000
+++ b/storage/federated/CMakeLists.txt	2008-10-20 16:12:04 +0000
@@ -16,7 +16,9 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/sql
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)
 

=== modified file 'storage/heap/CMakeLists.txt'
--- a/storage/heap/CMakeLists.txt	2008-06-11 18:14:43 +0000
+++ b/storage/heap/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -16,7 +16,9 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/zlib
                     ${CMAKE_SOURCE_DIR}/sql
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)

=== modified file 'storage/innobase/CMakeLists.txt'
--- a/storage/innobase/CMakeLists.txt	2008-06-11 18:14:43 +0000
+++ b/storage/innobase/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -19,13 +19,17 @@ ADD_DEFINITIONS(-DMYSQL_SERVER -D_WIN32 
 
 # Bug 19424 - InnoDB: Possibly a memory overrun of the buffer being freed (64-bit Visual C)
 # Removing Win64 compiler optimizations for all innodb/mem/* files.
-IF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8)
+IF(CMAKE_GENERATOR MATCHES "Visual Studio" OR CMAKE_GENERATOR MATCHES "NMake Makefiles"
+   AND CMAKE_SIZEOF_VOID_P MATCHES 8)
   SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/storage/innobase/mem/mem0mem.c
                               ${CMAKE_SOURCE_DIR}/storage/innobase/mem/mem0pool.c
                               PROPERTIES COMPILE_FLAGS -Od)
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8)
+ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio" OR CMAKE_GENERATOR MATCHES "NMake Makefiles"
+      AND CMAKE_SIZEOF_VOID_P MATCHES 8)
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/zlib
                     ${CMAKE_SOURCE_DIR}/storage/innobase/include
                     ${CMAKE_SOURCE_DIR}/storage/innobase/handler
                     ${CMAKE_SOURCE_DIR}/sql

=== modified file 'storage/myisam/CMakeLists.txt'
--- a/storage/myisam/CMakeLists.txt	2008-07-09 07:12:43 +0000
+++ b/storage/myisam/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -17,7 +17,9 @@ INCLUDE("${PROJECT_SOURCE_DIR}/win/mysql
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/zlib
                     ${CMAKE_SOURCE_DIR}/sql
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)
@@ -76,4 +78,9 @@ IF(NOT SOURCE_SUBLIBS)
     MYSQL_EMBED_MANIFEST("myisampack" "asInvoker")
   ENDIF(EMBED_MANIFESTS)
 
+  FOREACH(EXEFILE myisam_ftdump myisamchk myisamlog myisampack)
+    INSTALL_REL_EXE(${EXEFILE} bin)
+#   INSTALL_DBG_EXE(${EXEFILE} bin)
+  ENDFOREACH(EXEFILE)
+
 ENDIF(NOT SOURCE_SUBLIBS)

=== modified file 'storage/myisammrg/CMakeLists.txt'
--- a/storage/myisammrg/CMakeLists.txt	2008-06-11 18:14:43 +0000
+++ b/storage/myisammrg/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -16,7 +16,9 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/zlib
                     ${CMAKE_SOURCE_DIR}/sql
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)

=== modified file 'strings/CMakeLists.txt'
--- a/strings/CMakeLists.txt	2008-07-23 08:52:08 +0000
+++ b/strings/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -16,7 +16,8 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include)
 
 SET(STRINGS_SOURCES bchange.c bcmp.c bfill.c bmove512.c bmove_upp.c ctype-big5.c ctype-bin.c ctype-cp932.c
                 ctype-czech.c ctype-euc_kr.c ctype-eucjpms.c ctype-extra.c ctype-gb2312.c ctype-gbk.c
@@ -30,4 +31,6 @@ SET(STRINGS_SOURCES bchange.c bcmp.c bfi
 
 IF(NOT SOURCE_SUBLIBS)
   ADD_LIBRARY(strings ${STRINGS_SOURCES})
+  INSTALL_REL_LIB(strings lib/opt)
+  INSTALL_DBG_LIB(strings lib/debug)
 ENDIF(NOT SOURCE_SUBLIBS)

=== modified file 'tests/CMakeLists.txt'
--- a/tests/CMakeLists.txt	2008-06-11 18:14:43 +0000
+++ b/tests/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -18,10 +18,16 @@
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 ADD_DEFINITIONS("-DMYSQL_CLIENT")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include)
 
 ADD_EXECUTABLE(mysql_client_test mysql_client_test.c ../mysys/my_memmem.c)
 TARGET_LINK_LIBRARIES(mysql_client_test mysqlclient_notls ws2_32)
 
 ADD_EXECUTABLE(bug25714 bug25714.c)
 TARGET_LINK_LIBRARIES(bug25714 mysqlclient_notls ws2_32)
+
+FOREACH(EXEFILE mysql_client_test bug25714)
+  INSTALL_REL_EXE(${EXEFILE} bin)
+# INSTALL_DBG_EXE(${EXEFILE} bin)
+ENDFOREACH(EXEFILE)

=== modified file 'vio/CMakeLists.txt'
--- a/vio/CMakeLists.txt	2008-06-11 18:14:43 +0000
+++ b/vio/CMakeLists.txt	2008-10-21 13:06:45 +0000
@@ -17,7 +17,9 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_F
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX")
 
 ADD_DEFINITIONS(-DUSE_SYMDIR)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/extra/yassl/include)
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/include
+                    ${CMAKE_SOURCE_DIR}/extra/yassl/include)
 
 SET(VIO_SOURCES  vio.c viosocket.c viossl.c viosslfactories.c)
 

=== modified file 'win/Makefile.am'
--- a/win/Makefile.am	2007-05-04 19:28:04 +0000
+++ b/win/Makefile.am	2008-10-21 10:00:18 +0000
@@ -15,7 +15,11 @@
 
 ## Process this file with automake to create Makefile.in
 EXTRA_DIST = build-vs71.bat build-vs8.bat build-vs8_x64.bat configure.js README \
-             mysql_manifest.cmake create_manifest.js
+             mysql_manifest.cmake create_manifest.js \
+             install_macros.cmake install_targets.cmake \
+             create_initial_db.cmake msi.cmake \
+             mysql_common_ui.wxi  mysql_server_fragment.wxs \
+             mysql_server_registration.wxs  mysql_server.wxs
 
 # Don't update the files from bitkeeper
 %::SCCS/s.%

=== modified file 'win/README'
--- a/win/README	2008-04-03 15:39:47 +0000
+++ b/win/README	2008-10-21 13:06:45 +0000
@@ -1,21 +1,20 @@
-Windows building README
-======================================
-
-----------------IMPORTANT----------------------------
-This readme outlines the instructions for building 
-MySQL for Windows staring from version 5.1.
-This README only applies to MySQL versions 6.0 
-or later.
------------------------------------------------------
+==============================================================================
+               Readme for building and packaging MySQL on Windows
+==============================================================================
+
+	---------------------IMPORTANT------------------------
+	This readme outlines the instructions for building 
+	MySQL for Windows staring from version 5.1. This
+        readme does not apply to MySQL versions 5.0 or ealier.
+	------------------------------------------------------
 
 The Windows build system uses a tool named CMake to generate build files for
 a variety of project systems.  This tool is combined with a set of jscript
 files to enable building of MySQL for Windows directly out of a bk clone.
 The steps required are below.
 
-Step 1:
--------
-
+Step 1
+------
 Install a Windows C++ compiler.  If you don't have one, you can use
 the free compiler "Visual C++ 2005 express edition", which from Cmake
 point of view is same as Visual studio 8:
@@ -69,14 +68,15 @@ The options right now are:
                                          used by MySQL AB.)
     WITH_EMBEDDED_SERVER                 Configure solution to produce libmysqld.dll
                                          and the static mysqlserver.lib 
-                                
-So the command line could look like:
+    LICENSE                              Optional if GPL build, if building from commercial
+                                         licensed sources you should set "LICENSE=commercial"
 
-win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro
+The command line could look like:
+
+  > win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro
 
 Step 6
 ------
-
 From the root of your installation directory/bk clone, execute one of
 the batch files to generate the type of project files you desire.
 
@@ -101,3 +101,73 @@ may be necessary to clean the build tree
 Please see this link: http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
 At step 5 you only need to add the libraries advapi32.lib and user32.lib to
 the file "corewin_express.vsprops" in order to avoid link errors.
+
+
+==============================================================================
+                 Create a ZIP package of MySQL on Windows
+==============================================================================
+
+To package to a ZIP file, like the "mysql-noinstall-XXX-win32.zip" packages
+you can download from http://dev.mysql.com/downloads/, you follow these steps.
+
+Please note that, in order to build a package of the MySQL server, you must 
+build all the parts that the packager and the installer expect. In particular, 
+you must build with the following features enabled:
+
+  * WITH_EMBEDDED_SERVER
+
+And you must build both of the following targets:
+
+  * RelWithDebInfo
+  * Debug
+
+Step 1
+------
+Build as outlined above. Note that you can build both the optimized
+and debug targets (like "RelWithDebInfo" and "Debug") and you will get
+"mysqld-debug.exe" part of the resulting package, as well as debug
+compiled libraries, somethig like
+
+  > devenv.com mysql.sln /build RelWithDebInfo
+  > devenv.com mysql.sln /build Debug
+
+Step 2
+------
+Make sure you have zip, WinZip or 7Zip in your PATH.
+
+Step 3
+------
+Run from the top of the build tree
+
+  > cpack -G ZIP -DARCH=win32 (or winx64)
+
+==============================================================================
+                Create a MSI installer of MySQL on Windows
+==============================================================================
+
+These are the steps to package using WiX. 
+
+Step 1
+------
+Make sure you have the packaging tool WiX installed and in PATH
+("light.exe" and "candle.exe").  You can download WiX from
+
+  http://wix.sourceforge.net/
+
+Step 2
+------
+Check out the "mysql-server-setup" repository
+
+  > svn co http://svn.mysql.com/svnpublic/mysql-server-setup
+
+Step 3
+------
+Run the script to create the MSI like
+
+  > SET RES_DIR=.....
+  > SET WIX_DIR=.....
+  > cmake -DWIX_DIR="$WIX_DIR" -DRES_DIR="$RES_DIR" -DARCH=win32 -P win/msi.cmake
+
+where RES_DIR is the path to the "resources" directory in the
+"mysql-server-setup" tree, and WIX_DIR is the WiX tool installation
+directory.

=== modified file 'win/configure.js'
--- a/win/configure.js	2008-07-09 07:12:43 +0000
+++ b/win/configure.js	2008-10-21 13:06:45 +0000
@@ -29,12 +29,19 @@ try 
     var configureInTS = fso.OpenTextFile("configure.in", ForReading);
     var configureIn = configureInTS.ReadAll();
     configureInTS.Close();
+    var default_license = "gpl";
     var default_comment = "Source distribution";
     var default_port = GetValue(configureIn, "MYSQL_TCP_PORT_DEFAULT");
     var actual_port = 0;
     var with_maria_tmp_tables = -1;
 
-    var configfile = fso.CreateTextFile("win\\configure.data", true);
+    if (!fso.FolderExists("win\\obj")) {
+        fso.CreateFolder("win\\obj");
+    }
+    var configfile = fso.CreateTextFile("win\\obj\\configure.data", true);
+    var wixcfgfile = fso.CreateTextFile("win\\obj\\configure.wxi", true);
+    wixcfgfile.WriteLine("<Include>");
+
     for (i=0; i < args.Count(); i++)
     {
         var parts = args.Item(i).split('=');
@@ -54,7 +61,7 @@ try 
             case "BACKUP_TEST":
             case "EMBED_MANIFESTS":
             case "WITH_EMBEDDED_SERVER":
-                    configfile.WriteLine("SET (" + args.Item(i) + " TRUE)");
+		    WriteVarValue(configfile, wixcfgfile, args.Item(i), "TRUE")
                     break;
             case "WITH_MARIA_STORAGE_ENGINE":
                     configfile.WriteLine("SET (" + args.Item(i) + " TRUE)");
@@ -69,8 +76,11 @@ try 
                     break;
             case "MYSQL_SERVER_SUFFIX":
             case "MYSQLD_EXE_SUFFIX":
-                    configfile.WriteLine("SET (" + parts[0] + " \""
-                                         + parts[1] + "\")");
+            case "MYSQL_GUI_TOOLS_DIR":
+                    WriteVarValue(configfile, wixcfgfile, parts[0], parts[1]);
+                    break;
+            case "LICENSE":
+                    default_license = parts[1];
                     break;
             case "COMPILATION_COMMENT":
                     default_comment = parts[1];
@@ -116,24 +126,53 @@ try 
 	   default_port = 0;
 	}
 
-    configfile.WriteLine("SET (COMPILATION_COMMENT \"" +
-                         default_comment + "\")");
+    if (fso.FileExists("Docs\\manual.chm")) {
+        WriteVarValue(configfile, wixcfgfile, "WITH_MANUAL", "TRUE");
+    } else {
+        WriteVarValue(configfile, wixcfgfile, "WITH_MANUAL", "FALSE");
+    }
+
+    if (fso.FileExists("Docs\\ChangeLog")) {
+        WriteVarValue(configfile, wixcfgfile, "WITH_CHANGELOG", "TRUE");
+    } else {
+        WriteVarValue(configfile, wixcfgfile, "WITH_CHANGELOG", "FALSE");
+    }
+
+    WriteVarValue(configfile, wixcfgfile, "LICENSE", default_license);
+    WriteVarValue(configfile, wixcfgfile, "COMPILATION_COMMENT", default_comment);
+    WriteVarValue(configfile, wixcfgfile,
+                  "PROTOCOL_VERSION", GetValue(configureIn, "PROTOCOL_VERSION"));
+    WriteVarValue(configfile, wixcfgfile,
+	          "DOT_FRM_VERSION", GetValue(configureIn, "DOT_FRM_VERSION"));
+    WriteVarValue(configfile, wixcfgfile, "MYSQL_TCP_PORT_DEFAULT", default_port);
+    WriteVarValue(configfile, wixcfgfile, "MYSQL_TCP_PORT", actual_port);
+    WriteVarValue(configfile, wixcfgfile,
+                  "MYSQL_UNIX_ADDR", GetValue(configureIn, "MYSQL_UNIX_ADDR_DEFAULT"));
 
-    configfile.WriteLine("SET (PROTOCOL_VERSION \"" +
-                         GetValue(configureIn, "PROTOCOL_VERSION") + "\")");
-    configfile.WriteLine("SET (DOT_FRM_VERSION \"" +
-                         GetValue(configureIn, "DOT_FRM_VERSION") + "\")");
-    configfile.WriteLine("SET (MYSQL_TCP_PORT_DEFAULT \"" + default_port + "\")");
-    configfile.WriteLine("SET (MYSQL_TCP_PORT \"" + actual_port + "\")");
-    configfile.WriteLine("SET (MYSQL_UNIX_ADDR \"" +
-                         GetValue(configureIn, "MYSQL_UNIX_ADDR_DEFAULT") + "\")");
     var version = GetVersion(configureIn);
-    configfile.WriteLine("SET (VERSION \"" + version + "\")");
-    configfile.WriteLine("SET (MYSQL_BASE_VERSION \"" +
-                         GetBaseVersion(version) + "\")");
-    configfile.WriteLine("SET (MYSQL_VERSION_ID \"" +
-                         GetVersionId(version) + "\")");
 
+    WriteVarValue(configfile, wixcfgfile, "VERSION", version);
+    WriteVarValue(configfile, wixcfgfile, "VERSIONN",
+                  GetVersionMajor(version) + "." + GetVersionMinor(version) + "." +
+                  GetVersionBuildN(version));
+    WriteVarValue(configfile, wixcfgfile, "MYSQL_BASE_VERSION",
+                  GetVersionMajor(version) + "." + GetVersionMinor(version));
+    WriteVarValue(configfile, wixcfgfile,
+                  "MYSQL_WIN_VERSION", GetVersionWin(version));
+    WriteVarValue(configfile, wixcfgfile,
+                  "MYSQL_VERSION_MAJOR"  ,GetVersionMajor(version));
+    WriteVarValue(configfile, wixcfgfile,
+                  "MYSQL_VERSION_MINOR"  ,GetVersionMinor(version));
+    WriteVarValue(configfile, wixcfgfile,
+                  "MYSQL_VERSION_BUILDN" ,GetVersionBuildN(version));
+    WriteVarValue(configfile, wixcfgfile,
+                  "MYSQL_VERSION_BUILD"  ,GetVersionBuild(version));
+    WriteVarValue(configfile, wixcfgfile,
+                  "MYSQL_VERSION_ID"     ,GetVersionId(version));
+
+    wixcfgfile.WriteLine("</Include>");
+
+    wixcfgfile.Close();
     configfile.Close();
     
     fso = null;
@@ -158,6 +197,19 @@ function GetValue(str, key)
     return str.substring(pos, end);    
 }
 
+// ----------------------------------------------------------------------
+// Write both CMake and WiX XML var=value
+// ----------------------------------------------------------------------
+
+function WriteVarValue(configfile, wixcfgfile, vari, value)
+{
+    configfile.WriteLine("SET(" + vari + " \"" + value + "\")");
+    wixcfgfile.WriteLine("<?define " + vari + " = \"" + value + "\" ?>");
+}
+
+// ----------------------------------------------------------------------
+// Get the version string from configure, including -beta or other suffix
+// ----------------------------------------------------------------------
 function GetVersion(str)
 {
     var key = "AM_INIT_AUTOMAKE(mysql, ";
@@ -169,31 +221,99 @@ function GetVersion(str)
     return str.substring(pos, end);
 }
 
-function GetBaseVersion(version)
+// ----------------------------------------------------------------------
+// Get major version as an integer
+// ----------------------------------------------------------------------
+function GetVersionMajor(version)
 {
     var dot = version.indexOf(".");
     if (dot == -1) return null;
-    dot = version.indexOf(".", dot+1);
-    if (dot == -1) dot = version.length;
-    return version.substring(0, dot);
+
+    return parseInt(version.substring(0, dot), 10);
 }
 
-function GetVersionId(version)
+// ----------------------------------------------------------------------
+// Get minor version as an integer
+// ----------------------------------------------------------------------
+function GetVersionMinor(version)
 {
     var dot = version.indexOf(".");
     if (dot == -1) return null;
-    var major = parseInt(version.substring(0, dot), 10);
-    
-    dot++;
-    var nextdot = version.indexOf(".", dot);
+
+    var nextdot = version.indexOf(".", ++dot);
     if (nextdot == -1) return null;
-    var minor = parseInt(version.substring(dot, nextdot), 10);
-    dot = nextdot+1;
-    
-    var stop = version.indexOf("-", dot);
-    if (stop == -1) stop = version.length;
-    var build = parseInt(version.substring(dot, stop), 10);
-    
+
+    return parseInt(version.substring(dot, nextdot), 10);
+}
+
+// ----------------------------------------------------------------------
+// Get build version, including "a", "sp1" and so on
+// ----------------------------------------------------------------------
+function GetVersionBuild(version)
+{   
+    var dot = version.indexOf(".");
+    if (dot == -1) return null;
+
+    dot = version.indexOf(".", ++dot);
+    if (dot == -1) return null;
+
+    var build = version.substr(++dot);  // Part after last dot
+    if (build == null) return null;
+
+    return build;
+}
+
+// ----------------------------------------------------------------------
+// Get build version as an integer
+// ----------------------------------------------------------------------
+function GetVersionBuildN(version)
+{
+    var dot = version.indexOf(".");
+    if (dot == -1) return null;
+
+    dot = version.indexOf(".", ++dot);
+    if (dot == -1) return null;
+
+    var sub = version.substr(++dot);  // Part after last dot
+    var build = sub.match(/^\d+/);    // only collect digits
+    if (build == null) return null;
+
+    return parseInt(build);
+}
+
+// ----------------------------------------------------------------------
+// Get Windows four part version
+// ----------------------------------------------------------------------
+function GetVersionWin(version)
+{
+    var major  = GetVersionMajor(version);
+    var minor  = GetVersionMinor(version);
+    var buildn = GetVersionBuildN(version);
+    var build  = GetVersionBuild(version);
+
+    // NOTE: has to match the way it is calculated in "create_manifest.js"
+
+    var fourth= 0;
+    if(build.match(/[a-z]$/)) {
+	fourth+= (1 + build.charCodeAt(end-1) - "a".charCodeAt(0));
+	build= build.substring(0,--end);  // remove the part used
+    }
+    if(build.match(/sp[1-9]$/)) {
+	fourth+= 100*(build.charCodeAt(end-1) - "0".charCodeAt(0));
+    }
+
+    return major + "." + minor + "." + buildn + "." + fourth;
+}
+
+// ----------------------------------------------------------------------
+// Form a version as one large integer, the build ID
+// ----------------------------------------------------------------------
+function GetVersionId(version)
+{
+    var major = GetVersionMajor(version);
+    var minor = GetVersionMinor(version);
+    var build = GetVersionBuildN(version);
+
     var id = major;
     if (minor < 10)
         id += '0';
@@ -201,5 +321,7 @@ function GetVersionId(version)
     if (build < 10)
         id += '0';
     id += build;
+
     return id;
 }
+

=== added file 'win/create_initial_db.cmake'
--- a/win/create_initial_db.cmake	1970-01-01 00:00:00 +0000
+++ b/win/create_initial_db.cmake	2008-07-18 19:51:51 +0000
@@ -0,0 +1,76 @@
+##############################################################################
+# Create an initial database
+##############################################################################
+
+# Debug this separately by running "cmake -P create_initial_db.cmake"
+
+# Working around CMake bug in 2.4-patch 7 when this script is called
+# from INSTALL(SCRIPT create_initial_db.cmake). It seems an relative
+# path is prepended with "current directory" and a slash, but current
+# directory is the empty string in this case. Failing code
+#
+#  if ( !cmsys::SystemTools::FileIsFullPath(args[1].c_str()) )
+#    {
+#    fileName = this->Makefile->GetCurrentDirectory();
+#    fileName += "/" + args[1];
+#    }
+# This work-around seems to be ok (tried many)
+GET_FILENAME_COMPONENT(BASEDIR . ABSOLUTE)
+
+FILE(MAKE_DIRECTORY ${BASEDIR}/win/obj
+                    ${BASEDIR}/data
+                    ${BASEDIR}/data/mysql
+                    ${BASEDIR}/data/test
+)
+
+SET(SQL_TMP_FILE "${BASEDIR}/win/obj/tmp.sql")
+
+FILE(WRITE  ${SQL_TMP_FILE} "use mysql;\n")
+
+FOREACH(SQL_FILE
+	${BASEDIR}/scripts/mysql_system_tables.sql
+	${BASEDIR}/scripts/mysql_system_tables_data.sql
+	${BASEDIR}/scripts/fill_help_tables.sql)
+  FILE(READ   ${SQL_FILE} SQL)
+  # Remove lines that will contain the build host name
+  STRING(REGEX REPLACE "[^\n]*@current_hostname[^\n]*" "" SQL "${SQL}")
+  FILE(APPEND ${SQL_TMP_FILE} ${SQL})
+ENDFOREACH(SQL_FILE)
+
+FIND_PROGRAM(MYSQLD_EXE
+             NAMES mysqld mysqld-nt mysqld-debug
+             PATHS sql
+             PATH_SUFFIXES relwithdebinfo release debug
+             NO_DEFAULT_PATH
+             NO_CMAKE_ENVIRONMENT_PATH
+             NO_CMAKE_PATH
+             NO_SYSTEM_ENVIRONMENT_PATH
+             NO_CMAKE_SYSTEM_PATH
+)
+
+MESSAGE(STATUS "Found executable to use for bootstrap ${MYSQLD_EXE}")
+
+# ----------------------------------------------------------------------
+# Pipe the SQL to "mysqld --bootstrap"
+# ----------------------------------------------------------------------
+EXECUTE_PROCESS(COMMAND ${MYSQLD_EXE}
+		--bootstrap
+		--language=${BASEDIR}/sql/share/english
+		--basedir=${BASEDIR}
+		--datadir=${BASEDIR}/data
+		--loose-skip-innodb
+		--loose-skip-bdb
+		--loose-skip-ndbcluster
+		--max_allowed_packet=8M
+		--net_buffer_length=16K
+		INPUT_FILE ${SQL_TMP_FILE}
+                ERROR_VARIABLE ERRMSG
+		RESULT_VARIABLE BOOTSTRAP_ERROR
+)
+
+# ----------------------------------------------------------------------
+# Catch failure
+# ----------------------------------------------------------------------
+IF(NOT "${BOOTSTRAP_ERROR}" STREQUAL "0")
+  MESSAGE(FATAL_ERROR "ERROR: bootstrap failed (${SQL_FILE}): ${ERRMSG}")
+ENDIF(NOT "${BOOTSTRAP_ERROR}" STREQUAL "0")

=== added file 'win/install_macros.cmake'
--- a/win/install_macros.cmake	1970-01-01 00:00:00 +0000
+++ b/win/install_macros.cmake	2008-10-21 12:32:40 +0000
@@ -0,0 +1,98 @@
+##############################################################################
+#
+#  Define install macros
+#
+##############################################################################
+
+MACRO(INSTALL_REL_EXE FILE DEST)
+  INSTALL(FILES RelWithDebInfo/${FILE}.exe DESTINATION ${DEST})
+  INSTALL(FILES RelWithDebInfo/${FILE}.pdb DESTINATION ${DEST})
+ENDMACRO(INSTALL_REL_EXE)
+
+MACRO(INSTALL_REL_EXE_IF_EXISTS FILE DEST)
+  INSTALL(FILES RelWithDebInfo/${FILE}.exe DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES RelWithDebInfo/${FILE}.pdb DESTINATION ${DEST} OPTIONAL)
+ENDMACRO(INSTALL_REL_EXE_IF_EXISTS)
+
+MACRO(INSTALL_REL_EXE_WITH_MAP FILE DEST)
+  INSTALL(FILES RelWithDebInfo/${FILE}.exe DESTINATION ${DEST})
+  INSTALL(FILES RelWithDebInfo/${FILE}.pdb DESTINATION ${DEST})
+  INSTALL(FILES RelWithDebInfo/${FILE}.map DESTINATION ${DEST})
+ENDMACRO(INSTALL_REL_EXE_WITH_MAP)
+
+MACRO(INSTALL_REL_EXE_WITH_MAP_IF_EXISTS FILE DEST)
+  INSTALL(FILES RelWithDebInfo/${FILE}.exe DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES RelWithDebInfo/${FILE}.pdb DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES RelWithDebInfo/${FILE}.map DESTINATION ${DEST} OPTIONAL)
+ENDMACRO(INSTALL_REL_EXE_WITH_MAP_IF_EXISTS)
+
+# For executables, we rename the exe to include "-debug" suffix
+MACRO(INSTALL_DBG_EXE FILE DEST)
+  INSTALL(FILES debug/${FILE}.exe DESTINATION ${DEST} RENAME ${FILE}-debug.exe)
+  INSTALL(FILES debug/${FILE}.pdb DESTINATION ${DEST} RENAME ${FILE}-debug.pdb)
+ENDMACRO(INSTALL_DBG_EXE)
+
+MACRO(INSTALL_DBG_EXE_IF_EXISTS FILE DEST)
+  INSTALL(FILES debug/${FILE}.exe DESTINATION ${DEST} RENAME ${FILE}-debug.exe OPTIONAL)
+  INSTALL(FILES debug/${FILE}.pdb DESTINATION ${DEST} RENAME ${FILE}-debug.pdb OPTIONAL)
+ENDMACRO(INSTALL_DBG_EXE_IF_EXISTS)
+
+MACRO(INSTALL_DBG_EXE_WITH_MAP FILE DEST)
+  INSTALL(FILES debug/${FILE}.exe DESTINATION ${DEST} RENAME ${FILE}-debug.exe)
+  INSTALL(FILES debug/${FILE}.pdb DESTINATION ${DEST} RENAME ${FILE}-debug.pdb)
+  INSTALL(FILES debug/${FILE}.map DESTINATION ${DEST} RENAME ${FILE}-debug.map)
+ENDMACRO(INSTALL_DBG_EXE_WITH_MAP)
+
+MACRO(INSTALL_DBG_EXE_WITH_MAP_IF_EXISTS FILE DEST)
+  INSTALL(FILES debug/${FILE}.exe DESTINATION ${DEST} RENAME ${FILE}-debug.exe OPTIONAL)
+  INSTALL(FILES debug/${FILE}.pdb DESTINATION ${DEST} RENAME ${FILE}-debug.pdb OPTIONAL)
+  INSTALL(FILES debug/${FILE}.map DESTINATION ${DEST} RENAME ${FILE}-debug.map OPTIONAL)
+ENDMACRO(INSTALL_DBG_EXE_WITH_MAP_IF_EXISTS)
+
+MACRO(INSTALL_REL_LIB FILE DEST)
+  INSTALL(FILES RelWithDebInfo/${FILE}.lib DESTINATION ${DEST})
+  INSTALL(FILES RelWithDebInfo/${FILE}.pdb DESTINATION ${DEST})
+ENDMACRO(INSTALL_REL_LIB)
+
+MACRO(INSTALL_REL_LIB_IF_EXISTS FILE DEST)
+  INSTALL(FILES RelWithDebInfo/${FILE}.lib DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES RelWithDebInfo/${FILE}.pdb DESTINATION ${DEST} OPTIONAL)
+ENDMACRO(INSTALL_REL_LIB_IF_EXISTS)
+
+MACRO(INSTALL_DBG_LIB FILE DEST)
+  INSTALL(FILES debug/${FILE}.lib DESTINATION ${DEST})
+  INSTALL(FILES debug/${FILE}.pdb DESTINATION ${DEST})
+ENDMACRO(INSTALL_DBG_LIB)
+
+MACRO(INSTALL_DBG_LIB_IF_EXISTS FILE DEST)
+  INSTALL(FILES debug/${FILE}.lib DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES debug/${FILE}.pdb DESTINATION ${DEST} OPTIONAL)
+ENDMACRO(INSTALL_DBG_LIB_IF_EXISTS)
+
+MACRO(INSTALL_REL_DLL FILE DEST)
+  INSTALL(FILES RelWithDebInfo/${FILE}.dll DESTINATION ${DEST})
+  INSTALL(FILES RelWithDebInfo/${FILE}.lib DESTINATION ${DEST})
+  INSTALL(FILES RelWithDebInfo/${FILE}.pdb DESTINATION ${DEST})
+  INSTALL(FILES RelWithDebInfo/${FILE}.exp DESTINATION ${DEST})
+ENDMACRO(INSTALL_REL_DLL)
+
+MACRO(INSTALL_REL_DLL_IF_EXISTS FILE DEST)
+  INSTALL(FILES RelWithDebInfo/${FILE}.dll DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES RelWithDebInfo/${FILE}.lib DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES RelWithDebInfo/${FILE}.pdb DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES RelWithDebInfo/${FILE}.exp DESTINATION ${DEST} OPTIONAL)
+ENDMACRO(INSTALL_REL_DLL_IF_EXISTS)
+
+MACRO(INSTALL_DBG_DLL FILE DEST)
+  INSTALL(FILES debug/${FILE}.dll DESTINATION ${DEST})
+  INSTALL(FILES debug/${FILE}.lib DESTINATION ${DEST})
+  INSTALL(FILES debug/${FILE}.pdb DESTINATION ${DEST})
+  INSTALL(FILES debug/${FILE}.exp DESTINATION ${DEST})
+ENDMACRO(INSTALL_DBG_DLL)
+
+MACRO(INSTALL_DBG_DLL_IF_EXISTS FILE DEST)
+  INSTALL(FILES debug/${FILE}.dll DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES debug/${FILE}.lib DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES debug/${FILE}.pdb DESTINATION ${DEST} OPTIONAL)
+  INSTALL(FILES debug/${FILE}.exp DESTINATION ${DEST} OPTIONAL)
+ENDMACRO(INSTALL_DBG_DLL_IF_EXISTS)

=== added file 'win/install_targets.cmake'
--- a/win/install_targets.cmake	1970-01-01 00:00:00 +0000
+++ b/win/install_targets.cmake	2008-07-18 19:51:51 +0000
@@ -0,0 +1,119 @@
+##############################################################################
+#
+#  Install target, also used by CPACK
+#  No absolute paths allowed in destinations, else CPACK will fail
+#
+##############################################################################
+
+# ----------------------------------------------------------------------
+# Include all headers, but exlude some we know should not be in. This
+# way we don't risk having too few headers when new headers are added
+# ----------------------------------------------------------------------
+
+INSTALL(DIRECTORY include/ DESTINATION include
+        PATTERN "SCCS"              EXCLUDE
+        PATTERN "atomic"            EXCLUDE
+        PATTERN "Makefile.*"        EXCLUDE
+        PATTERN "base64.h"          EXCLUDE
+        PATTERN "config-netware.h"  EXCLUDE
+        PATTERN "ft_global.h"       EXCLUDE
+        PATTERN "hash.h"            EXCLUDE
+        PATTERN "heap.h"            EXCLUDE
+        PATTERN "help_*.h"          EXCLUDE
+        PATTERN "my_aes.h"          EXCLUDE
+        PATTERN "my_alarm.h"        EXCLUDE
+        PATTERN "my_atomic.h"       EXCLUDE
+        PATTERN "my_base.h"         EXCLUDE
+        PATTERN "my_bit.h"          EXCLUDE
+        PATTERN "my_bitmap.h"       EXCLUDE
+        PATTERN "my_handler.h"      EXCLUDE
+        PATTERN "my_libwrap.h"      EXCLUDE
+        PATTERN "my_md5.h"          EXCLUDE
+        PATTERN "my_nosys.h"        EXCLUDE
+        PATTERN "my_stacktrace.h"   EXCLUDE
+        PATTERN "my_time.h"         EXCLUDE
+        PATTERN "my_tree.h"         EXCLUDE
+        PATTERN "my_trie.h"         EXCLUDE
+        PATTERN "my_uctype.h"       EXCLUDE
+        PATTERN "my_user.h"         EXCLUDE
+        PATTERN "my_vle.h"          EXCLUDE
+        PATTERN "myisam*.h"         EXCLUDE
+        PATTERN "mysql_h.ic"        EXCLUDE
+        PATTERN "mysql_version.h.in"EXCLUDE
+        PATTERN "mysys_err.h"       EXCLUDE
+        PATTERN "queues.h"          EXCLUDE
+        PATTERN "rijndael.h"        EXCLUDE
+        PATTERN "sha1.h"            EXCLUDE
+        PATTERN "t_ctype.h"         EXCLUDE
+        PATTERN "thr_*.h"           EXCLUDE
+        PATTERN "violite.h"         EXCLUDE
+)
+
+INSTALL(FILES libmysql/libmysql.def   DESTINATION include)
+INSTALL(FILES libmysqld/libmysqld.def DESTINATION include OPTIONAL)
+
+# ----------------------------------------------------------------------
+# Copy the doc files
+# ----------------------------------------------------------------------
+INSTALL(FILES EXCEPTIONS-CLIENT   DESTINATION .)
+INSTALL(FILES COPYING             DESTINATION .)
+INSTALL(FILES COPYING             DESTINATION Docs)
+INSTALL(FILES Docs/INSTALL-BINARY DESTINATION Docs)
+INSTALL(FILES Docs/ChangeLog      DESTINATION Docs OPTIONAL)
+INSTALL(FILES Docs/manual.chm     DESTINATION Docs OPTIONAL)
+
+# ----------------------------------------------------------------------
+# Copy the test/sql-bench/share/data directories
+# ----------------------------------------------------------------------
+INSTALL(DIRECTORY mysql-test/ DESTINATION mysql-test
+        PATTERN "SCCS"       EXCLUDE
+        PATTERN "Makefile.*" EXCLUDE
+        PATTERN "*.sh"       EXCLUDE
+        PATTERN "*.moved"    EXCLUDE
+)
+
+INSTALL(DIRECTORY sql/share/ DESTINATION share
+        PATTERN "SCCS"       EXCLUDE
+        PATTERN "Makefile.*" EXCLUDE
+)
+
+INSTALL(DIRECTORY sql-bench/ DESTINATION sql-bench
+        PATTERN "SCCS"       EXCLUDE
+        PATTERN "Makefile.*" EXCLUDE
+        PATTERN "*.sh"       EXCLUDE
+)
+
+# ----------------------------------------------------------------------
+# Copy the initial database
+# ----------------------------------------------------------------------
+# cmake doesn't like an install of non existing directory,
+# doesn't help it is created in "create_initial_db.cmake"
+FILE(MAKE_DIRECTORY data)
+INSTALL(DIRECTORY data/ DESTINATION data
+        PATTERN "*.err"      EXCLUDE
+)
+
+# ----------------------------------------------------------------------
+# Copy what could be usable in the "scripts" directory
+# ----------------------------------------------------------------------
+INSTALL(FILES
+	scripts/fill_help_tables.sql
+	scripts/mysql_fix_privilege_tables.sql
+	scripts/mysql_system_tables.sql
+	scripts/mysql_system_tables_data.sql
+	scripts/mysql_system_tables_fix.sql
+	scripts/mysql_test_data_timezone.sql
+        DESTINATION share
+)
+
+# ----------------------------------------------------------------------
+# Copy MySQL configuration sample files
+# ----------------------------------------------------------------------
+INSTALL(FILES
+	support-files/my-huge.ini
+	support-files/my-innodb-heavy-4G.ini
+	support-files/my-large.ini
+	support-files/my-medium.ini
+	support-files/my-small.ini
+        DESTINATION .
+)

=== added file 'win/msi.cmake'
--- a/win/msi.cmake	1970-01-01 00:00:00 +0000
+++ b/win/msi.cmake	2008-10-21 10:00:18 +0000
@@ -0,0 +1,126 @@
+##############################################################################
+# Create MSI package using the WiX tools
+##############################################################################
+
+# This script is run separately by running
+#
+#   cmake -DRES_DIR=<path-to-resource-dir> \
+#         -DWIX_DIR=<path-to-wix-install-dir> \
+#         -DARCH=win32 -P win/msi.cmake
+#
+# Working around CMake bug in 2.4-patch 7, only hitting this code
+# if called from INSTALL(SCRIPT create_initial_db.cmake).
+# It seems an relative path is prepended with "current directory" and
+# a slash, but current directory is the empty string. Failing code
+#
+#  if ( !cmsys::SystemTools::FileIsFullPath(args[1].c_str()) )
+#    {
+#    fileName = this->Makefile->GetCurrentDirectory();
+#    fileName += "/" + args[1];
+#    }
+# This work-around seems to be ok (tried many)
+GET_FILENAME_COMPONENT(BASEDIR . ABSOLUTE)
+
+##############################################################################
+#
+#  Macro to run a command and check error
+#
+##############################################################################
+
+MACRO(RUN)
+  EXECUTE_PROCESS(COMMAND ${ARGV}
+		  ERROR_VARIABLE ERRMSG
+		  RESULT_VARIABLE ERR)
+  IF(NOT "${ERR}" STREQUAL "0")
+    MESSAGE(FATAL_ERROR "ERROR: command \"${ARGV}\" failed: ${ERRMSG}")
+  ENDIF(NOT "${ERR}" STREQUAL "0")
+ENDMACRO(RUN)
+
+##############################################################################
+
+INCLUDE(win/obj/configure.data)
+MESSAGE(STATUS
+"Packaging the ${COMPILATION_COMMENT} version ${VERSION} (${MYSQL_VERSION_ID})")
+
+# ----------------------------------------------------------------------
+# Check that we run from the right directory, and have all options
+# ----------------------------------------------------------------------
+IF(NOT EXISTS win/msi.cmake)
+  MESSAGE(FATAL_ERROR "ERROR: run this script from source top directory")
+ENDIF(NOT EXISTS win/msi.cmake)
+
+IF(NOT ARCH)
+  MESSAGE(FATAL_ERROR "ERROR: missing argument -DARCH=win32 or -DARCH=winx64")
+ENDIF(NOT ARCH)
+
+IF(NOT RES_DIR)
+  MESSAGE(FATAL_ERROR "ERROR: missing argument -DRES_DIR=<path>")
+ENDIF(NOT RES_DIR)
+
+# ----------------------------------------------------------------------
+# Find the WiX tools
+# ----------------------------------------------------------------------
+IF(NOT WIX_DIR)
+  MESSAGE(FATAL_ERROR "ERROR: missing argument -DWIX_DIR=<path>")
+ENDIF(NOT WIX_DIR)
+
+# FIXME really want "${WIX_DIR}/<cmd>.exe"
+SET(CANDLE candle.exe)
+SET(LIGHT  light.exe)
+
+# ----------------------------------------------------------------------
+# Form the output file name
+# ----------------------------------------------------------------------
+IF(MYSQL_SERVER_SUFFIX STREQUAL "-community")
+  SET(MYSQL_SERVER_SUFFIX "")
+ENDIF(MYSQL_SERVER_SUFFIX STREQUAL "-community")
+
+# Follow the MySQL tradition to create packages in the top directory :-)
+SET(MSI_PACKAGE ${BASEDIR}/mysql${MYSQL_SERVER_SUFFIX}-${VERSION}-${ARCH}.msi)
+MESSAGE(STATUS "Creating ${MSI_PACKAGE}")
+
+# ----------------------------------------------------------------------
+# Create some directories
+# ----------------------------------------------------------------------
+FILE(MAKE_DIRECTORY ${BASEDIR}/win/obj)
+FILE(MAKE_DIRECTORY ${BASEDIR}/win/tmp)
+
+# ----------------------------------------------------------------------
+# Install what we will pack later into a temporary directory
+# ----------------------------------------------------------------------
+RUN(${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${BASEDIR}/win/tmp
+                     -P cmake_install.cmake)
+
+# ----------------------------------------------------------------------
+# Create "mysql_server.wixobj"
+# ----------------------------------------------------------------------
+RUN(${CANDLE} ${BASEDIR}/win/mysql_server.wxs
+           -dMYSQL_SERVER_SUFFIX=${MYSQL_SERVER_SUFFIX}
+           -o ${BASEDIR}/win/obj/mysql_server.wixobj)
+
+# ----------------------------------------------------------------------
+# Create "mysql_server_fragment.wixobj"
+# ----------------------------------------------------------------------
+RUN(${CANDLE} ${BASEDIR}/win/mysql_server_fragment.wxs
+           -dMYSQL_SERVER_SUFFIX=${MYSQL_SERVER_SUFFIX}
+           -o ${BASEDIR}/win/obj/mysql_server_fragment.wixobj)
+
+# ----------------------------------------------------------------------
+# Create "mysql_server_registration.wixobj"
+# ----------------------------------------------------------------------
+RUN(${CANDLE} ${BASEDIR}/win/mysql_server_registration.wxs
+           -dMYSQL_SERVER_SUFFIX=${MYSQL_SERVER_SUFFIX}
+           -o ${BASEDIR}/win/obj/mysql_server_registration.wixobj)
+
+# ----------------------------------------------------------------------
+# Create the MSI
+# ----------------------------------------------------------------------
+RUN(${LIGHT} -b ${BASEDIR}/win/tmp
+             -b ${RES_DIR}
+             -b ${WIX_DIR}
+             ${BASEDIR}/win/obj/mysql_server.wixobj
+             ${BASEDIR}/win/obj/mysql_server_fragment.wixobj
+             ${BASEDIR}/win/obj/mysql_server_registration.wixobj
+             -o ${MSI_PACKAGE})
+
+##############################################################################

=== added file 'win/mysql_common_ui.wxi'
--- a/win/mysql_common_ui.wxi	1970-01-01 00:00:00 +0000
+++ b/win/mysql_common_ui.wxi	2008-07-18 23:36:39 +0000
@@ -0,0 +1,1386 @@
+<!-- -*- nxml -*- -->

+

+<Include>

+  <UI>

+    <Property Id="ErrorDialog">SetupErrorDialog</Property>

+    <Property Id="DefaultUIFont">Tahoma8</Property>

+

+    <!-- *****************************************************************************************

+      Setup Error Dialog

+    -->

+

+    <!-- The four required dialog boxes -->

+    <Dialog Id="SetupErrorDialog" Y="10" Width="270" Height="110" Title="[ProductName] Installer Information"

+      ErrorDialog="yes">

+      <Control Id="ErrorText" Type="Text" X="50" Y="15" Width="200" Height="50" TabSkip="no">

+        <Text>&lt;error text goes here&gt;&lt;error text goes here&gt;&lt;error text goes here&gt;&lt;error text goes here&gt;&lt;error text goes here&gt;&lt;error text goes here&gt;&lt;error text goes here&gt;&lt;error text goes here&gt;&lt;error text goes here&gt;&lt;error text goes here&gt;&lt;error text goes here&gt;</Text>

+      </Control>

+      <Control Id="Y" Type="PushButton" X="192" Y="80" Width="66" Height="17" TabSkip="yes" Text="&amp;Yes">

+        <Publish Event="EndDialog" Value="ErrorYes">1</Publish>

+      </Control>

+      <Control Id="N" Type="PushButton" X="192" Y="80" Width="66" Height="17" TabSkip="yes" Text="&amp;No">

+        <Publish Event="EndDialog" Value="ErrorNo">1</Publish>

+      </Control>

+      <Control Id="A" Type="PushButton" X="192" Y="80" Width="66" Height="17" TabSkip="yes" Text="&amp;Abort">

+        <Publish Event="EndDialog" Value="ErrorAbort">1</Publish>

+      </Control>

+      <Control Id="C" Type="PushButton" X="192" Y="80" Width="66" Height="17" Cancel="yes" TabSkip="yes"

+        Text="&amp;Cancel">

+        <Publish Event="EndDialog" Value="ErrorCancel">1</Publish>

+      </Control>

+      <Control Id="I" Type="PushButton" X="192" Y="80" Width="66" Height="17" TabSkip="yes" Text="&amp;Ignore">

+        <Publish Event="EndDialog" Value="ErrorIgnore">1</Publish>

+      </Control>

+      <Control Id="O" Type="PushButton" X="192" Y="80" Width="66" Height="17" Default="yes" TabSkip="yes"

+        Text="&amp;OK">

+        <Publish Event="EndDialog" Value="ErrorOk">1</Publish>

+      </Control>

+      <Control Id="R" Type="PushButton" X="192" Y="80" Width="66" Height="17" TabSkip="yes" Text="&amp;Retry">

+        <Publish Event="EndDialog" Value="ErrorRetry">1</Publish>

+      </Control>

+      <Control Id="WarningIcon" Type="Icon" X="15" Y="15" Width="24" Height="24" FixedSize="yes"

+        IconSize="32" Text="NewBinary4" />

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Setup Complete Successfully

+    -->

+    <!--

+      This dialog includes the option to launch the ConfigureServer CustomAction

+    -->

+

+    <Dialog Id="SetupCompleteSuccessDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="OK" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes" Cancel="yes"

+        Text="&amp;Finish">

+        <!-- -->

+        <Publish Event="DoAction" Value="PostRegistration.SetProperty">NOT Installed And ACTION="INSTALL" And $ServerInstanceConfig=3</Publish>

+        <Publish Event="DoAction" Value="PostRegistration">NOT Installed And ACTION="INSTALL" And $ServerInstanceConfig=3</Publish>

+       

+        <Publish Event="DoAction" Value="ConfigureServer">ConfigureServer And NOT Installed And ACTION="INSTALL" And $ServerInstanceConfig=3</Publish>

+        <Publish Event="EndDialog" Value="Exit">1</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="Cancel" />

+      <Control Id="Image" Type="Bitmap" X="0" Y="0" Width="374" Height="234" TabSkip="no" Text="AdminBackground" />

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="&lt; &amp;Back" />

+

+      <Control Id="TextLine3" Type="Text" X="135" Y="55" Width="228" Height="45" Hidden="yes" Transparent="yes">

+        <Text>The Setup Wizard has successfully uninstalled [ProductName]. Click Finish to exit the wizard.</Text>

+        <Condition Action="show">ProgressType2="uninstalled"</Condition>

+      </Control>

+      <Control Id="UpdateTextLine1" Type="Text" X="135" Y="30" Width="228" Height="45" Hidden="yes" Transparent="yes">

+        <Text>Setup has finished installing [ProductName]. Click Finish to exit the wizard.</Text>

+        <Condition Action="show">NOT Installed And ACTION="INSTALL"</Condition>

+      </Control>

+      <Control Id="InstallServiceCBox" Type="CheckBox" X="135" Y="88" Width="11" Height="11" 

+        Property="ConfigureServer" Integer="yes" Hidden="yes" CheckBoxValue="1">

+        <Condition Action="show">NOT Installed And ACTION="INSTALL" And $ServerInstanceConfig=3</Condition>

+      </Control>

+      <Control Id="InstallServiceLbl" Type="Text" X="148" Y="88" Width="208" Height="11" Hidden="yes" Transparent="yes">

+        <Text>{&amp;TahomaBold8}Configure the MySQL Server now</Text>

+        <Condition Action="show">NOT Installed And ACTION="INSTALL" And $ServerInstanceConfig=3</Condition>

+      </Control>

+      <Control Id="InstallServiceDescLbl" Type="Text" X="148" Y="100" Width="208" Height="48" Hidden="yes" Transparent="yes">

+        <Text>Use this option to generate an optimized MySQL config file, setup a Windows service running on a dedicated port and to set the password for the root account.</Text>

+        <Condition Action="show">NOT Installed And ACTION="INSTALL" And $ServerInstanceConfig=3</Condition>

+      </Control>

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="TextLine1" Type="Text" X="135" Y="8" Width="225" Height="45" Transparent="yes">

+        <Text>{&amp;TahomaBold10}Wizard Completed</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      User Exit Dialog

+    -->

+

+    <Dialog Id="SetupInterruptedDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      

+      <Control Id="Finish" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Cancel="yes" Text="&amp;Finish">

+        <Publish Event="EndDialog" Value="Exit">1</Publish>

+        <Condition Action="default">NOT UpdateStarted</Condition>

+      </Control>

+      

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Disabled="yes"

+        TabSkip="yes" Text="Cancel">

+        <Publish Property="Suspend" Value="1">1</Publish>

+        <Publish Event="EndDialog" Value="Exit">1</Publish>

+        <Condition Action="disable">NOT UpdateStarted</Condition>

+        <Condition Action="enable">UpdateStarted</Condition>

+      </Control>

+      

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Disabled="yes"

+        TabSkip="yes" Text="&lt; &amp;Back">

+        <Publish Property="Suspend" Value="{}">1</Publish>

+        <Publish Event="EndDialog" Value="Exit">1</Publish>

+        <Condition Action="disable">NOT UpdateStarted</Condition>

+        <Condition Action="enable">UpdateStarted</Condition>

+        <Condition Action="default">UpdateStarted</Condition>

+      </Control>

+      <Control Id="FinishText1" Type="Text" X="135" Y="80" Width="228" Height="50" Transparent="yes">

+        <Text>Your system has not been modified. To install this program at a later time, please run the installation again.</Text>

+        <Condition Action="hide">UpdateStarted</Condition>

+        <Condition Action="show">NOT UpdateStarted</Condition>

+      </Control>

+      <Control Id="FinishText2" Type="Text" X="135" Y="135" Width="228" Height="25" Transparent="yes">

+        <Text>Click Finish to exit the wizard.</Text>

+        <Condition Action="hide">UpdateStarted</Condition>

+        <Condition Action="show">NOT UpdateStarted</Condition>

+      </Control>

+      <Control Id="RestContText1" Type="Text" X="135" Y="80" Width="228" Height="50" Transparent="yes">

+        <Text>You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.</Text>

+        <Condition Action="hide">NOT UpdateStarted</Condition>

+        <Condition Action="show">UpdateStarted</Condition>

+      </Control>

+      <Control Id="RestContText2" Type="Text" X="135" Y="135" Width="228" Height="25" Transparent="yes">

+        <Text>Click Restore or Continue Later to exit the wizard.</Text>

+        <Condition Action="hide">NOT UpdateStarted</Condition>

+        <Condition Action="show">UpdateStarted</Condition>

+      </Control>

+      <Control Id="TextLine2" Type="Text" X="135" Y="55" Width="228" Height="25" Transparent="yes">

+        <Text>The wizard was interrupted before [ProductName] could be completely installed.</Text>

+      </Control>

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="Image" Type="Bitmap" X="0" Y="0" Width="374" Height="234" Text="AdminBackground" />

+      <Control Id="TextLine1" Type="Text" X="135" Y="8" Width="225" Height="45" Transparent="yes">

+        <Text>{&amp;TahomaBold10}Wizard Completed</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Setup Complete Error Dialog

+    -->

+

+    <Dialog Id="SetupCompleteErrorDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard" NoMinimize="yes">

+      <Control Id="Finish" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Cancel="yes" Text="&amp;Finish">

+        <Publish Event="EndDialog" Value="Exit">1</Publish>

+        <Condition Action="default">NOT UpdateStarted</Condition>

+      </Control>

+    

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="Cancel">

+        <Publish Property="Suspend" Value="1">1</Publish>

+        <Publish Event="EndDialog" Value="Return">1</Publish>

+        <Condition Action="disable">NOT UpdateStarted</Condition>

+        <Condition Action="enable">UpdateStarted</Condition>

+      </Control>

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="&lt; &amp;Back">

+        <Publish Property="Suspend" Value="{}">1</Publish>

+        <Publish Event="EndDialog" Value="Return">1</Publish>

+        <Condition Action="disable">NOT UpdateStarted</Condition>

+        <Condition Action="enable">UpdateStarted</Condition>

+        <Condition Action="default">UpdateStarted</Condition>

+      </Control>

+      <Control Id="FinishText1" Type="Text" X="135" Y="80" Width="228" Height="50" Transparent="yes">

+        <Text>Your system has not been modified. To complete installation at another time, please run setup again.</Text>

+        <Condition Action="hide">UpdateStarted</Condition>

+        <Condition Action="show">NOT UpdateStarted</Condition>

+      </Control>

+      <Control Id="FinishText2" Type="Text" X="135" Y="135" Width="228" Height="25" Transparent="yes">

+        <Text>Click Finish to exit the wizard.</Text>

+        <Condition Action="hide">UpdateStarted</Condition>

+        <Condition Action="show">NOT UpdateStarted</Condition>

+      </Control>

+      <Control Id="RestContText1" Type="Text" X="135" Y="80" Width="228" Height="50" Transparent="yes">

+        <Text>You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.</Text>

+        <Condition Action="hide">NOT UpdateStarted</Condition>

+        <Condition Action="show">UpdateStarted</Condition>

+      </Control>

+      <Control Id="RestContText2" Type="Text" X="135" Y="135" Width="228" Height="25" Transparent="yes">

+        <Text>Click Restore or Continue Later to exit the wizard.</Text>

+        <Condition Action="hide">NOT UpdateStarted</Condition>

+        <Condition Action="show">UpdateStarted</Condition>

+      </Control>

+      <Control Id="TextLine2" Type="Text" X="135" Y="55" Width="228" Height="25" Transparent="yes">

+        <Text>The wizard was interrupted before [ProductName] could be completely installed.</Text>

+      </Control>

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="Image" Type="Bitmap" X="0" Y="0" Width="374" Height="234" Text="AdminBackground" />

+      <Control Id="TextLine1" Type="Text" X="135" Y="8" Width="225" Height="45" Transparent="yes">

+        <Text>{&amp;TahomaBold10}[ProductName] Setup Wizard ended prematurely</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Cancel Dialog

+    -->

+    <!-- called when the user presses cancel -->

+

+    <Dialog Id="CancelSetupDialog" Width="260" Height="85" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      

+      <Control Id="No" Type="PushButton" X="135" Y="57" Width="66" Height="17" Default="yes" Cancel="yes"

+        Text="&amp;No">

+        <Publish Event="EndDialog" Value="Return">1</Publish>

+      </Control>

+      

+      <Control Id="Yes" Type="PushButton" X="62" Y="57" Width="66" Height="17" Text="&amp;Yes">

+        <Publish Event="EndDialog" Value="Exit">1</Publish>

+      </Control>

+      

+      <Control Id="Text" Type="Text" X="48" Y="15" Width="194" Height="30">

+        <Text>Are you sure you want to cancel [ProductName] installation?</Text>

+      </Control>

+      

+      <Control Id="Icon" Type="Icon" X="15" Y="15" Width="24" Height="24" FixedSize="yes" IconSize="32"

+        Text="NewBinary4" />

+        

+    </Dialog>  

+

+    <!-- *****************************************************************************************

+      Install Welcome Dialog

+    -->

+

+    <Dialog Id="InstallWelcomeDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard" NoMinimize="yes">

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Next &gt;">

+        <?if $(var.LICENSE) = "commercial" ?>

+          <Publish Event="NewDialog" Value="LicenseAgreementDialog">1</Publish> 

+        <?else?>

+          <Publish Event="NewDialog" Value="SetupTypeDialog">1</Publish>

+        <?endif?>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="&lt; &amp;Back">

+      </Control>

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="Image" Type="Bitmap" X="0" Y="0" Width="374" Height="234" Text="AdminBackground" />

+      <Control Id="TextLine1" Type="Text" X="135" Y="8" Width="225" Height="45" Transparent="yes">

+        <Text>{&amp;TahomaBold10}Welcome to the Setup Wizard for [ProductName]</Text>

+      </Control>

+      <Control Id="TextLine2" Type="Text" X="135" Y="55" Width="228" Height="45" Transparent="yes">

+        <Text>The Setup Wizard will install [ProductName] release [ProductVersion] on your computer. To continue, click Next.</Text>

+      </Control>      

+      <Control Id="PrevVersion" Type="Text" X="135" Y="95" Width="228" Height="73" Transparent="yes"

+        TabSkip="no" Hidden="yes">

+        <Text>Setup has detected a previous version of [ProductName]. It will be removed during this installation.</Text>

+        <Condition Action="show">PREVIOUSVERSIONINSTALLED</Condition>

+      </Control>

+      <Control Id="OldDataWarn" Type="Text" X="135" Y="135" Width="228" Height="73" Transparent="yes" 

+      TabSkip="no" Hidden="yes">

+        <Text>!!!ATTENTION!!! The default data directory has changed since you installed the previous version. If you want to use the data from your existing installation, you can set the data directory in the Custom installation dialog or you can manually copy the existing data into the new data directory.</Text>

+        <Condition Action="show">PREVIOUSVERSIONINSTALLED And OLDDATADIRVERSION</Condition>

+      </Control>

+      <Control Id="Copyright" Type="Text" X="135" Y="195" Width="228" Height="70" Transparent="yes"

+        TabSkip="no">

+        <Text>WARNING: This program is protected by copyright law.</Text>

+      </Control>      

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Maintenance Welcome Dialog

+    -->

+    

+    <Dialog Id="MaintenanceWelcomeDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Next &gt;">

+        <Publish Event="NewDialog" Value="MaintenanceTypeDialog">1</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="&lt; &amp;Back" />

+      <Control Id="TextLine2" Type="Text" X="135" Y="55" Width="228" Height="50" Transparent="yes">

+        <Text>The Setup Wizard will allow you to modify, repair, or remove [ProductName]. To continue, click Next.</Text>

+      </Control>

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="Image" Type="Bitmap" X="0" Y="0" Width="374" Height="234" Text="AdminBackground" />

+      <Control Id="TextLine1" Type="Text" X="135" Y="8" Width="225" Height="45" Transparent="yes">

+        <Text>{&amp;TahomaBold10}Welcome to the Setup Wizard for [ProductName]</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Admin Welcome Dialog

+    -->

+

+    <Dialog Id="AdminWelcomeDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard" NoMinimize="yes">

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Next &gt;">

+        <Publish Event="NewDialog" Value="AdminNetworkLocationDialog">1</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="&lt; &amp;Back" />

+      <Control Id="TextLine2" Type="Text" X="135" Y="55" Width="228" Height="45" Transparent="yes">

+        <Text>This Wizard will create a server image of [ProductName] at a specified network location. To continue, click Next.</Text>

+      </Control>

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="Image" Type="Bitmap" X="0" Y="0" Width="374" Height="234" Text="AdminBackground" />

+      <Control Id="TextLine1" Type="Text" X="135" Y="8" Width="225" Height="45" Transparent="yes">

+        <Text>{&amp;TahomaBold10}Welcome to the Setup Wizard for [ProductName]</Text>

+      </Control>

+    </Dialog>

+    

+    <!-- *****************************************************************************************

+      Setup Initialization Dialog

+    -->

+    <!--

+      normally you won't see this dialog because it is only shown while loading and

+      the load-time of the administrator is very short.. 

+    -->

+    <Dialog Id="SetupInitializationDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      Modeless="yes">

+      

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Default="yes"

+        Cancel="yes" Text="Cancel">

+         <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish> 

+      </Control>

+      

+      <Control Id="ActionText" Type="Text" X="135" Y="109" Width="220" Height="36" Transparent="yes">

+        <Subscribe Event="ActionText" Attribute="Text" />

+      </Control>

+      

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Disabled="yes"

+        TabSkip="yes" Text="&lt; &amp;Back" />

+      

+      <Control Id="TextLine2" Type="Text" X="135" Y="55" Width="228" Height="30" Transparent="yes">

+        <Text>[ProductName] Setup is preparing the Setup Wizard which will guide you through the program setup process.  Please wait...</Text>

+      </Control>

+      

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Disabled="yes"

+        TabSkip="yes" Text="&amp;Next &gt;" />

+      

+      <Control Id="ActionData" Type="Text" X="135" Y="125" Width="228" Height="12" Transparent="yes">

+        <Subscribe Event="ActionData" Attribute="Text" />

+      </Control>

+      

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      

+      <Control Id="Image" Type="Bitmap" X="0" Y="0" Width="374" Height="234" Text="AdminBackground" />

+      

+      <Control Id="TextLine1" Type="Text" X="135" Y="8" Width="225" Height="45" Transparent="yes">

+        <Text>{&amp;TahomaBold10}Welcome to the Setup Wizard for [ProductName]</Text>

+      </Control>      

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Setup Progress Dialog

+    -->

+    

+    <Dialog Id="SetupProgressDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      Modeless="yes">

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Default="yes"

+        Cancel="yes" Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="&lt; &amp;Back" />

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="&amp;Next &gt;" />

+      <Control Id="ActionText" Type="Text" X="59" Y="100" Width="275" Height="12">

+        <Subscribe Event="ActionText" Attribute="Text" />

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Hidden="yes" Transparent="yes">

+        <Text>The program features you selected are being installed.</Text>

+        <Condition Action="show">ProgressType2="installed"</Condition>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Hidden="yes" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Installing [ProductName]</Text>

+        <Condition Action="show">ProgressType1="Installing"</Condition>

+      </Control>

+      <Control Id="DlgText" Type="Text" X="59" Y="51" Width="275" Height="30" Hidden="yes" Transparent="yes">

+        <Text>Please wait while the Setup Wizard installs [ProductName]. This may take several minutes.</Text>

+        <Condition Action="show">ProgressType3="installs"</Condition>

+      </Control>

+      <Control Id="DlgTitle2" Type="Text" X="13" Y="6" Width="292" Height="25" Hidden="yes" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Uninstalling [ProductName]</Text>

+        <Condition Action="show">ProgressType1="Uninstalling"</Condition>

+      </Control>

+      <Control Id="DlgText2" Type="Text" X="59" Y="51" Width="275" Height="30" Hidden="yes" Transparent="yes">

+        <Text>Please wait while the Setup Wizard uninstalls [ProductName]. This may take several minutes.</Text>

+        <Condition Action="show">ProgressType3="uninstalls"</Condition>

+      </Control>

+      <Control Id="DlgDesc2" Type="Text" X="21" Y="23" Width="292" Height="25" Hidden="yes" Transparent="yes">

+        <Text>The program features you selected are being uninstalled.</Text>

+        <Condition Action="show">ProgressType2="uninstalled"</Condition>

+      </Control>

+      <Control Id="ActionProgress95" Type="ProgressBar" X="59" Y="113" Width="275" Height="12"

+        ProgressBlocks="yes" Text="Progress done">

+        <Subscribe Event="InstallFiles" Attribute="Progress" />

+        <Subscribe Event="MoveFiles" Attribute="Progress" />

+        <Subscribe Event="RemoveFiles" Attribute="Progress" />

+        <Subscribe Event="RemoveRegistryValues" Attribute="Progress" />

+        <Subscribe Event="WriteIniValues" Attribute="Progress" />

+        <Subscribe Event="WriteRegistryValues" Attribute="Progress" />

+        <Subscribe Event="UnmoveFiles" Attribute="Progress" />

+        <Subscribe Event="AdminInstallFinalize" Attribute="Progress" />

+        <Subscribe Event="SetProgress" Attribute="Progress" />

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="LbSec" Type="Text" X="172" Y="139" Width="32" Height="12" Hidden="yes" Text="(Hidden for now)Sec." />

+      <Control Id="LbStatus" Type="Text" X="59" Y="85" Width="70" Height="12" Text="Status:" />

+      <Control Id="SetupIcon" Type="Icon" X="21" Y="51" Width="24" Height="24" FixedSize="yes"

+        IconSize="32" Text="NewBinary9" />

+      <Control Id="ShowTime" Type="Text" X="155" Y="139" Width="17" Height="12" Hidden="yes" Text="(Hidden for now)" />

+      <Control Id="TextTime" Type="Text" X="59" Y="139" Width="96" Height="12" Hidden="yes">

+        <Text>)Hidden for now)Estimated time remaining:</Text>

+      </Control>

+    </Dialog>

+    

+    <!-- *****************************************************************************************

+      Resume Setup Dialog

+    -->

+

+    <Dialog Id="SetupResumeDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Next &gt;">

+        <Publish Event="NewDialog" Value="OutOfSpaceDialog">OutOfNoRbDiskSpace = 1</Publish>

+        <Publish Event="EndDialog" Value="Return">OutOfNoRbDiskSpace &lt;&gt; 1</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Disabled="yes"

+        Text="&lt; &amp;Back" />

+      <Control Id="PreselectedText" Type="Text" X="135" Y="55" Width="228" Height="45" Transparent="yes">

+        <Text>The Setup Wizard will complete the installation of [ProductName] on your computer. To continue, click Next.</Text>

+        <Condition Action="hide">RESUME</Condition>

+        <Condition Action="show">NOT RESUME</Condition>

+      </Control>

+      <Control Id="ResumeText" Type="Text" X="135" Y="46" Width="228" Height="45" Transparent="yes">

+        <Text>The Setup Wizard will complete the suspended installation of [ProductName] on your computer. To continue, click Next.</Text>

+        <Condition Action="hide">NOT RESUME</Condition>

+        <Condition Action="show">RESUME</Condition>

+      </Control>

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="Image" Type="Bitmap" X="0" Y="0" Width="374" Height="234" Text="AdminBackground" />

+      <Control Id="TextLine1" Type="Text" X="135" Y="8" Width="225" Height="45" Transparent="yes">

+        <Text>{&amp;TahomaBold10}Resuming the Setup Wizard for [ProductName]</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Setup Type Dialog

+    -->

+

+    <Dialog Id="SetupTypeDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard" NoMinimize="yes">

+      <Control Id="RadioGroup" Type="RadioButtonGroup" X="22" Y="62" Width="264" Height="166" Property="SetupType"

+        FixedSize="yes" />

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Text="&lt; &amp;Back">

+          <?if $(var.LICENSE) = "commercial"?>

+            <Publish Event="NewDialog" Value="LicenseAgreementDialog">NOT Installed</Publish>

+          <?else?>

+            <Publish Event="NewDialog" Value="InstallWelcomeDialog">NOT Installed</Publish>

+          <?endif?>        

+      </Control>

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Next &gt;">

+        <Publish Event="NewDialog" Value="CustomSetupDialog">SetupType = "Custom"</Publish>

+        <Publish Event="NewDialog" Value="ReadyToInstallDialog">SetupType &lt;&gt; "Custom"</Publish>

+        <Publish Property="SelectedSetupType" Value="Typical">SetupType = "Typical"</Publish>

+        <Publish Property="SelectedSetupType" Value="Complete">SetupType = "Complete"</Publish>

+        <Publish Property="SelectedSetupType" Value="Custom">SetupType = "Custom"</Publish>

+        <Publish Event="SetInstallLevel" Value="1">SetupType="Typical"</Publish>

+        <Publish Event="SetInstallLevel" Value="10">SetupType="Complete"</Publish>

+        <Publish Event="SetInstallLevel" Value="1">SetupType="Custom"</Publish>

+      </Control>

+      

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Choose the setup type that best suits your needs.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Setup Type</Text>

+      </Control>

+      <Control Id="DlgText" Type="Text" X="22" Y="49" Width="326" Height="13">

+        <Text>Please select a setup type.</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      

+      <Control Id="CompText" Type="Text" X="79" Y="137" Width="246" Height="31">

+        <Text>All program features will be installed. (Requires the most disk space.)</Text>

+      </Control>

+      <Control Id="CompleteIco" Type="Icon" X="33" Y="134" Width="36" Height="36" FixedSize="yes"

+        IconSize="48" Text="SetupTypeComp" />

+      <Control Id="CustText" Type="Text" X="79" Y="195" Width="246" Height="30">

+        <Text>Choose which program features you want installed and where they will be installed. Recommended for advanced users.</Text>

+      </Control>

+      <Control Id="CustomIco" Type="Icon" X="33" Y="192" Width="36" Height="36" FixedSize="yes"

+        IconSize="48" Text="SetupTypeCust" />        

+      <Control Id="TypicalText" Type="Text" X="79" Y="82" Width="246" Height="31">

+          <Text>Common program features will be installed. Recommended for general use.</Text>

+      </Control>

+      <Control Id="TypicalIcon" Type="Icon" X="33" Y="79" Width="36" Height="36" FixedSize="yes" 

+        IconSize="48" Text="SetupTypeTyp" />        

+    </Dialog>

+    

+     <!-- *****************************************************************************************

+      Custom Setup Dialog

+    -->

+    

+    <Dialog Id="CustomSetupDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard" NoMinimize="yes"

+      TrackDiskSpace="yes">

+      <Control Id="Tree" Type="SelectionTree" X="8" Y="70" Width="220" Height="118" Property="_BrowseProperty"

+        Sunken="yes" TabSkip="no" />

+      <Control Id="ChangeFolder" Type="PushButton" X="301" Y="203" Width="66" Height="17" Text="&amp;Change...">

+        <Publish Event="SelectionBrowse" Value="InstallChangeFolderDialog">1</Publish>

+        <Condition Action="hide">Installed</Condition>

+      </Control>

+      <Control Id="Help" Type="PushButton" X="22" Y="243" Width="66" Height="17" Text="&amp;Help">

+        <Publish Event="SpawnDialog" Value="CustomSetupTips">1</Publish>

+      </Control>

+      <!--

+      <Control Id="Space" Type="PushButton" X="93" Y="243" Width="66" Height="17" Text="&amp;Space">

+        <Publish Event="SelectionBrowse" Value="DiskSpaceRequirements">1</Publish>

+        <Condition Action="hide">Installed</Condition>

+      </Control>

+      -->

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Text="&lt; &amp;Back">

+        <Publish Event="NewDialog" Value="SetupTypeDialog">NOT Installed</Publish>

+        <Publish Event="NewDialog" Value="MaintenanceTypeDialog">Installed</Publish>

+      </Control>

+      

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Next &gt;">

+        <Publish Event="NewDialog" Value="ReadyToInstallDialog">OutOfNoRbDiskSpace &lt;&gt; 1</Publish>

+        <Publish Event="NewDialog" Value="OutOfSpaceDialog">OutOfNoRbDiskSpace = 1</Publish>

+        <!-- in maintenance mode this dialog is called without the setuptypedialog -->

+        <Publish Property="SetupType" Value="Custom">1</Publish>

+        <!-- does not work..

+        <Subscribe Event="SelectionNoItems" Attribute="Disable" />

+        -->

+      </Control>

+      

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="Size" Type="Text" X="241" Y="133" Width="120" Height="50" Text="Feature size">

+        <Subscribe Event="SelectionSize" Attribute="Text" />

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="17" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Select the program features you want installed.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="9" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Custom Setup</Text>

+      </Control>

+      <Control Id="DlgText" Type="Text" X="9" Y="51" Width="360" Height="10">

+        <Text>Click on an icon in the list below to change how a feature is installed.</Text>

+      </Control>

+      <Control Id="InstallLabel" Type="Text" X="8" Y="190" Width="360" Height="10" Text="Install to:">

+        <Condition Action="hide">Installed</Condition>

+      </Control>

+      <Control Id="ItemDescription" Type="Text" X="241" Y="80" Width="120" Height="50">

+        <Text>Multiline description of the currently selected item</Text>

+        <Subscribe Event="SelectionDescription" Attribute="Text" />

+      </Control>

+      <Control Id="Location" Type="Text" X="8" Y="203" Width="291" Height="20">

+        <Text>&lt;selected feature path&gt;</Text>

+        <Subscribe Event="SelectionPath" Attribute="Text" />

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="FeatureGroup" Type="GroupBox" X="235" Y="67" Width="131" Height="120" Text="Feature Description" />

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      License Agreement Dialog

+    -->

+

+    <?if $(var.LICENSE) = "commercial"?>  

+    <Dialog Id="LicenseAgreementDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard" Hidden="yes"

+      NoMinimize="yes">

+      <Control Id="Agree" Type="RadioButtonGroup" X="8" Y="190" Width="330" Height="40" Property="AgreeToLicense" />

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Text="&lt; &amp;Back">

+        <Publish Event="NewDialog" Value="InstallWelcomeDialog">1</Publish>

+      </Control>

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Next &gt;">

+        <Publish Event="NewDialog" Value="SetupTypeDialog">AgreeToLicense = "Yes"</Publish>

+        <Condition Action="disable">AgreeToLicense &lt;&gt; "Yes"</Condition>

+        <Condition Action="enable">AgreeToLicense = "Yes"</Condition>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Please read the following license agreement carefully.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}License Agreement</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="378" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      

+      <Control Id="Memo" Type="ScrollableText" X="8" Y="55" Width="358" Height="130" Sunken="yes">

+        <Text src="commercial_license.rtf" />

+      </Control>

+    </Dialog>

+    <?endif?>

+

+    <!-- *****************************************************************************************

+      Ready To Install Dialog

+    -->

+

+    <Dialog Id="ReadyToInstallDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes" TrackDiskSpace="yes">

+      <Control Id="InstallNow" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Install">

+        <Publish Event="NewDialog" Value="OutOfSpaceDialog">OutOfNoRbDiskSpace = 1</Publish>

+        <Publish Event="EndDialog" Value="Return">OutOfNoRbDiskSpace &lt;&gt; 1</Publish>

+        <Publish Property="ProgressType1" Value="Installing">1</Publish>

+        <Publish Property="ProgressType2" Value="installed">1</Publish>

+        <Publish Property="ProgressType3" Value="installs">1</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Text="&lt; &amp;Back">

+        <Publish Event="NewDialog" Value="SetupTypeDialog">SetupType &lt;&gt; "Custom"</Publish>

+        <Publish Event="NewDialog" Value="CustomSetupDialog">SetupType = "Custom"</Publish>

+      </Control>

+      <Control Id="GroupBox1" Type="Text" X="19" Y="92" Width="330" Height="133" Disabled="yes"

+        Sunken="yes" Transparent="yes" TabSkip="no" />

+      <Control Id="SetupTypeText1" Type="Text" X="23" Y="97" Width="306" Height="13" TabSkip="no"

+        Text="Setup Type:" />

+      <Control Id="SetupTypeText2" Type="Text" X="37" Y="114" Width="306" Height="14" TabSkip="no"

+        Text="[SelectedSetupType]" />

+      <Control Id="TargetFolderText1" Type="Text" X="24" Y="136" Width="306" Height="11" TabSkip="no"

+        Text="Destination Folder:" />

+      <Control Id="TargetFolderText2" Type="Text" X="37" Y="151" Width="306" Height="13" TabSkip="no"

+        Text="[INSTALLDIR]" />                          

+      <Control Id="DataTargetFolderText1" Type="Text" X="24" Y="172" Width="306" Height="11" TabSkip="no" Hidden="yes" Transparent="yes">

+        <Text>Data Folder:</Text>

+        <Condition Action="show">UsesUACDataPath = 1</Condition>

+      </Control>

+      <Control Id="DataTargetFolderText2" Type="Text" X="37" Y="188" Width="306" Height="13" TabSkip="no" Hidden="yes" Transparent="yes">

+        <Text>[DATADIR]</Text>

+        <Condition Action="show">UsesUACDataPath = 1</Condition>

+      </Control>

+      <Control Id="CurrentSettingsText" Type="Text" X="19" Y="80" Width="81" Height="10" TabSkip="no"

+        Text="Current Settings:" />

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>The wizard is ready to begin installation.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Hidden="yes" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Ready to Modify the Program</Text>

+        <Condition Action="show">ProgressType0="Modify"</Condition>

+      </Control>

+      <Control Id="DlgTitle2" Type="Text" X="13" Y="6" Width="292" Height="25" Hidden="yes" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Ready to Repair the Program</Text>

+        <Condition Action="show">ProgressType0="Repair"</Condition>

+      </Control>

+      <Control Id="DlgTitle3" Type="Text" X="13" Y="6" Width="292" Height="25" Hidden="yes" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Ready to Install the Program</Text>

+        <Condition Action="show">ProgressType0="install"</Condition>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="DlgText1" Type="Text" X="21" Y="54" Width="330" Height="24">

+        <Text>If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Admin Network Location Dialog

+    -->

+

+    <Dialog Id="AdminNetworkLocationDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="InstallNow" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Install">

+        <Publish Event="SetTargetPath" Value="TARGETDIR">1</Publish>

+        <Publish Event="NewDialog" Value="OutOfSpaceDialog">OutOfNoRbDiskSpace = 1</Publish>

+        <Publish Event="EndDialog" Value="Return">OutOfNoRbDiskSpace &lt;&gt; 1</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="SetupPathEdit" Type="PathEdit" X="21" Y="102" Width="330" Height="17" Property="TARGETDIR" />

+      <Control Id="Browse" Type="PushButton" X="286" Y="124" Width="66" Height="17" Text="&amp;Change...">

+        <Publish Event="SpawnDialog" Value="AdminChangeFolderDialog">1</Publish>

+      </Control>

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Text="&lt; &amp;Back">

+        <Publish Event="NewDialog" Value="AdminWelcomeDialog">1</Publish>

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Specify a network location for the server image of the product.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Network Location</Text>

+      </Control>

+      <Control Id="DlgText" Type="Text" X="21" Y="51" Width="326" Height="40">

+        <Text>Enter the network location or click Change to browse to a location.  Click Install to create a server image of [ProductName] at the specified network location or click Cancel to exit the wizard.</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="LBBrowse" Type="Text" X="21" Y="90" Width="100" Height="10" Text="&amp;Network location:" />

+    </Dialog>

+    

+    <!-- *****************************************************************************************

+      Admin Change Folder Dialog

+    -->

+    

+    <!-- could be merged with InstallChangeFolder -->

+    <Dialog Id="AdminChangeFolderDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="Tail" Type="PathEdit" X="21" Y="207" Width="332" Height="17" Property="TARGETDIR" />

+      <Control Id="OK" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes" Text="OK">

+        <Publish Event="EndDialog" Value="Return">1</Publish>

+        <Publish Event="SetTargetPath" Value="TARGETDIR">1</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="Reset" Value="0">1</Publish>

+        <Publish Event="EndDialog" Value="Return">1</Publish>

+      </Control>

+      <Control Id="ComboText" Type="Text" X="21" Y="50" Width="99" Height="14" TabSkip="no" Text="&amp;Look in:" />

+      <Control Id="Combo" Type="DirectoryCombo" X="21" Y="64" Width="277" Height="80" Property="TARGETDIR"

+        Removable="yes" Fixed="yes" Remote="yes" />

+      <Control Id="Up" Type="PushButton" X="310" Y="66" Width="19" Height="19" ToolTip="Up one level"

+        Icon="yes" FixedSize="yes" IconSize="16" Text="NewBinary3">

+        <Publish Event="DirectoryListUp" Value="0">1</Publish>

+      </Control>

+      <Control Id="NewFolder" Type="PushButton" X="335" Y="66" Width="19" Height="19" ToolTip="Create new folder"

+        Icon="yes" FixedSize="yes" IconSize="16" Text="NewBinary2">

+        <Publish Event="DirectoryListNew" Value="0">1</Publish>

+      </Control>

+      <Control Id="List" Type="DirectoryList" X="21" Y="90" Width="332" Height="97" Property="TARGETDIR"

+        Sunken="yes" TabSkip="no" />

+      <Control Id="TailText" Type="Text" X="21" Y="193" Width="99" Height="13" TabSkip="no" Text="&amp;Folder name:" />

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Browse to the destination folder.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Change Current Destination Folder</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Out Of Space Dialog

+    -->

+

+    <Dialog Id="OutOfSpaceDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="Resume" Type="PushButton" X="301" Y="243" Width="66" Height="17" Default="yes"

+        Cancel="yes" Text="OK">

+        <Publish Event="NewDialog" Value="CustomSetupDialog">ACTION &lt;&gt; "ADMIN"</Publish>

+        <Publish Event="NewDialog" Value="AdminNetworkLocationDialog">ACTION = "ADMIN"</Publish>

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Disk space required for the installation exceeds available disk space.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Out of Disk Space</Text>

+      </Control>

+      <Control Id="DlgText" Type="Text" X="21" Y="51" Width="326" Height="43">

+        <Text>The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install less features onto local drives, or select different destination drives.</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="374" Width="326" Height="0" />

+      <Control Id="List" Type="VolumeCostList" X="21" Y="95" Width="332" Height="120" Sunken="yes"

+        Fixed="yes" Remote="yes">

+        <Text>{120}{70}{70}{70}{70}</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Custom Setup Dialog

+    -->

+

+    <Dialog Id="CustomSetupTips" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="OK" Type="PushButton" X="301" Y="243" Width="66" Height="17" Default="yes" Cancel="yes"

+        Text="OK">

+        <Publish Event="EndDialog" Value="Return">1</Publish>

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Custom Setup allows you to selectively install program features.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Custom Setup Tips</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="DontInstall" Type="Icon" X="21" Y="155" Width="24" Height="24" FixedSize="yes"

+        IconSize="32" Text="NewBinary15" />

+      <Control Id="DontInstallText" Type="Text" X="60" Y="155" Width="300" Height="20">

+        <Text>Will not be installed.</Text>

+      </Control>

+      <Control Id="FirstInstallText" Type="Text" X="60" Y="180" Width="300" Height="20">

+        <Text>Will be installed on first use. (Available only if the feature supports this option.)</Text>

+      </Control>

+      <Control Id="Install" Type="Icon" X="21" Y="105" Width="24" Height="24" FixedSize="yes" IconSize="32"

+        Text="NewBinary14" />

+      <Control Id="InstallFirstUse" Type="Icon" X="21" Y="180" Width="24" Height="24" FixedSize="yes"

+        IconSize="32" Text="NewBinary16" />

+      <Control Id="InstallPartial" Type="Icon" X="21" Y="130" Width="24" Height="24" FixedSize="yes"

+        IconSize="32" Text="NewBinary17" />

+      <Control Id="InstallStateMenu" Type="Icon" X="21" Y="52" Width="24" Height="24" FixedSize="yes"

+        IconSize="32" Text="NewBinary18" />

+      <Control Id="InstallStateText" Type="Text" X="21" Y="85" Width="300" Height="10">

+        <Text>This install state means the feature...</Text>

+      </Control>

+      <Control Id="InstallText" Type="Text" X="60" Y="105" Width="300" Height="20">

+        <Text>Will be completely installed to the local hard drive.</Text>

+      </Control>

+      <Control Id="MenuText" Type="Text" X="50" Y="52" Width="300" Height="36">

+        <Text>The icon next to the feature name indicates the install state of the feature. Click the icon to drop down the install state menu for each feature.</Text>

+      </Control>

+      <Control Id="NetworkInstall" Type="Icon" X="21" Y="205" Width="24" Height="24" FixedSize="yes"

+        IconSize="32" Text="NewBinary13" />

+      <Control Id="NetworkInstallText" Type="Text" X="60" Y="205" Width="300" Height="20">

+        <Text>Will be installed to run from the network. (Available only if the feature supports this option.)</Text>

+      </Control>

+      <Control Id="PartialText" Type="Text" X="60" Y="130" Width="300" Height="20">

+        <Text>Will have some subfeatures installed to the local hard drive. (Available only if the feature has subfeatures.)</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Maintenance Type Dialog

+    -->

+

+    <Dialog Id="MaintenanceTypeDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="RadioGroup" Type="RadioButtonGroup" X="21" Y="55" Width="290" Height="170" Property="_IsMaintenance" />

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Text="&lt; &amp;Back">

+        <Publish Event="NewDialog" Value="MaintenanceWelcomeDialog">1</Publish>

+      </Control>

+      <Control Id="Next" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Next &gt;">

+        <Publish Property="ProgressType0" Value="Repair">_IsMaintenance = "Reinstall"</Publish>

+        <Publish Property="ProgressType0" Value="Modify">_IsMaintenance = "Change"</Publish>

+        <Publish Property="ProgressType1" Value="Modifying">_IsMaintenance = "Change"</Publish>

+        <Publish Property="ProgressType1" Value="Repairing">_IsMaintenance = "Reinstall"</Publish>

+        <Publish Property="ProgressType2" Value="repairs">_IsMaintenance = "Reinstall"</Publish>

+        <Publish Property="ProgressType2" Value="modified">_IsMaintenance = "Change"</Publish>

+        <Publish Property="ProgressType3" Value="modifies">_IsMaintenance = "Change"</Publish>

+        <Publish Property="ProgressType3" Value="repairs">_IsMaintenance = "Reinstall"</Publish>

+        <Publish Event="ReinstallMode" Value="[ReinstallModeText]">_IsMaintenance = "Reinstall"</Publish>

+        <Publish Event="Reinstall" Value="ALL">_IsMaintenance = "Reinstall"</Publish>

+        <Publish Event="NewDialog" Value="ReadyToRemove">_IsMaintenance = "Remove"</Publish>

+        <Publish Event="NewDialog" Value="CustomSetupDialog">_IsMaintenance = "Change"</Publish>

+        <Publish Event="NewDialog" Value="ReadyToInstallDialog">_IsMaintenance = "Reinstall"</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Modify, repair, or remove the program.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Program Maintenance</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="Ico1" Type="Icon" X="35" Y="75" Width="24" Height="24" FixedSize="yes" IconSize="32"

+        Text="NewBinary6" />

+      <Control Id="Ico2" Type="Icon" X="35" Y="135" Width="24" Height="24" FixedSize="yes" IconSize="32"

+        Text="NewBinary7" />

+      <Control Id="Ico3" Type="Icon" X="35" Y="195" Width="24" Height="24" FixedSize="yes" IconSize="32"

+        Text="NewBinary8" />

+      <Control Id="Text1" Type="Text" X="80" Y="72" Width="260" Height="35">

+        <Text>Change which program features are installed. This option displays the Custom Selection dialog in which you can change the way features are installed.</Text>

+      </Control>

+      <Control Id="Text2" Type="Text" X="80" Y="135" Width="260" Height="35">

+        <Text>Repair installation errors in the program. This option fixes missing or corrupt files, shortcuts, and registry entries.</Text>

+      </Control>

+      <Control Id="Text3" Type="Text" X="80" Y="192" Width="260" Height="35">

+        <Text>Remove [ProductName] from your computer.</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      Install Change Folder Dialog

+    -->

+

+    <Dialog Id="InstallChangeFolderDialog" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="Tail" Type="PathEdit" X="21" Y="207" Width="332" Height="17" Property="_BrowseProperty"

+        Sunken="yes" Indirect="yes" />

+      <Control Id="OK" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes" Text="OK">

+        <Publish Event="SetTargetPath" Value="[_BrowseProperty]">1</Publish>

+        <Publish Event="EndDialog" Value="Return">1</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="Reset" Value="0">1</Publish>

+        <Publish Event="EndDialog" Value="Return">1</Publish>

+      </Control>

+      <Control Id="ComboText" Type="Text" X="21" Y="50" Width="99" Height="14" TabSkip="no" Text="&amp;Look in:" />

+      <Control Id="Combo" Type="DirectoryCombo" X="21" Y="64" Width="277" Height="80" Property="_BrowseProperty"

+        Indirect="yes" Removable="yes" Fixed="yes" Remote="yes" CDROM="yes" RAMDisk="yes" Floppy="yes" />

+      <Control Id="Up" Type="PushButton" X="310" Y="66" Width="19" Height="19" ToolTip="Up One Level"

+        Icon="yes" FixedSize="yes" IconSize="16" Text="NewBinary3">

+        <Publish Event="DirectoryListUp" Value="0">1</Publish>

+      </Control>

+      <Control Id="NewFolder" Type="PushButton" X="335" Y="66" Width="19" Height="19" ToolTip="Create New Folder"

+        Icon="yes" FixedSize="yes" IconSize="16" Text="NewBinary2">

+        <Publish Event="DirectoryListNew" Value="0">1</Publish>

+      </Control>

+      <Control Id="List" Type="DirectoryList" X="21" Y="90" Width="332" Height="97" Property="_BrowseProperty"

+        Sunken="yes" Indirect="yes" TabSkip="no" />

+        

+      <Control Id="TailText" Type="Text" X="21" Y="193" Width="99" Height="13" TabSkip="no" Text="&amp;Folder name:" />

+      

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Browse to the destination folder.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Change Current Destination Folder</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+    </Dialog>

+    

+    <!-- *****************************************************************************************

+      Disk Space Requirements Dialog

+    -->

+

+    <Dialog Id="DiskSpaceRequirements" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="OK" Type="PushButton" X="301" Y="243" Width="66" Height="17" Default="yes" Cancel="yes"

+        Text="OK">

+        <Publish Event="EndDialog" Value="Return">1</Publish>

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="17" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>The disk space required for the installation of the selected features.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="9" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Disk Space Requirements</Text>

+      </Control>

+      <Control Id="DlgText" Type="Text" X="10" Y="185" Width="358" Height="41">

+        <Text>The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install less features onto local drives, or select different destination drives.</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="List" Type="VolumeCostList" X="8" Y="55" Width="358" Height="125" Sunken="yes"

+        Fixed="yes" Remote="yes">

+        <Text>{120}{70}{70}{70}{70}</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      File In Use Dialog

+    -->

+

+    <!-- FilesInUse is a reserved name. Don't change it. -->

+    <Dialog Id="FilesInUse" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes" KeepModeless="yes">

+      <Control Id="Retry" Type="PushButton" X="164" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Retry">

+        <Publish Event="EndDialog" Value="Retry">1</Publish>

+      </Control>

+      <Control Id="Ignore" Type="PushButton" X="230" Y="243" Width="66" Height="17" Text="&amp;Ignore">

+        <Publish Event="EndDialog" Value="Ignore">1</Publish>

+      </Control>

+      <Control Id="Exit" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="&amp;Exit">

+        <Publish Event="EndDialog" Value="Exit">1</Publish>

+      </Control>

+      <Control Id="List" Type="ListBox" X="21" Y="87" Width="331" Height="135" Property="FileInUseProcess"

+        Sunken="no" />

+      <Control Id="Desc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>Some files that need to be updated are currently in use.</Text>

+      </Control>

+      <Control Id="Title" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Files in Use</Text>

+      </Control>

+      <Control Id="Text" Type="Text" X="21" Y="51" Width="348" Height="29">

+        <Text>The following applications are using files that need to be updated by this setup. Close these applications and click Retry to continue.</Text>

+      </Control>

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+    </Dialog>

+    

+    <!-- *****************************************************************************************

+      Ready To Remove Dialog

+    -->

+    

+    <Dialog Id="ReadyToRemove" Width="374" Height="266" Title="[ProductName] - Setup Wizard"

+      NoMinimize="yes">

+      <Control Id="RemoveNow" Type="PushButton" X="230" Y="243" Width="66" Height="17" Default="yes"

+        Text="&amp;Remove">

+        <Publish Property="ProgressType1" Value="Uninstalling">1</Publish>

+        <Publish Property="ProgressType2" Value="uninstalled">1</Publish>

+        <Publish Property="ProgressType3" Value="uninstalls">1</Publish>

+        <Publish Event="Remove" Value="ALL">1</Publish>

+        <Publish Event="NewDialog" Value="OutOfSpaceDialog">OutOfNoRbDiskSpace = 1</Publish>

+        <Publish Event="EndDialog" Value="Return">OutOfNoRbDiskSpace &lt;&gt; 1</Publish>

+      </Control>

+      <Control Id="Cancel" Type="PushButton" X="301" Y="243" Width="66" Height="17" Cancel="yes"

+        Text="Cancel">

+        <Publish Event="SpawnDialog" Value="CancelSetupDialog">1</Publish>

+      </Control>

+      <Control Id="Back" Type="PushButton" X="164" Y="243" Width="66" Height="17" Text="&lt; &amp;Back">

+        <Publish Event="NewDialog" Value="MaintenanceTypeDialog">1</Publish>

+      </Control>

+      <Control Id="DlgDesc" Type="Text" X="21" Y="23" Width="292" Height="25" Transparent="yes">

+        <Text>You have chosen to remove the program from your system.</Text>

+      </Control>

+      <Control Id="DlgTitle" Type="Text" X="13" Y="6" Width="292" Height="25" Transparent="yes">

+        <Text>{&amp;MSSansBold8}Remove the Program</Text>

+      </Control>

+      <Control Id="DlgText" Type="Text" X="21" Y="51" Width="326" Height="24">

+        <Text>Click Remove to remove [ProductName] from your computer. After removal, this program will no longer be available for use.</Text>

+      </Control>

+      <Control Id="DlgText2" Type="Text" X="21" Y="102" Width="330" Height="24" />

+      <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="374" Height="44" Text="AdminHeader" />

+      <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />

+      <Control Id="DlgLine" Type="Line" X="0" Y="234" Width="374" Height="0" />

+      <Control Id="DlgText1" Type="Text" X="21" Y="79" Width="330" Height="23">

+        <Text>If you want to review or change any settings, click Back.</Text>

+      </Control>

+    </Dialog>

+

+    <!-- *****************************************************************************************

+      End of Dialog

+    -->

+

+    <!-- *****************************************************************************************

+      Radio Groups

+    -->

+     

+    <RadioButtonGroup Property="AgreeToLicense">

+      <RadioButton Text="I &amp;do not accept the terms in the license agreement" X="0" Y="15" Width="295" Height="15" Value="No" />

+      <RadioButton Text="I &amp;accept the terms in the license agreement" X="0" Y="0" Width="295" Height="15" Value="Yes" />

+    </RadioButtonGroup>

+    <RadioButtonGroup Property="_IsMaintenance">

+      <RadioButton Text="{&amp;MSSansBold8}&amp;Modify" X="0" Y="0" Width="290" Height="14" Value="Change" />

+      <RadioButton Text="{&amp;MSSansBold8}Re&amp;pair" X="0" Y="60" Width="290" Height="14" Value="Reinstall" />

+      <RadioButton Text="{&amp;MSSansBold8}&amp;Remove" X="0" Y="120" Width="290" Height="14" Value="Remove" />

+    </RadioButtonGroup>

+    <RadioButtonGroup Property="SetupType">

+      <RadioButton Text="{&amp;MSSansBold8}&amp;Typical" X="0" Y="5" Width="214" Height="14" Value="Typical" />

+      <RadioButton Text="{&amp;MSSansBold8}&amp;Complete" X="0" Y="60" Width="264" Height="14" Value="Complete" />

+      <RadioButton Text="{&amp;MSSansBold8}Cu&amp;stom" X="0" Y="118" Width="264" Height="14" Value="Custom" />

+    </RadioButtonGroup>   

+

+    <!-- *****************************************************************************************

+      Text Styles

+    -->

+

+    <TextStyle Id="Tahoma8" FaceName="Tahoma" Size="8" />

+    <TextStyle Id="Arial8" FaceName="Arial" Size="8" />

+    <TextStyle Id="Arial9" FaceName="Arial" Size="9" />

+    <TextStyle Id="ArialBlue10" FaceName="Arial" Size="10" Red="0" Green="256" Blue="0" />

+    <TextStyle Id="ArialBlueStrike10" FaceName="Arial" Size="10" Red="0" Green="256" Blue="0" Strike="yes" />

+    <TextStyle Id="CourierNew8" FaceName="Courier New" Size="8" />

+    <TextStyle Id="CourierNew9" FaceName="Courier New" Size="9" />

+    <TextStyle Id="ExpressDefault" FaceName="Tahoma" Size="8" />

+    <TextStyle Id="MSGothic9" FaceName="MS Gothic" Size="9" />

+    <TextStyle Id="MSSansBold8" FaceName="Tahoma" Size="8" Bold="yes" />

+    <TextStyle Id="MSSansSerif8" FaceName="MS Sans Serif" Size="8" />

+    <TextStyle Id="MSSansSerif9" FaceName="MS Sans Serif" Size="9" />

+    <TextStyle Id="MSSGreySerif8" FaceName="MS Sans Serif" Size="8" Red="0" Green="0" Blue="0" />

+    <TextStyle Id="MSSWhiteSerif8" FaceName="Tahoma" Size="8" Red="256" Green="256" Blue="0" />

+    <TextStyle Id="Tahoma10" FaceName="Tahoma" Size="10" />

+    <TextStyle Id="Tahoma9" FaceName="Tahoma" Size="9" />

+    <TextStyle Id="TahomaBold10" FaceName="Tahoma" Size="10" Bold="yes" />

+    <TextStyle Id="TahomaBold8" FaceName="Tahoma" Size="8" Bold="yes" />

+    <TextStyle Id="Times8" FaceName="Times New Roman" Size="8" />

+    <TextStyle Id="Times9" FaceName="Times New Roman" Size="9" />

+    <TextStyle Id="TimesItalic12" FaceName="Times New Roman" Size="12" Italic="yes" />

+    <TextStyle Id="TimesItalicBlue10" FaceName="Times New Roman" Size="10" Red="0" Green="256"

+      Blue="0" Italic="yes" />

+    <TextStyle Id="TimesRed16" FaceName="Times New Roman" Size="16" Red="0" Green="0" Blue="0" />

+    <TextStyle Id="VerdanaBold14" FaceName="Verdana" Size="13" Bold="yes" />

+

+    <!-- *****************************************************************************************

+      UI Texts

+    -->

+

+    <UIText Id="NewFolder">Fldr|New Folder</UIText>

+    <UIText Id="AbsentPath" />

+    <UIText Id="bytes">bytes</UIText>

+    <UIText Id="GB">GB</UIText>

+    <UIText Id="KB">KB</UIText>

+    <UIText Id="MB">MB</UIText>

+    <UIText Id="MenuAbsent">This feature will not be available.</UIText>

+    <UIText Id="MenuAdvertise">This feature will be installed when required.</UIText>

+    <UIText Id="MenuAllCD">This feature, and all subfeatures, will be installed to run from the CD.</UIText>

+    <UIText Id="MenuAllLocal">This feature, and all subfeatures, will be installed on local hard drive.</UIText>

+    <UIText Id="MenuAllNetwork">This feature, and all subfeatures, will be installed to run from the network.</UIText>

+    <UIText Id="MenuCD">This feature will be installed to run from CD.</UIText>

+    <UIText Id="MenuLocal">This feature will be installed on local hard drive.</UIText>

+    <UIText Id="MenuNetwork">This feature will be installed to run from network.</UIText>

+    <UIText Id="SelAbsentAbsent">This feature will remain uninstalled.</UIText>

+    <UIText Id="SelAbsentAdvertise">This feature will be set to be installed when required.</UIText>

+    <UIText Id="SelAbsentCD">This feature will be installed to run from CD.</UIText>

+    <UIText Id="SelAbsentLocal">This feature will be installed on the local hard drive.</UIText>

+    <UIText Id="SelAbsentNetwork">This feature will be installed to run from the network.</UIText>

+    <UIText Id="SelAdvertiseAbsent">This feature will become unavailable.</UIText>

+    <UIText Id="SelAdvertiseAdvertise">Will be installed when required.</UIText>

+    <UIText Id="SelAdvertiseCD">This feature will be available to run from CD.</UIText>

+    <UIText Id="SelAdvertiseLocal">This feature will be installed on your local hard drive.</UIText>

+    <UIText Id="SelAdvertiseNetwork">This feature will be available to run from the network.</UIText>

+    <UIText Id="SelCDAbsent">This feature will be uninstalled completely, and you won't be able to run it from CD.</UIText>

+    <UIText Id="SelCDAdvertise">This feature was run from the CD but will be set to be installed when required.</UIText>

+    <UIText Id="SelCDCD">This feature will continue to be run from the CD</UIText>

+    <UIText Id="SelCDLocal">This feature was run from the CD but will be installed on the local hard drive.</UIText>

+    <UIText Id="SelChildCostNeg">This feature frees up [1] on your hard drive.</UIText>

+    <UIText Id="SelChildCostPos">This feature requires [1] on your hard drive.</UIText>

+    <UIText Id="SelCostPending">Compiling cost for this feature...</UIText>

+    <UIText Id="SelLocalAbsent">This feature will be completely removed.</UIText>

+    <UIText Id="SelLocalAdvertise">This feature will be removed from your local hard drive but will be set to be installed when required.</UIText>

+    <UIText Id="SelLocalCD">This feature will be removed from your local hard drive but will still be available to run from CD.</UIText>

+    <UIText Id="SelLocalLocal">This feature will remain on your local hard drive.</UIText>

+    <UIText Id="SelLocalNetwork">This feature will be removed from your local hard drive, but will be still available to run from the network.</UIText>

+    <UIText Id="SelNetworkAbsent">This feature will be uninstalled completely, and you won't be able to run it from the network.</UIText>

+    <UIText Id="SelNetworkAdvertise">This feature was run from the network but will be installed when required.</UIText>

+    <UIText Id="SelNetworkLocal">This feature was run from the network but will be installed on the local hard drive.</UIText>

+    <UIText Id="SelNetworkNetwork">This feature will continue to be run from the network</UIText>

+    <UIText Id="SelParentCostNegNeg">This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.</UIText>

+    <UIText Id="SelParentCostNegPos">This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.</UIText>

+    <UIText Id="SelParentCostPosNeg">This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.</UIText>

+    <UIText Id="SelParentCostPosPos">This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.</UIText>

+    <UIText Id="TimeRemaining">Time remaining: {[1] min }[2] sec</UIText>

+    <UIText Id="VolumeCostAvailable">Available</UIText>

+    <UIText Id="VolumeCostDifference">Differences</UIText>

+    <UIText Id="VolumeCostRequired">Required</UIText>

+    <UIText Id="VolumeCostSize">Disk Size</UIText>

+    <UIText Id="VolumeCostVolume">Volume</UIText>

+

+    <!-- *****************************************************************************************

+      Progress Texts

+    -->

+

+    <ProgressText Action="CostInitialize">Computing space requirements</ProgressText>

+    <ProgressText Action="AppSearch" Template="Property: [1], Signature: [2]">Searching for installed applications</ProgressText>

+    <ProgressText Action="BindImage" Template="File: [1]">Binding executables</ProgressText>

+    <ProgressText Action="CCPSearch">Searching for qualifying products</ProgressText>

+    <ProgressText Action="CostFinalize">Computing space requirements</ProgressText>

+    <ProgressText Action="FileCost">Computing space requirements</ProgressText>

+    <ProgressText Action="InstallAdminPackage" Template="File: [1], Directory: [9], Size: [6]">Copying files to the network</ProgressText>

+    <ProgressText Action="InstallFiles" Template="File: [1],  Directory: [9],  Size: [6]">Copying new files</ProgressText>

+    <ProgressText Action="InstallValidate">Validating install</ProgressText>

+    <ProgressText Action="CreateShortcuts" Template="Shortcut: [1]">Creating shortcuts</ProgressText>

+    <ProgressText Action="PublishComponents" Template="Component ID: [1], Qualifier: [2]">Publishing qualified components</ProgressText>

+    <ProgressText Action="PublishFeatures" Template="Feature: [1]">Publishing product features</ProgressText>

+    <ProgressText Action="PublishProduct">Publishing product information</ProgressText>

+    <ProgressText Action="RegisterClassInfo" Template="Class ID: [1]">Registering class servers</ProgressText>

+    <ProgressText Action="RegisterExtensionInfo" Template="Extension: [1]">Registering extension servers</ProgressText>

+    <ProgressText Action="RegisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">Registering MIME info</ProgressText>

+    <ProgressText Action="RegisterProgIdInfo" Template="ProgID: [1]">Registering program identifiers</ProgressText>

+    <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">Registering type libraries</ProgressText>

+    <ProgressText Action="AllocateRegistrySpace" Template="Free space: [1]">Allocating registry space</ProgressText>

+    <ProgressText Action="CreateFolders" Template="Folder: [1]">Creating folders</ProgressText>

+    <ProgressText Action="DeleteServices" Template="Service: [1]">Deleting services</ProgressText>

+    <ProgressText Action="DuplicateFiles" Template="File: [1],  Directory: [9],  Size: [6]">Creating duplicate files</ProgressText>

+    <ProgressText Action="FindRelatedProducts" Template="Found application: [1]">Searching for related applications</ProgressText>

+    <ProgressText Action="InstallODBC">Installing ODBC components</ProgressText>

+    <ProgressText Action="InstallServices" Template="Service: [2]">Installing new services</ProgressText>

+    <ProgressText Action="LaunchConditions">Evaluating launch conditions</ProgressText>

+    <ProgressText Action="MigrateFeatureStates" Template="Application: [1]">Migrating feature states from related applications</ProgressText>

+    <ProgressText Action="MoveFiles" Template="File: [1],  Directory: [9],  Size: [6]">Moving files</ProgressText>

+    <ProgressText Action="PatchFiles" Template="File: [1],  Directory: [2],  Size: [3]">Patching files</ProgressText>

+    <ProgressText Action="ProcessComponents">Updating component registration</ProgressText>

+    <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">Registering COM+ Applications and Components</ProgressText>

+    <ProgressText Action="RegisterFonts" Template="Font: [1]">Registering fonts</ProgressText>

+    <ProgressText Action="RegisterProduct" Template="[1]">Registering product</ProgressText>

+    <ProgressText Action="RegisterUser" Template="[1]">Registering user</ProgressText>

+    <ProgressText Action="RemoveDuplicateFiles" Template="File: [1], Directory: [9]">Removing duplicated files</ProgressText>

+    <ProgressText Action="RemoveEnvironmentStrings" Template="Name: [1], Value: [2], Action [3]">Updating environment strings</ProgressText>

+    <ProgressText Action="RemoveExistingProducts" Template="Application: [1], Command line: [2]">Removing applications</ProgressText>

+    <ProgressText Action="RemoveFiles" Template="File: [1], Directory: [9]">Removing files</ProgressText>

+    <ProgressText Action="RemoveFolders" Template="Folder: [1]">Removing folders</ProgressText>

+    <ProgressText Action="RemoveIniValues" Template="File: [1],  Section: [2],  Key: [3], Value: [4]">Removing INI file entries</ProgressText>

+    <ProgressText Action="RemoveODBC">Removing ODBC components</ProgressText>

+    <ProgressText Action="RemoveRegistryValues" Template="Key: [1], Name: [2]">Removing system registry values</ProgressText>

+    <ProgressText Action="RemoveShortcuts" Template="Shortcut: [1]">Removing shortcuts</ProgressText>

+    <ProgressText Action="RMCCPSearch">Searching for qualifying products</ProgressText>

+    <ProgressText Action="SelfRegModules" Template="File: [1], Folder: [2]">Registering modules</ProgressText>

+    <ProgressText Action="SelfUnregModules" Template="File: [1], Folder: [2]">Unregistering modules</ProgressText>

+    <ProgressText Action="SetODBCFolders">Initializing ODBC directories</ProgressText>

+    <ProgressText Action="StartServices" Template="Service: [1]">Starting services</ProgressText>

+    <ProgressText Action="StopServices" Template="Service: [1]">Stopping services</ProgressText>

+    <ProgressText Action="UnpublishComponents" Template="Component ID: [1], Qualifier: [2]">Unpublishing Qualified Components</ProgressText>

+    <ProgressText Action="UnpublishFeatures" Template="Feature: [1]">Unpublishing product features</ProgressText>

+    <ProgressText Action="UnregisterClassInfo" Template="Class ID: [1]">Unregister class servers</ProgressText>

+    <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">Unregistering COM+ Applications and Components</ProgressText>

+    <ProgressText Action="UnregisterExtensionInfo" Template="Extension: [1]">Unregistering extension servers</ProgressText>

+    <ProgressText Action="UnregisterFonts" Template="Font: [1]">Unregistering fonts</ProgressText>

+    <ProgressText Action="UnregisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">Unregistering MIME info</ProgressText>

+    <ProgressText Action="UnregisterProgIdInfo" Template="ProgID: [1]">Unregistering program identifiers</ProgressText>

+    <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Unregistering type libraries</ProgressText>

+    <ProgressText Action="WriteEnvironmentStrings" Template="Name: [1], Value: [2], Action [3]">Updating environment strings</ProgressText>

+    <ProgressText Action="WriteIniValues" Template="File: [1],  Section: [2],  Key: [3], Value: [4]">Writing INI file values</ProgressText>

+    <ProgressText Action="WriteRegistryValues" Template="Key: [1], Name: [2], Value: [3]">Writing system registry values</ProgressText>

+    <ProgressText Action="Advertise">Advertising application</ProgressText>

+    <ProgressText Action="GenerateScript" Template="[1]">Generating script operations for action:</ProgressText>

+    <ProgressText Action="InstallSFPCatalogFile" Template="File: [1],  Dependencies: [2]">Installing system catalog</ProgressText>

+    <ProgressText Action="Rollback" Template="[1]">Rolling back action:</ProgressText>

+    <ProgressText Action="RollbackCleanup" Template="File: [1]">Removing backup files</ProgressText>

+    <ProgressText Action="UnmoveFiles" Template="File: [1], Directory: [9]">Removing moved files</ProgressText>

+    <ProgressText Action="UnpublishProduct">Unpublishing product information</ProgressText>

+

+    <!-- *****************************************************************************************

+      Error Texts

+    -->

+

+    <Error Id="0">{{Fatal error: }}</Error>

+    <Error Id="1">Error [1].</Error>

+    <Error Id="2">Warning [1].</Error>

+    <Error Id="4">Info [1].</Error>

+    <Error Id="5">Internal Error [1]. [2]{, [3]}{, [4]}</Error>

+    <Error Id="7">{{Disk full: }}</Error>

+    <Error Id="8">Action [Time]: [1]. [2]</Error>

+    <Error Id="9">[ProductName]</Error>

+    <Error Id="10">{[2]}{, [3]}{, [4]}</Error>

+    <Error Id="11">Message type: [1], Argument: [2]</Error>

+    <Error Id="12">=== Logging started: [Date]  [Time] ===</Error>

+    <Error Id="13">=== Logging stopped: [Date]  [Time] ===</Error>

+    <Error Id="14">Action start [Time]: [1].</Error>

+    <Error Id="15">Action ended [Time]: [1]. Return value [2].</Error>

+    <Error Id="16">Time remaining: {[1] minutes }{[2] seconds}</Error>

+    <Error Id="17">Out of memory. Shut down other applications before retrying.</Error>

+    <Error Id="18">Installer is no longer responding.</Error>

+    <Error Id="19">Installer terminated prematurely.</Error>

+    <Error Id="20">Please wait while Windows configures [ProductName]</Error>

+    <Error Id="21">Gathering required information...</Error>

+    <Error Id="22">Removing older versions of this application</Error>

+    <Error Id="23">Preparing to remove older versions of this application</Error>

+    <Error Id="32">{[ProductName] }Setup completed successfully.</Error>

+    <Error Id="33">{[ProductName] }Setup failed.</Error>

+    <Error Id="1101">Error reading from file: [2]. {{ System error [3].}}  Verify that the file exists and that you can access it.</Error>

+    <Error Id="1301">Cannot create the file [3].  A directory with this name already exists.  Cancel the installation and try installing to a different location.</Error>

+    <Error Id="1302">Please insert the disk: [2]</Error>

+    <Error Id="1303">The installer has insufficient privileges to access this directory: [2].  The installation cannot continue.  Log on as an administrator or contact your system administrator.</Error>

+    <Error Id="1304">Error writing to file [2].  Verify that you have access to that directory.</Error>

+    <Error Id="1305">Error reading from file [2].  Verify that the file exists and that you can access it.</Error>

+    <Error Id="1306">Another application has exclusive access to the file [2].  Please shut down all other applications, then click Retry.</Error>

+    <Error Id="1307">There is not enough disk space to install the file [2].  Free some disk space and click Retry, or click Cancel to exit.</Error>

+    <Error Id="1308">Source file not found: [2].  Verify that the file exists and that you can access it.</Error>

+    <Error Id="1309">Error reading from file: [3]. {{ System error [2].}}  Verify that the file exists and that you can access it.</Error>

+    <Error Id="1310">Error writing to file: [3]. {{ System error [2].}}  Verify that you have access to that directory.</Error>

+    <Error Id="1311">Source file not found{{(cabinet)}}: [2].  Verify that the file exists and that you can access it.</Error>

+    <Error Id="1312">Cannot create the directory [2].  A file with this name already exists.  Please rename or remove the file and click Retry, or click Cancel to exit.</Error>

+    <Error Id="1313">The volume [2] is currently unavailable.  Please select another.</Error>

+    <Error Id="1314">The specified path [2] is unavailable.</Error>

+    <Error Id="1315">Unable to write to the specified folder [2].</Error>

+    <Error Id="1316">A network error occurred while attempting to read from the file [2]</Error>

+    <Error Id="1317">An error occurred while attempting to create the directory [2]</Error>

+    <Error Id="1318">A network error occurred while attempting to create the directory [2]</Error>

+    <Error Id="1319">A network error occurred while attempting to open the source file cabinet [2].</Error>

+    <Error Id="1320">The specified path is too long [2].</Error>

+    <Error Id="1321">The Installer has insufficient privileges to modify the file [2].</Error>

+    <Error Id="1322">A portion of the path [2] exceeds the length allowed by the system.</Error>

+    <Error Id="1323">The path [2] contains words that are not valid in folders.</Error>

+    <Error Id="1324">The path [2] contains an invalid character.</Error>

+    <Error Id="1325">[2] is not a valid short file name.</Error>

+    <Error Id="1326">Error getting file security: [3] GetLastError: [2]</Error>

+    <Error Id="1327">Invalid Drive: [2]</Error>

+    <Error Id="1328">Error applying patch to file [2].  It has probably been updated by other means, and can no longer be modified by this patch.  For more information contact your patch vendor.  {{System Error: [3]}}</Error>

+    <Error Id="1401">Could not create key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>

+    <Error Id="1402">Could not open key: [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>

+    <Error Id="1403">Could not delete value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>

+    <Error Id="1404">Could not delete key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>

+    <Error Id="1405">Could not read value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>

+    <Error Id="1406">Could not write value [2] to key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>

+    <Error Id="1407">Could not get value names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>

+    <Error Id="1408">Could not get sub key names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>

+    <Error Id="1409">Could not read security information for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>

+    <Error Id="1410">Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.</Error>

+    <Error Id="1500">Another installation is in progress. You must complete that installation before continuing this one.</Error>

+    <Error Id="1501">Error accessing secured data. Please make sure the Windows Installer is configured properly and try the installation again.</Error>

+    <Error Id="1502">User [2] has previously initiated an installation for product [3].  That user will need to run that installation again before using that product.  Your current installation will now continue.</Error>

+    <Error Id="1503">User [2] has previously initiated an installation for product [3].  That user will need to run that installation again before using that product.</Error>

+    <Error Id="1601">Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB.  Free some disk space and retry.</Error>

+    <Error Id="1602">Are you sure you want to cancel?</Error>

+    <Error Id="1603">The file [2][3] is being held in use{ by the following process: Name: [4], ID: [5], Window Title: [6]}.  Close that application and retry.</Error>

+    <Error Id="1604">The product [2] is already installed, preventing the installation of this product.  The two products are incompatible.</Error>

+    <Error Id="1605">Out of disk space -- Volume: [2]; required space: [3] KB; available space: [4] KB.  If rollback is disabled, enough space is available. Click Cancel to quit, Retry to check available disk space again, or Ignore to continue without rollback.</Error>

+    <Error Id="1606">Could not access network location [2].</Error>

+    <Error Id="1607">[2]</Error>

+    <Error Id="1608">Could not find any previously installed compliant products on the machine for installing this product.</Error>

+    <Error Id="1701">The key [2] is not valid.  Verify that you entered the correct key.</Error>

+    <Error Id="1702">The installer must restart your system before configuration of [2] can continue.  Click Yes to restart now or No if you plan to restart later.</Error>

+    <Error Id="1703">You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to restart later.</Error>

+    <Error Id="1704">An installation for [2] is currently suspended.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?</Error>

+    <Error Id="1705">A previous installation for this product is in progress.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?</Error>

+    <Error Id="1706">No valid source could be found for product [2].  The Windows Installer cannot continue.</Error>

+    <Error Id="1707">Installation operation completed successfully.</Error>

+    <Error Id="1708">Installation operation failed.</Error>

+    <Error Id="1709">Product: [2] -- [3]</Error>

+    <Error Id="1710">You may either restore your computer to its previous state or continue the installation later. Would you like to restore?</Error>

+    <Error Id="1711">An error occurred while writing installation information to disk.  Check to make sure enough disk space is available, and click Retry, or Cancel to end the installation.</Error>

+    <Error Id="1712">One or more of the files required to restore your computer to its previous state could not be found.  Restoration will not be possible.</Error>

+    <Error Id="1713">[2] cannot install one of its required products. Contact your technical support group.  {{System Error: [3].}}</Error>

+    <Error Id="1714">The older version of [2] cannot be removed.  Contact your technical support group.  {{System Error [3].}}</Error>

+    <Error Id="1801">The path [2] is not valid.  Please specify a valid path.</Error>

+    <Error Id="1802">Out of memory. Shut down other applications before retrying.</Error>

+    <Error Id="1803">There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.</Error>

+    <Error Id="1804">There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.</Error>

+    <Error Id="1805">The folder [2] does not exist.  Please enter a path to an existing folder.</Error>

+    <Error Id="1806">You have insufficient privileges to read this folder.</Error>

+    <Error Id="1807">A valid destination folder for the installation could not be determined.</Error>

+    <Error Id="1901">Error attempting to read from the source installation database: [2].</Error>

+    <Error Id="1902">Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.</Error>

+    <Error Id="1903">Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.</Error>

+    <Error Id="1904">Module [2] failed to register.  HRESULT [3].  Contact your support personnel.</Error>

+    <Error Id="1905">Module [2] failed to unregister.  HRESULT [3].  Contact your support personnel.</Error>

+    <Error Id="1906">Failed to cache package [2]. Error: [3]. Contact your support personnel.</Error>

+    <Error Id="1907">Could not register font [2].  Verify that you have sufficient permissions to install fonts, and that the system supports this font.</Error>

+    <Error Id="1908">Could not unregister font [2]. Verify that you have sufficient permissions to remove fonts.</Error>

+    <Error Id="1909">Could not create shortcut [2]. Verify that the destination folder exists and that you can access it.</Error>

+    <Error Id="1910">Could not remove shortcut [2]. Verify that the shortcut file exists and that you can access it.</Error>

+    <Error Id="1911">Could not register type library for file [2].  Contact your support personnel.</Error>

+    <Error Id="1912">Could not unregister type library for file [2].  Contact your support personnel.</Error>

+    <Error Id="1913">Could not update the INI file [2][3].  Verify that the file exists and that you can access it.</Error>

+    <Error Id="1914">Could not schedule file [2] to replace file [3] on reboot.  Verify that you have write permissions to file [3].</Error>

+    <Error Id="1915">Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.</Error>

+    <Error Id="1916">Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.</Error>

+    <Error Id="1917">Error removing ODBC driver [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.</Error>

+    <Error Id="1918">Error installing ODBC driver [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.</Error>

+    <Error Id="1919">Error configuring ODBC data source [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.</Error>

+    <Error Id="1920">Service [2] ([3]) failed to start.  Verify that you have sufficient privileges to start system services.</Error>

+    <Error Id="1921">Service [2] ([3]) could not be stopped.  Verify that you have sufficient privileges to stop system services.</Error>

+    <Error Id="1922">Service [2] ([3]) could not be deleted.  Verify that you have sufficient privileges to remove system services.</Error>

+    <Error Id="1923">Service [2] ([3]) could not be installed.  Verify that you have sufficient privileges to install system services.</Error>

+    <Error Id="1924">Could not update environment variable [2].  Verify that you have sufficient privileges to modify environment variables.</Error>

+    <Error Id="1925">You do not have sufficient privileges to complete this installation for all users of the machine.  Log on as an administrator and then retry this installation.</Error>

+    <Error Id="1926">Could not set file security for file [3]. Error: [2].  Verify that you have sufficient privileges to modify the security permissions for this file.</Error>

+    <Error Id="1927">Component Services (COM+ 1.0) are not installed on this computer.  This installation requires Component Services in order to complete successfully.  Component Services are available on Windows 2000.</Error>

+    <Error Id="1928">Error registering COM+ application.  Contact your support personnel for more information.</Error>

+    <Error Id="1929">Error unregistering COM+ application.  Contact your support personnel for more information.</Error>

+    <Error Id="1930">The description for service '[2]' ([3]) could not be changed.</Error>

+    <Error Id="1931">The Windows Installer service cannot update the system file [2] because the file is protected by Windows.  You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}</Error>

+    <Error Id="1932">The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}</Error>

+    <Error Id="1933">This setup requires Internet Information Server 4.0 or higher for configuring IIS Virtual Roots. Please make sure that you have IIS 4.0 or higher.</Error>

+    <Error Id="1934">This setup requires Administrator privileges for configuring IIS Virtual Roots.</Error>

+  </UI>

+</Include>


=== added file 'win/mysql_server.wxs'
--- a/win/mysql_server.wxs	1970-01-01 00:00:00 +0000
+++ b/win/mysql_server.wxs	2008-07-18 23:36:39 +0000
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="utf-8" ?>

+<!-- -*- nxml -*- -->

+<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">

+

+  <?include obj/configure.wxi ?>

+

+  <!-- *****************************************************************************************

+    Product MySQL Server

+  -->

+  <!-- 

+    SetVersion updates: Name, Id, Version. Do not change them manually.

+  -->

+

+  <Product Id="95A13449-708D-4363-AA9A-9FDB8ADB8F66" UpgradeCode="49EB7A6A-1CEF-4A1E-9E89-B9A4993963E3"

+    Name="MySQL Server $(var.MYSQL_BASE_VERSION)" Version="$(var.MYSQL_WIN_VERSION)" Language="1033" Manufacturer="MySQL AB">

+

+  <!-- *****************************************************************************************

+    Package

+  -->

+  <!-- 

+    SetVersion updates: Id. Do not change it manually.

+  -->

+

+    <Package Id="7B246C23-C23A-42D5-AE68-69192EC5DC03" Keywords="Installer,MSI,Database" 

+      Description="MySQL Database Server" Manufacturer="MySQL AB"

+      InstallerVersion="200" Platforms="Intel" Languages="1033" SummaryCodepage="1252" Compressed='yes' />

+

+    <!-- *****************************************************************************************

+      Custom Actions

+    -->

+

+    <?if ($(var.MYSQL_SERVER_SUFFIX) != "-enterprise-gpl") and ($(var.MYSQL_SERVER_SUFFIX) != "-advanced-gpl")?>

+      <CustomAction Id="ShowMysqlSignUp" BinaryKey="MySQLBillboards.exe" ExeCommand="" Execute="oncePerProcess" 

+                    Return="ignore" />

+    <?endif?>

+    

+    <CustomAction Id="ConfigureServer" Execute="immediate" FileKey="MySQLInstanceConfig.exe"

+                  Return="asyncNoWait" ExeCommand='"-p[INSTALLDIR]"  "-d[DATADIR]" "-n[ProductName]" "-v[ProductVersion]"' />

+    <CustomAction Id="ConfigureServerRem" Execute="immediate" FileKey="MySQLInstanceConfig.exe"

+                  Return="ignore" ExeCommand='"-p[INSTALLDIR_]"  "-d[DATADIR_]" "-n[ProductName]" "-v[ProductVersion]" -r' />

+    <CustomAction Id="ConfigureServerRemQ" Execute="immediate" FileKey="MySQLInstanceConfig.exe"

+                  Return="ignore" ExeCommand='"-p[INSTALLDIR_]"  "-d[DATADIR_]" "-n[ProductName]" "-v[ProductVersion]" -r -q' />

+    <CustomAction Id="ConfigureServerStop" Execute="immediate" FileKey="MySQLInstanceConfig.exe"

+                  Return="ignore" ExeCommand='"-p[INSTALLDIR_]"  "-d[DATADIR_]" "-n[ProductName]" "-v[ProductVersion]" -s' />

+    <CustomAction Id="ConfigureServerStopQ" Execute="immediate" FileKey="MySQLInstanceConfig.exe"

+                  Return="ignore" ExeCommand='"-p[INSTALLDIR_]"  "-d[DATADIR_]" "-n[ProductName]" "-v[ProductVersion]" -s -q' />

+    <CustomAction Id="NewerVersionInstalled" Error="A newer version of this product is already installed." />

+    <CustomAction Id="DoesDataDirExist" Property="FoundExistingDataDir" Value="1" />

+

+    <!-- *****************************************************************************************

+      Upgrade Information

+    -->

+

+    <Upgrade Id="49EB7A6A-1CEF-4A1E-9E89-B9A4993963E3">

+      <!-- !!!SetVersion updates: Minimum, Maximum -->

+      <UpgradeVersion Property="PREVIOUSVERSIONINSTALLED" IncludeMaximum="no" IncludeMinimum="yes"

+                      Minimum="$(var.MYSQL_BASE_VERSION).0"

+                      Maximum="$(var.MYSQL_WIN_VERSION)" />

+      <!-- !!!SetVersion updates: Minimum, Maximum -->

+      <UpgradeVersion Property="NEWERPRODUCTFOUND"  OnlyDetect="yes" IncludeMinimum="no"

+                      Minimum="$(var.MYSQL_WIN_VERSION)"

+                      Maximum="$(var.MYSQL_BASE_VERSION).999" />

+      <UpgradeVersion Property="OLDDATADIRVERSION" Minimum="5.1.0" Maximum="5.1.23" OnlyDetect="yes"

+      IncludeMinimum="yes" IncludeMaximum="yes" />

+    </Upgrade>

+

+    <!-- *****************************************************************************************

+      CAB file

+    -->

+

+    <Media Id="1" Cabinet="product.cab" EmbedCab="yes" />

+

+    <!-- *****************************************************************************************

+      Registry entries

+    -->

+

+    <DirectoryRef Id="INSTALLDIR">

+      <Component Id="RegKeys" Guid="AECCA4A7-9405-466A-8393-4F0876DCD21A" DiskId="1">

+        <Registry Id="MysqlKey" Root="HKLM" Key="SOFTWARE\MySQL AB\[ProductName]" 

+                  Action="createKeyAndRemoveKeyOnUninstall"/>

+                  

+        <Registry Id="Version" Root="HKLM" Key="SOFTWARE\MySQL AB\[ProductName]" 

+                  Name="Version" Type="string" 

+                  Value="[ProductVersion]"/>

+                  

+        <Registry Id="Location" Root="HKLM" Key="SOFTWARE\MySQL AB\[ProductName]" 

+                  Name="Location" Type="string" 

+                  Value="[INSTALLDIR]"/>                                

+

+        <Registry Id="DataLocation" Root="HKLM" Key="SOFTWARE\MySQL AB\[ProductName]" 

+                  Name="DataLocation" Type="string" 

+                  Value="[DATADIR]"/>

+                  

+        <Registry Id="FoundExistingDataDir" Root="HKLM" Key="SOFTWARE\MySQL AB\[ProductName]" 

+                  Name="FoundExistingDataDir" Type="string" 

+                  Value="[FoundExistingDataDir]"/>

+      </Component>

+    </DirectoryRef>

+

+    <!-- *****************************************************************************************

+      Installation Features

+    -->

+

+    <!-- *****************************************************************************************

+      Server Feature

+    -->

+

+    <Feature Id="Server" Absent="allow" Title="MySQL Server" Level="1" ConfigurableDirectory="INSTALLDIR" 

+      Display="expand" Description="Installs the MySQL-server executables.">

+

+       <Feature Id="DataFiles" Title="MySQL Server Datafiles" Description="The MySQL Server's datafiles" 

+         Level="1" InstallDefault="followParent" ConfigurableDirectory="DATADIR" >

+        <ComponentRef Id="SystemTables" />

+        <ComponentRef Id="TestDB" />

+      </Feature>

+

+      <ComponentRef Id="ReadmeFiles" />

+      <ComponentRef Id="RegKeys" />

+      <ComponentRef Id="ConfFiles" />

+      <!-- <ComponentRef Id="Registration" /> -->

+      <ComponentRef Id="Server" />     

+

+      <?if ($(var.MYSQL_SERVER_SUFFIX) = "-essential")?>

+      <ComponentRef Id="Scripts" />

+      <?endif?>

+      

+      <!-- Note: the help tables need to be updated also-->

+

+      <ComponentRef Id="Share" />

+      <ComponentRef Id="Share.Charsets" />

+      <ComponentRef Id="Share.Czech" />

+      <ComponentRef Id="Share.danish" />

+      <ComponentRef Id="Share.dutch" />  

+      <ComponentRef Id="Share.english" />

+      <ComponentRef Id="Share.estonian" />

+      <ComponentRef Id="Share.french" />

+      <ComponentRef Id="Share.german" />

+      <ComponentRef Id="Share.greek" />

+      <ComponentRef Id="Share.hungarian" />

+      <ComponentRef Id="Share.italian" />

+      <ComponentRef Id="Share.japanese" />

+      <ComponentRef Id="Share.japanese_sjis" />

+      <ComponentRef Id="Share.korean" />

+      <ComponentRef Id="Share.norwegian" />

+      <ComponentRef Id="Share.norwegian_ny" />

+      <ComponentRef Id="Share.polish" />

+      <ComponentRef Id="Share.portugese" /> 

+      <ComponentRef Id="Share.romanian" />

+      <ComponentRef Id="Share.russian" />

+      <ComponentRef Id="Share.serbian" />

+      <ComponentRef Id="Share.slovak" />

+      <ComponentRef Id="Share.spanish" />

+      <ComponentRef Id="Share.swedish" />

+      <ComponentRef Id="Share.ukrainian" />

+    </Feature>

+

+    <!-- *****************************************************************************************

+      Client Program Feature

+    -->

+

+    <Feature Id="ClientPrograms" Title="Client Programs" Absent="allow" Level="1" ConfigurableDirectory="INSTALLDIR" 

+       Description="Various helpful (commandline) tools including the mysql-command-line-shell" >

+       <ComponentRef Id="ReadmeFiles" />

+       

+       <Feature Id="MySQLCommandLineShell" Title="MySQL Command Line Shell" Description="The MySQL Command Line Shell" 

+         Level="1" AllowAdvertise="yes">

+         <ComponentRef Id="mysql.exe" />

+       </Feature>

+       <Feature Id="MysqlCommandLineUtilsFeature" Title="MySQL Command Line Utilities" Description="The utilities include tools to startup and shutdown the server, check MyISAM tables, dump a database and many more." 

+         Level="1" AllowAdvertise="yes">

+         <ComponentRef Id="MysqlCommandLineUtils" />

+       </Feature>

+      <Feature Id="ServerInstanceConfig" Absent="allow" Title="MySQL Server Instance Config" Level="1" ConfigurableDirectory="INSTALLDIR" 

+        Description="Installs the MySQL Server Instance Config Wizard. This Wizard can be used to configure the MySQL server.">

+        <ComponentRef Id="ServerInstanceConfig" />

+      </Feature>

+    </Feature>

+    

+    <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+    <!-- *****************************************************************************************

+      Instance Manager

+    -->

+    <Feature Id="InstanceManagerFeature" Title="MySQL Instance Manager" Absent="allow" Level="1" ConfigurableDirectory="INSTALLDIR" 

+      Description="Installs the MySQL Instance Manager to manage several MySQL server instances.">

+      <ComponentRef Id="InstanceManager" />

+    </Feature>

+    <?endif?>

+

+    <!-- *****************************************************************************************

+      Documentation Feature

+    -->

+

+    <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+    <Feature Id="Documentation" Absent="allow" Title="Documentation" Level="1" ConfigurableDirectory="INSTALLDIR" 

+      Description="Installs the Mysql documentation in several formats.">

+      <ComponentRef Id="ReadmeFiles" />

+      <ComponentRef Id="RegKeys" />      

+      <ComponentRef Id="Documentation" />   

+    </Feature>

+    <?endif?>

+

+    <!-- *****************************************************************************************

+      Developer Components Feature

+    -->

+

+    <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+    <Feature Id="DeveloperComponents" Absent="allow" Title="Developer Components" Level="2" ConfigurableDirectory="INSTALLDIR" 

+      Description="Components used by developers.">

+

+      <Feature Id="DevelopmentFiles" Absent="allow" Title="C Include Files / Lib Files"  Level="1" ConfigurableDirectory="INSTALLDIR" 

+        Description="Installs the C-Header files and necessary lib-files for developing C/C++ applications that communicate with a mysql-server.">

+        <ComponentRef Id="ReadmeFiles" />

+        <ComponentRef Id="RegKeys" />

+        <ComponentRef Id="IncludeFiles" />

+        <ComponentRef Id="MySQLIncludeFiles" />

+        <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+          <ComponentRef Id="ClientLibraryDebug" />

+        <?endif?>

+        <ComponentRef Id="ClientLibraryRelease" />

+      </Feature>

+      <Feature Id="EmbeddedServer" Absent="allow" Title="Embedded Server" Level="2" ConfigurableDirectory="INSTALLDIR" 

+        Description="The MySQL Embedded Server offers the MySQL-Server functionality in a small library that can be bundled with other applications.">

+        <ComponentRef Id="ReadmeFiles" />

+        <ComponentRef Id="RegKeys" />

+        <ComponentRef Id="EmbeddedServerDynDebug" />

+        <ComponentRef Id="EmbeddedServerStaticDebug" />

+        <ComponentRef Id="EmbeddedServerDynRelease" />

+        <ComponentRef Id="EmbeddedServerStaticRelease" />

+      </Feature>

+      <Feature Id="ScriptsAndExamples" Absent="allow" Title="Scripts, Examples" Level="2" ConfigurableDirectory="INSTALLDIR" 

+        Description="Installs several helpful scripts and a couple of example files."> 

+        <ComponentRef Id="ReadmeFiles" />

+        <ComponentRef Id="RegKeys" />

+        <ComponentRef Id="Scripts" />

+      </Feature>

+

+    </Feature>

+    <?else?>

+    <Feature Id="DevelopmentFiles" Absent="allow" Title="C Include Files / Lib Files"  Level="2" ConfigurableDirectory="INSTALLDIR" 

+      Description="Installs the C-Header files and necessary lib-files for developing C/C++ applications that communicate with a mysql-server.">

+

+      <ComponentRef Id="IncludeFiles" />

+      <ComponentRef Id="MySQLIncludeFiles" />

+      <ComponentRef Id="ClientLibraryRelease" />

+    </Feature>

+    <?endif?>

+

+

+    <!-- *****************************************************************************************

+      End of Feature

+    -->

+

+    <!-- *****************************************************************************************

+      Include UI

+    -->

+    <Property Id="UsesUACDataPath">1</Property>

+

+    <?include mysql_common_ui.wxi ?>

+    

+    <!-- *****************************************************************************************

+      Properties

+    -->

+

+    <Property Id="_IsMaintenance">Change</Property>

+        

+    <Property Id="AgreeToLicense">No</Property>

+    <Property Id="ApplicationUsers">AllUsers</Property> 

+    <Property Id="ALLUSERS">1</Property> <!--per-machine installation -->   

+    <Property Id="ARPPRODUCTICON">MySQLServer.exe</Property>

+    <Property Id="ARPURLUPDATEINFO">http://dev.mysql.com/</Property>    

+    <Property Id="ARPURLINFOABOUT">http://www.mysql.com</Property>

+       

+    <Property Id="INSTALLLEVEL">1</Property>    

+                     

+    <Property Id="ProgressType3">installs</Property>

+    <Property Id="ProgressType2">installed</Property>

+    <Property Id="ProgressType1">Installing</Property>

+    <Property Id="ProgressType0">install</Property>

+    

+    <Property Id="QualifiedProductName">MySQL Server $(var.VERSION)</Property>

+    <Property Id="InstallationDirectory">MySQL $(var.MYSQL_BASE_VERSION)</Property>

+    

+    <Property Id="ReinstallFileVersion">o</Property>

+    <Property Id="RebootYesNo">Yes</Property>

+    <Property Id="ReinstallModeText">omus</Property>

+    <Property Id="ReinstallRepair">r</Property>

+

+    <Property Id="SetupType">Typical</Property>

+    <Property Id="ConfigureServer">1</Property>

+

+    <Property Id="INSTALLDIR_"><RegistrySearch Id="InstallDirRegSearch" 

+      Key="SOFTWARE\MySQL AB\[ProductName]" Name="Location" Root="HKLM" Type="directory" /></Property>

+

+    <Property Id="DATADIR_"><RegistrySearch Id="DataDirRegSearch" 

+      Key="SOFTWARE\MySQL AB\[ProductName]" Name="DataLocation" Root="HKLM" Type="directory" /></Property>

+

+    <!-- The Guid has to be the same as in the mysql_server_fragment.xml -->

+    <Property Id="SVRCNFWIZINSTALLED"><ComponentSearch Id="SvrCnfWizCompSearch"

+      Guid="782B3E4D-FCB1-42F4-BF45-06C159A49A0D" /></Property>

+ 

+    <Property Id="FoundExistingDataDir">0</Property>

+    <Property Id="EXISTINGDATADIRSEARCH"><ComponentSearch Id="ExistingDataDirCompSearch" 

+      Guid="7072E9DC-A770-4316-8D50-7A0604637C23" /></Property>

+    <!-- <FragmentRef Id="ServiceTagProperties" /> -->

+    <!-- *****************************************************************************************

+      Admin UI Sequence

+    -->

+

+    <AdminUISequence>

+      <Show Dialog="SetupCompleteErrorDialog" OnExit="error" />

+      <Show Dialog="SetupInterruptedDialog" OnExit="cancel" />

+      <Show Dialog="SetupCompleteSuccessDialog" OnExit="success" />

+

+      <Show Dialog="SetupInitializationDialog" Before="CostInitialize" />

+      <Show Dialog="AdminWelcomeDialog" After="CostFinalize" />

+      <Show Dialog="SetupProgressDialog" After="AdminWelcomeDialog" />

+    </AdminUISequence>

+

+    <!-- *****************************************************************************************

+      Install Execute Sequence

+    -->

+    <!-- <FragmentRef Id="ServiceTagActions" /> -->

+    <InstallExecuteSequence>

+      <Custom Action="NewerVersionInstalled" After="FindRelatedProducts">NEWERPRODUCTFOUND</Custom> 

+      <Custom Action="DoesDataDirExist" Before="InstallValidate">EXISTINGDATADIRSEARCH</Custom> 

+

+      <RemoveExistingProducts After="InstallInitialize"/>

+      <?if ($(var.MYSQL_SERVER_SUFFIX) != "-enterprise-gpl") and ($(var.MYSQL_SERVER_SUFFIX) != "-advanced-gpl")?>

+        <Custom Action="ShowMysqlSignUp" After="InstallFinalize">Not Installed And (Not PATCH Or IS_MAJOR_UPGRADE) And UILevel&gt;2</Custom>

+      <?endif?>

+      <Custom Action="ConfigureServerRem" Sequence="1410">Installed And REMOVE="ALL" And UILevel&gt;2 And SVRCNFWIZINSTALLED And (NOT UPGRADINGPRODUCTCODE)</Custom>

+      <Custom Action="ConfigureServerRemQ" Sequence="1411">Installed And REMOVE="ALL" And UILevel&lt;=2 And SVRCNFWIZINSTALLED And (NOT UPGRADINGPRODUCTCODE)</Custom>

+      <Custom Action="ConfigureServerStop" Before="InstallInitialize">Installed And UILevel&gt;2 And SVRCNFWIZINSTALLED And UPGRADINGPRODUCTCODE</Custom>

+      <Custom Action="ConfigureServerStopQ" Before="InstallInitialize">Installed And UILevel&lt;=2 And SVRCNFWIZINSTALLED And UPGRADINGPRODUCTCODE</Custom>

+    </InstallExecuteSequence>

+

+    <!-- *****************************************************************************************

+      Install UI Sequence

+    -->

+

+    <InstallUISequence>

+      <Show Dialog="SetupCompleteErrorDialog" OnExit="error" />

+      <Show Dialog="SetupInterruptedDialog" OnExit="cancel" />

+      <Show Dialog="SetupCompleteSuccessDialog" OnExit="success" />

+      

+      <Custom Action="NewerVersionInstalled" After="FindRelatedProducts">NEWERPRODUCTFOUND</Custom>                   

+      <Show Dialog="InstallWelcomeDialog" After="MigrateFeatureStates">Not Installed And (Not PATCH Or IS_MAJOR_UPGRADE)</Show>

+      <Show Dialog="SetupResumeDialog" After="InstallWelcomeDialog">Installed And (RESUME Or Preselected) And Not PATCH</Show>

+      <Show Dialog="MaintenanceWelcomeDialog" After="SetupResumeDialog">Installed And Not RESUME And Not Preselected And Not PATCH</Show>

+      <Show Dialog="SetupProgressDialog" After="MaintenanceWelcomeDialog" />  

+    </InstallUISequence>

+

+    <!-- *****************************************************************************************

+      Binary files

+    -->

+

+    <?if ($(var.MYSQL_SERVER_SUFFIX) != "-enterprise-gpl") and ($(var.MYSQL_SERVER_SUFFIX) != "-advanced-gpl")?>

+      <Binary Id="MySQLBillboards.exe" src="MySQLBillboards.exe" />

+    <?endif?>

+

+    <Binary Id="AdminBackground" src="AdminBackground.jpg" />

+    <Binary Id="AdminHeader" src="AdminHeader.jpg" />     

+    <Binary Id="SetupTypeComp" src="setup_type_complete.ico" />     

+    <Binary Id="SetupTypeCust" src="setup_type_custom.ico" />  

+    <Binary Id="SetupTypeTyp" src="setup_type_typical.ico" />  

+    <Binary Id="DestDirFolder" src="dest_dir_folder.ico" />

+

+    <Binary Id="NewBinary2" src="binary/binary2" />     

+    <Binary Id="NewBinary3" src="binary/binary3" />     

+    <Binary Id="NewBinary4" src="binary/binary4" />

+    <Binary Id="NewBinary6" src="binary/binary6" />

+    <Binary Id="NewBinary7" src="binary/binary7" />

+    <Binary Id="NewBinary8" src="binary/binary8" />

+    <Binary Id="NewBinary9" src="binary/binary9" />  

+    <Binary Id="NewBinary13" src="binary/binary13" />

+    <Binary Id="NewBinary14" src="binary/binary14" />    

+    <Binary Id="NewBinary16" src="binary/binary16" />

+    <Binary Id="NewBinary17" src="binary/binary17" />

+    <Binary Id="NewBinary18" src="binary/binary18" />

+  </Product>

+</Wix>


=== added file 'win/mysql_server_fragment.wxs'
--- a/win/mysql_server_fragment.wxs	1970-01-01 00:00:00 +0000
+++ b/win/mysql_server_fragment.wxs	2008-07-18 23:36:39 +0000
@@ -0,0 +1,548 @@
+<?xml version="1.0" encoding="utf-8" ?>

+<!-- -*- nxml -*- -->

+<Wix>

+

+  <?include obj/configure.wxi ?>

+

+  <Fragment>

+ 

+    <!-- *****************************************************************************************

+      Icons

+    -->

+

+    <Icon Id="MySQLServer.exe" src="mysqlserver.ico" />

+    <Icon Id="HelpIcon.exe" src="help.ico" />

+    <Icon Id="MysqlCmdShell.exe" src="mysqlcommandlineshell.ico" />

+    <Icon Id="InstConfIcon.exe" src="mysqlserverinstanceconfig.ico" />

+  

+    <!-- *****************************************************************************************

+      Directories / Files

+    -->

+

+    <Directory Id="TARGETDIR" Name="SourceDir">

+      <Directory Id="ProgramFilesFolder" Name=".">

+        <Directory Id="MYSQL" Name="MySQL">

+          <Directory Id="MysqlServerDir" Name="MYSQLINS.DIR" LongName="MySQL Server 4.1" FileSource=".\">

+            <Directory Id="INSTALLDIR" Name=".">

+              <Directory Id="DesktopFolder" Name="." />

+              <Directory Id="ProgramMenuFolder" Name=".">

+                <Directory Id="MysqlProgramMenuFolder" Name="MySQL">

+                  <Directory Id="MysqlProductMenuFolder" Name="MySQLPMF" LongName="MySQL Server 4.1" />

+                </Directory>

+              </Directory>

+

+              <!-- *****************************************************************************************

+                   INSTALL directory

+                -->

+

+              <Component Id="ReadmeFiles" Guid="EEB9ACE1-ED68-4F6B-8347-DC85432433AC" DiskId="1">

+		<?if $(var.LICENSE) = "commercial"?>

+                  <File Id="file0" Name="LICENSE" LongName="LICENSE.mysql" />

+                <?else?>

+                  <File Id="file0" Name="COPYING" />

+                  <File Id="EXCEPTIONS_CLIENT" Name="EXCPTCLI" LongName="EXCEPTIONS-CLIENT" />

+                <?endif?>

+              </Component>

+

+              <Component Id="ConfFiles" Guid="73FC3392-8404-45CC-BD01-06A416E84002" DiskId="1">

+                <File Id="file1" Name="my-huge.ini" />

+                <File Id="file2" Name="my-large.ini" />

+                <File Id="file3" Name="MY-MEDIU.INI" LongName="my-medium.ini" />

+                <File Id="file4" Name="my-small.ini" />

+                <File Id="file5" Name="MY-INNOD.INI" LongName="my-innodb-heavy-4G.ini" />

+                <File Id="dfile1" Name="MY-TMP.INI" LongName="my-template.ini" />

+              </Component>

+

+              <!-- *****************************************************************************************

+                   bin directory

+	      -->

+

+              <Directory Id="bin" Name="bin">

+              

+                <Component Id="mysql.exe" Guid="B7CF37B1-A747-42DC-B0C6-9EAFA0CE1B01" Location="either">

+                  <File Id="file471" Name="mysql.exe" KeyPath="yes" DiskId="1">

+                    <Shortcut Id="MysqlCommandLineShellShortcut" Directory="MysqlProductMenuFolder" Name="MYSQLCLI" LongName="MySQL Command Line Client"

+                      Target="MySQLCommandLineShell" Icon="MysqlCmdShell.exe" IconIndex="0" Show="normal" WorkingDirectory="bin"

+                      Arguments="--defaults-file=&quot;[INSTALLDIR]my.ini&quot; -uroot -p" />

+                  </File>

+                </Component> 

+

+                <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+                <Component Id="InstanceManager" Guid="8E04F0BC-F6C6-43B8-93FE-ABAEF02E6DB7">

+                  <File Id="file484"  Name="MYSQLMAN.EXE" LongName="mysqlmanager.exe" DiskId="1" />

+                  <File Id="file484p" Name="MYSQLMAN.PDB" LongName="mysqlmanager.pdb" DiskId="1" />

+                  <File Id="file484m" Name="MYSQLMAN.MAP" LongName="mysqlmanager.map" DiskId="1" />

+                </Component>

+                <?endif?>

+

+                <Component Id="MysqlCommandLineUtils" Guid="C04A429D-FA1C-4A56-8909-7C69CD705F30" DiskId="1">

+                  <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+                  <File Id="file489" Name="MYSQLTST.EXE" LongName="mysqltest.exe"  />

+                  <File Id="file550" Name="MYSQL_CT.EXE" LongName="mysql_client_test.exe"  />

+                  <File Id="file491" Name="replace.exe"  />

+                  <?endif?>

+                  <File Id="file466" Name="libmySQL.dll"  />

+                  <File Id="file467" Name="MYISAMCK.EXE" LongName="myisamchk.exe"  />

+                  <File Id="file468" Name="MYISAMLG.EXE" LongName="myisamlog.exe"  />

+                  <File Id="file469" Name="MYISAMPK.EXE" LongName="myisampack.exe"  />

+                  <File Id="file470" Name="MYISAMFD.EXE" LongName="myisam_ftdump.exe"  />

+                  <File Id="file472" Name="MYSQLADM.EXE" LongName="mysqladmin.exe"  />

+                  <File Id="file473" Name="MYSQLBIN.EXE" LongName="mysqlbinlog.exe"  />

+                  <File Id="file475" Name="MYSQLCHK.EXE" LongName="mysqlcheck.exe"  />

+                  <File Id="file481" Name="MYSQLDMP.EXE" LongName="mysqldump.exe"  />

+                  <File Id="file483" Name="MYSQLIMP.EXE" LongName="mysqlimport.exe"  />

+                  <File Id="file485" Name="MYSQLSHO.EXE" LongName="mysqlshow.exe"  />

+                  <File Id="file999" Name="MYSQLUPG.EXE" LongName="mysql_upgrade.exe"  />

+                  <File Id="file488" Name="MY_PRINT.EXE" LongName="my_print_defaults.exe"  />

+                  <File Id="file490" Name="perror.exe"  />

+                </Component>

+                

+                <Component Id="Server" Guid="782B3E4D-FCB1-42F4-BF45-06C159A49A0D" DiskId="1">

+                  <File Id="mysqld.exe1"    Name="mysqld.exe" LongName="mysqld.exe" />

+                  <File Id="mysqld.pdb1"    Name="mysqld.pdb" LongName="mysqld.pdb" />

+                  <File Id="mysqld.map1"    Name="mysqld.map" LongName="mysqld.map" />

+                  <!-- Debug server in all but and essential -->

+                  <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+		    <File Id="mysqld_debug.exe1" Name="MYSQLDDB.EXE" LongName="mysqld-debug.exe" />

+		    <File Id="mysqld_debug.pdb1" Name="MYSQLDDB.PDB" LongName="mysqld-debug.pdb" />

+		    <File Id="mysqld_debug.map1" Name="MYSQLDDB.MAP" LongName="mysqld-debug.map" />

+                  <?endif?>

+                </Component>

+

+                <Component Id="ServerInstanceConfig" Guid="782B3E4D-FCB1-42F4-BF45-06C159A49A0D" DiskId="1">

+                  <File Id="MySQLInstanceConfig.exe" Source="MySQLInstanceConfig.exe" Name="MYINSCON.EXE" LongName="MySQLInstanceConfig.exe" KeyPath="yes">

+                    <Shortcut Id="MySQLInstanceConfigShortcut" Directory="MysqlProductMenuFolder" Name="MYINSCON" 

+                              Target="ServerInstanceConfig" Icon="InstConfIcon.exe" IconIndex="0" 

+                              Show="normal" WorkingDirectory="bin" 

+                              LongName="MySQL Server Instance Config Wizard" />

+                  </File>

+                </Component>

+              </Directory>

+

+              <!-- *****************************************************************************************

+                   docs directory

+                -->

+

+              <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+              <Directory Id="Docs" Name="Docs">

+                <Component Id="Documentation" Guid="76FA556F-6642-4D9F-B4C4-B69050D9FD4B" DiskId="1">

+                  <?if ($(var.WITH_MANUAL) = "TRUE")?>

+                  <File Id="file540" Name="CHANGELG" LongName="ChangeLog"  />

+                  <?endif?>

+                  <?if ($(var.WITH_CHANGELOG) = "TRUE")?>

+                  <File Id="file548" Name="MANUAL.CHM" LongName="manual.chm" KeyPath="yes">

+                     <Shortcut Id="DocsShortcut" Directory="MysqlProductMenuFolder" Name="MANUAL" 

+                               Target="Documentation" Icon="HelpIcon.exe" IconIndex="0" 

+                               Show="normal" WorkingDirectory="Docs" 

+                               LongName="MySQL Manual"/>

+                  </File>

+                  <?endif?>

+                </Component>

+              </Directory>

+              <?endif?>

+

+              <!-- *****************************************************************************************

+                   embedded directory

+                -->

+              <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+              <Directory Id="Embedded" Name="Embedded">

+                <Directory Id="DLL" Name="DLL">

+                  <Directory Id="Embedded.Dyn.debug" Name="debug">

+                    <Component Id="EmbeddedServerDynDebug" Guid="0B50C3D6-2176-43BA-BDDF-4A3746B89AD3" DiskId="1">

+                      <File Id="file740" Name="LBMYSQLD.DLL" LongName="libmysqld.dll"  />

+                      <File Id="file741" Name="LBMYSQLD.EXP" LongName="libmysqld.exp"  />

+                      <File Id="file742" Name="LBMYSQLD.LIB" LongName="libmysqld.lib"  />

+                      <File Id="fild742" Name="LBMYSQLD.PDB" LongName="libmysqld.pdb"  />

+                    </Component>

+                  </Directory>

+                  <Directory Id="Embedded.Dyn.release" Name="release">

+                    <Component Id="EmbeddedServerDynRelease" Guid="1A06120E-BAB2-4B46-A5FC-DDDDC9385720" DiskId="1">

+                      <File Id="file743" Name="LBMYSQLD.DLL" LongName="libmysqld.dll"  />

+                      <File Id="file744" Name="LBMYSQLD.EXP" LongName="libmysqld.exp"  />

+                      <File Id="file745" Name="LBMYSQLD.LIB" LongName="libmysqld.lib"  />

+                      <File Id="fild745" Name="LBMYSQLD.PDB" LongName="libmysqld.pdb"  />

+                    </Component>

+                  </Directory>

+                </Directory>

+                <Directory Id="static" Name="static">

+                  <Directory Id="Embedded.Static.debug" Name="debug">

+                    <Component Id="EmbeddedServerStaticDebug" Guid="DEED76F3-1703-4A9F-B570-A6CACECB6370" DiskId="1">

+                      <File Id="fixe746" Name="MYSQLSVR.LIB" LongName="mysqlserver.lib"  />

+                      <File Id="fixd746" Name="MYSQLSVR.PDB" LongName="mysqlserver.pdb"  />

+                    </Component>

+                  </Directory>

+                  <Directory Id="Embedded.Static.release" Name="release">

+                    <Component Id="EmbeddedServerStaticRelease" Guid="DEED76F3-1703-4A9F-B570-A6CACECB637A" DiskId="1">

+                      <File Id="file746" Name="MYSQLSVR.LIB" LongName="mysqlserver.lib"  />

+                      <File Id="fild746" Name="MYSQLSVR.PDB" LongName="mysqlserver.pdb"  />

+                    </Component>

+                  </Directory>

+                </Directory>

+              </Directory>

+              <?endif?>

+              <!-- *****************************************************************************************

+                   include directory

+                -->

+

+              <Directory Id="include" Name="include">

+                <Component Id="IncludeFiles" Guid="89D253A8-D429-430E-B1EA-399A17B4080C" DiskId="1">

+                  <File Id="file793" Name="CONFGWIN.H" LongName="config-win.h"  />

+                  <File Id="fili001" Name="decimal.h"  />

+                  <File Id="file794" Name="errmsg.h"  />

+                  <File Id="fili002" Name="keycache.h"  />

+                  <File Id="fili003" Name="MY_ATTRI.H" LongName="my_attribute.h"  />

+                  <File Id="fili004" Name="my_dir.h"  />

+                  <File Id="fili005" Name="my_net.h"  />

+                  <File Id="fili006" Name="MY_NO_PT.H" LongName="my_no_pthread.h"  />

+                  <File Id="fili007" Name="my_xml.h"  />

+                  <File Id="fili008" Name="SQL_COMN.H" LongName="sql_common.h"  />

+                  <File Id="fili009" Name="SQL_STAT.H" LongName="sql_state.h"  />

+                  <File Id="fili010" Name="SSLOPTCS.H" LongName="sslopt-case.h"  />

+                  <File Id="fili011" Name="SSLOPTLO.H" LongName="sslopt-longopts.h"  />

+                  <File Id="fili012" Name="SSLOPTVR.H" LongName="sslopt-vars.h"  />

+                  <File Id="file795" Name="libmysql.def"  />

+                  <File Id="file797" Name="mysql.h"  />

+                  <File Id="file798" Name="MYSQLDER.H" LongName="mysqld_error.h"  />

+                  <File Id="file798a" Name="MYSQLDEN.H" LongName="mysqld_ername.h"  />

+                  <File Id="file799" Name="MYSQL_CM.H" LongName="mysql_com.h"  />

+                  <File Id="file800" Name="MYSQL_EM.H" LongName="mysql_embed.h"  />

+                  <File Id="file801" Name="MYSQL_TM.H" LongName="mysql_time.h"  />

+                  <File Id="file802" Name="MYSQL_VR.H" LongName="mysql_version.h"  />

+                  <File Id="file803" Name="my_alloc.h"  />

+                  <File Id="file804" Name="my_dbug.h"  />

+                  <File Id="file805" Name="MY_GETOP.H" LongName="my_getopt.h"  />

+                  <File Id="file806" Name="MY_GLOBL.H" LongName="my_global.h"  />

+                  <File Id="file807" Name="my_list.h"  />

+                  <File Id="file808" Name="MY_PTHRD.H" LongName="my_pthread.h"  />

+                  <File Id="file809" Name="my_sys.h"  />

+                  <File Id="file810" Name="m_ctype.h"  />

+                  <File Id="file811" Name="m_string.h"  />

+                  <File Id="file813" Name="typelib.h"  />

+                </Component>

+                <Directory Id="include_mysql" Name="mysql">

+                    <Component Id="MySQLIncludeFiles" Guid="89D253A8-D429-430E-B1EA-399A17B4080D" DiskId="1">

+                        <File Id="filj001" Name="plugin.h"  />

+                    </Component>

+                </Directory>		

+              </Directory>

+              

+              <Directory Id="lib" Name="lib">

+                <!-- Debug libraries in all but essential -->

+                <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+                <Directory Id="debug" Name="debug">

+                  <Component Id="ClientLibraryDebug" Guid="D22D7762-F8F7-441C-AB26-CE71BCA19EEF" DiskId="1">

+                    <File Id="file814" Name="libmysql.dll"  />

+                    <File Id="file815" Name="libmysql.lib"  />

+                    <File Id="file816" Name="MYSQLCLN.LIB" LongName="mysqlclient.lib"  />

+                    <File Id="file817" Name="mysys.lib"  />

+                    <File Id="file818" Name="regex.lib"  />

+                    <File Id="file819" Name="strings.lib"  />

+                    <File Id="file820" Name="zlib.lib"  />

+                  </Component>

+                </Directory>

+                <?endif?>

+                <Directory Id="opt" Name="opt">

+                  <Component Id="ClientLibraryRelease" Guid="BFCC060D-1765-453A-967F-E3BD177AFC5C" DiskId="1">

+                    <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+                    <File Id="file821" Name="libmysql.dll"  />

+                    <?endif?>

+                    <File Id="file822" Name="libmysql.lib"  />

+                    <File Id="file823" Name="MYSQLCLN.LIB" LongName="mysqlclient.lib"  />

+                    <File Id="file825" Name="mysys.lib"  />

+                    <File Id="file827" Name="regex.lib"  />

+                    <File Id="file828" Name="strings.lib"  />

+                    <File Id="file829" Name="zlib.lib"  />

+                  </Component>

+                </Directory>

+              </Directory>

+

+              <!-- *****************************************************************************************

+                   scripts directory

+                -->

+

+              <Directory Id="scripts" Name="scripts">

+                <Component Id="Scripts" Guid="5D92897C-A466-42EE-83D5-2BA33CEA14A5" DiskId="1">

+                  <?if ($(var.MYSQL_SERVER_SUFFIX) != "-essential")?>

+                  <File Id="file852" Name="MYSQLDPS.PL" LongName="mysqldumpslow.pl"  />

+                  <File Id="file854" Name="MYSQLDMT.PL" LongName="mysqld_multi.pl"  />

+                  <File Id="file859" Name="MYSQLHCP.PL" LongName="mysqlhotcopy.pl"  />

+                  <File Id="file861" Name="MYSQL_CN.PL" LongName="mysql_config.pl"  />

+                  <File Id="file863" Name="MYSQL_CV.PL" LongName="mysql_convert_table_format.pl"  />

+                  <File Id="file876" Name="MYINSTDB.PL" LongName="mysql_install_db.pl"  />

+                  <File Id="file879" Name="MYSECINS.PL" LongName="mysql_secure_installation.pl"  />

+                  <?endif?>

+                </Component>

+              </Directory>

+              

+              <!-- *****************************************************************************************

+                   share directory

+                -->

+

+              <Directory Id="share" Name="share">

+                <Component Id="Share" Guid="77914543-1133-42A5-96BE-897CB30DC5E2" DiskId="1">

+		  <!-- Script preparing privilege tables for WL#3125, not implemented yet -->

+		  <!-- <File Id="file878" Name="MYSQL_~2.SQL" LongName="mysql_prepare_privilege_tables_for_5.sql" /> -->

+		  <File Id="file833" Name="FILL_HLP.SQL" LongName="fill_help_tables.sql" />

+		  <File Id="file875" Name="MYSQL_PV.SQL" LongName="mysql_fix_privilege_tables.sql" />

+		  <File Id="file972" Name="MYSQLSYS.SQL" LongName="mysql_system_tables.sql"  />

+		  <File Id="file973" Name="MYSQLSTB.SQL" LongName="mysql_system_tables_data.sql"  />

+		  <File Id="file974" Name="MYSQLSTF.SQL" LongName="mysql_system_tables_fix.sql"  />

+		  <File Id="file976" Name="MYSQLTZD.SQL" LongName="mysql_test_data_timezone.sql"  />

+                </Component>

+                <Directory Id="charsets" Name="charsets">

+                  <Component Id="Share.Charsets" Guid="50C38575-B8FA-4E6F-8ADA-6D4C9370304C" DiskId="1">

+                    <File Id="file887" Name="armscii8.xml"  />

+                    <File Id="file888" Name="ascii.xml"  />

+                    <File Id="file889" Name="cp1250.xml"  />

+                    <File Id="file890" Name="cp1251.xml"  />

+                    <File Id="file891" Name="cp1256.xml"  />

+                    <File Id="file892" Name="cp1257.xml"  />

+                    <File Id="file893" Name="cp850.xml"  />

+                    <File Id="file894" Name="cp852.xml"  />

+                    <File Id="file895" Name="cp866.xml"  />

+                    <File Id="file896" Name="dec8.xml"  />

+                    <File Id="file897" Name="geostd8.xml"  />

+                    <File Id="file898" Name="greek.xml"  />

+                    <File Id="file899" Name="hebrew.xml"  />

+                    <File Id="file900" Name="hp8.xml"  />

+                    <File Id="file901" Name="Index.xml"  />

+                    <File Id="file902" Name="keybcs2.xml"  />

+                    <File Id="file903" Name="koi8r.xml"  />

+                    <File Id="file904" Name="koi8u.xml"  />

+                    <File Id="file905" Name="LANGUAGE.HTM" LongName="languages.html"  />

+                    <File Id="file906" Name="latin1.xml"  />

+                    <File Id="file907" Name="latin2.xml"  />

+                    <File Id="file908" Name="latin5.xml"  />

+                    <File Id="file909" Name="latin7.xml"  />

+                    <File Id="file910" Name="macce.xml"  />

+                    <File Id="file911" Name="macroman.xml"  />

+                    <File Id="file912" Name="README"  />

+                    <File Id="file913" Name="swe7.xml"  />

+                  </Component>

+                </Directory>

+                <Directory Id="czech" Name="czech">

+                  <Component Id="Share.Czech" Guid="D645C352-A724-4233-9E39-295D64027589" DiskId="1">

+                    <File Id="file914" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="danish" Name="danish">

+                  <Component Id="Share.danish" Guid="77914713-1133-42A5-96BE-897CB30DC5E2" DiskId="1">

+                    <File Id="file916" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="dutch" Name="dutch">

+                  <Component Id="Share.dutch" Guid="4C9DB6C6-B1C6-490F-9543-2AE75294BDC6" DiskId="1">

+                    <File Id="file918" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="english" Name="english">

+                  <Component Id="Share.english" Guid="16313289-482E-4189-8590-0DED1F104E9A" DiskId="1">

+                    <File Id="file920" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="estonian" Name="estonian">

+                  <Component Id="Share.estonian" Guid="F3140543-325B-4DC8-AA48-173FF7CD10CC" DiskId="1">

+                    <File Id="file922" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="french" Name="french">

+                  <Component Id="Share.french" Guid="9BEA35F1-5F1D-4BAE-90D6-E4DA8CBA422E" DiskId="1">

+                    <File Id="file924" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="german" Name="german">

+                  <Component Id="Share.german" Guid="39A2539F-8DDF-4FA5-B68E-A75BE25654F9" DiskId="1">

+                    <File Id="file926" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="greek" Name="greek">

+                  <Component Id="Share.greek" Guid="58226143-74EB-4D63-85A3-0EE6667E3C4B" DiskId="1">

+                    <File Id="file928" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="hungarian" Name="HUNGARYN" LongName="hungarian">

+                  <Component Id="Share.hungarian" Guid="71F0F6FA-08ED-47DC-A9A1-5AAF8708D5D3" DiskId="1">

+                    <File Id="file930" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="italian" Name="italian">

+                  <Component Id="Share.italian" Guid="3506EE80-2D68-40FF-8582-559A588CD07D" DiskId="1">

+                    <File Id="file932" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="japanese" Name="japanese">

+                  <Component Id="Share.japanese" Guid="B1CBD10C-E62E-44F6-A39F-36A4113EAD83" DiskId="1">

+                    <File Id="file934" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="japanese_sjis" Name="JPN_SJIS" LongName="japanese-sjis">

+                  <Component Id="Share.japanese_sjis" Guid="B1CBD10C-E62E-44F6-A39F-36A4113EAD84" DiskId="1">

+                    <File Id="file961" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="korean" Name="korean">

+                  <Component Id="Share.korean" Guid="7D6AF940-2AF3-4D82-9105-968A2C67F7CA" DiskId="1">

+                    <File Id="file936" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="norwegian" Name="NORWAY" LongName="norwegian">

+                  <Component Id="Share.norwegian" Guid="B807A7DA-781A-4665-8884-6F0126C52448" DiskId="1">

+                    <File Id="file938" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="norwegian_ny" Name="NORWAYNY" LongName="norwegian-ny">

+                  <Component Id="Share.norwegian_ny" Guid="4D9878FE-BEA7-4BBE-9856-F90A2E41A24F" DiskId="1">

+                    <File Id="file940" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="polish" Name="polish">

+                  <Component Id="Share.polish" Guid="C76D86DD-457C-4A91-8935-FD4290A744D2" DiskId="1">

+                    <File Id="file942" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="portuguese" Name="PORTUGAL" LongName="portuguese">

+                  <Component Id="Share.portugese" Guid="394230A0-F9A9-4EF0-B2EE-6C9D880B9185" DiskId="1">

+                    <File Id="file944" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="romanian" Name="romanian">

+                  <Component Id="Share.romanian" Guid="0C54ABB3-F384-487E-8507-1BC76AA85299" DiskId="1">

+                    <File Id="file946" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="russian" Name="russian">

+                  <Component Id="Share.russian" Guid="1F577063-AE62-4FEF-907D-B04F6499CEE7" DiskId="1">

+                    <File Id="file948" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="serbian" Name="serbian">

+                  <Component Id="Share.serbian" Guid="61AEF75A-5E39-47E5-9562-117C627B3100" DiskId="1">

+                    <File Id="file950" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="slovak" Name="slovak">

+                  <Component Id="Share.slovak" Guid="B123DCFC-AC0C-4FFD-A7E5-4DDA04B1860A" DiskId="1">

+                    <File Id="file952" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="spanish" Name="spanish">

+                  <Component Id="Share.spanish" Guid="1038531A-28FD-4C86-9261-9F160346A992" DiskId="1">

+                    <File Id="file954" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="swedish" Name="swedish">

+                  <Component Id="Share.swedish" Guid="AE14EC7E-7996-4732-A014-E2A982C7E88C" DiskId="1">

+                    <File Id="file957" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+                <Directory Id="ukrainian" Name="UKRAINAN" LongName="ukrainian">

+                  <Component Id="Share.ukrainian" Guid="191E5A9B-0FE4-4BDD-BFEA-04704B136826" DiskId="1">

+                    <File Id="file959" Name="errmsg.sys"  />

+                  </Component>

+                </Directory>

+              </Directory>

+

+              <!-- *****************************************************************************************

+                   end of directory

+	      -->

+

+            </Directory>

+          </Directory>

+        </Directory>

+      </Directory>

+      <Directory Id="CommonAppDataFolder" Name=".">

+        <Directory Id="MYSQL_DATA" Name="MySQL">

+          <Directory Id="MysqlServerDir_DATA" Name="MYSQLDAT.DIR" LongName="MySQL Server 4.1" src=".\">

+            <Directory Id="DATADIR" Name=".">

+              <!-- *****************************************************************************************

+                   data directory

+	      -->             

+              <Directory Id="DataDir" Name="data">

+                <Directory Id="mysql" Name="mysql">

+                  <Component Id="SystemTables" Guid="7072E9DC-A770-4316-8D50-7A0604637C23" DiskId="1"

+                    Permanent="yes" NeverOverwrite="yes">

+                    <File Id="file495" Name="COLUMNPV.FRM" LongName="columns_priv.frm"  />

+                    <File Id="file496" Name="COLUMNPV.MYD" LongName="columns_priv.MYD"  />

+                    <File Id="file497" Name="COLUMNPV.MYI" LongName="columns_priv.MYI"  />

+                    <File Id="file498" Name="db.frm"  />

+                    <File Id="file499" Name="db.MYD"  />

+                    <File Id="file500" Name="db.MYI"  />

+                    <File Id="file501" Name="func.frm"  />

+                    <File Id="file502" Name="func.MYD"  />

+                    <File Id="file503" Name="func.MYI"  />

+                    <File Id="file504" Name="HELP_CAT.FRM" LongName="help_category.frm"  />

+                    <File Id="file505" Name="HELP_CAT.MYD" LongName="help_category.MYD"  />

+                    <File Id="file506" Name="HELP_CAT.MYI" LongName="help_category.MYI"  />

+                    <File Id="file507" Name="HELP_KEY.FRM" LongName="help_keyword.frm"  />

+                    <File Id="file508" Name="HELP_KEY.MYD" LongName="help_keyword.MYD"  />

+                    <File Id="file509" Name="HELP_KEY.MYI" LongName="help_keyword.MYI"  />

+                    <File Id="file510" Name="HELP_REL.FRM" LongName="help_relation.frm"  />

+                    <File Id="file511" Name="HELP_REL.MYD" LongName="help_relation.MYD"  />

+                    <File Id="file512" Name="HELP_REL.MYI" LongName="help_relation.MYI"  />

+                    <File Id="file513" Name="HELP_TPC.FRM" LongName="help_topic.frm"  />

+                    <File Id="file514" Name="HELP_TPC.MYD" LongName="help_topic.MYD"  />

+                    <File Id="file515" Name="HELP_TPC.MYI" LongName="help_topic.MYI"  />

+                    <File Id="file516" Name="host.frm"  />

+                    <File Id="file517" Name="host.MYD"  />

+                    <File Id="file518" Name="host.MYI"  />

+                    <File Id="file519" Name="TABLESPV.FRM" LongName="tables_priv.frm"  />

+                    <File Id="file520" Name="TABLESPV.MYD" LongName="tables_priv.MYD"  />

+                    <File Id="file521" Name="TABLESPV.MYI" LongName="tables_priv.MYI"  />

+                    <File Id="file522" Name="TIME_ZON.FRM" LongName="time_zone.frm"  />

+                    <File Id="file523" Name="TIME_ZON.MYD" LongName="time_zone.MYD"  />

+                    <File Id="file524" Name="TIME_ZON.MYI" LongName="time_zone.MYI"  />

+                    <File Id="file525" Name="TIME_ZN2.FRM" LongName="time_zone_leap_second.frm"  />

+                    <File Id="file526" Name="TIME_ZN2.MYD" LongName="time_zone_leap_second.MYD"  />

+                    <File Id="file527" Name="TIME_ZN2.MYI" LongName="time_zone_leap_second.MYI"  />

+                    <File Id="file528" Name="TIME_ZNN.FRM" LongName="time_zone_name.frm"  />

+                    <File Id="file529" Name="TIME_ZNN.MYD" LongName="time_zone_name.MYD"  />

+                    <File Id="file530" Name="TIME_ZNN.MYI" LongName="time_zone_name.MYI"  />

+                    <File Id="file531" Name="TIME_ZNT.FRM" LongName="time_zone_transition.frm"  />

+                    <File Id="file532" Name="TIME_ZNT.MYD" LongName="time_zone_transition.MYD"  />

+                    <File Id="file533" Name="TIME_ZNT.MYI" LongName="time_zone_transition.MYI"  />

+                    <File Id="file534" Name="TIME_ZNX.FRM" LongName="time_zone_transition_type.frm"  />

+                    <File Id="file535" Name="TIME_ZNX.MYD" LongName="time_zone_transition_type.MYD"  />

+                    <File Id="file536" Name="TIME_ZNX.MYI" LongName="time_zone_transition_type.MYI"  />

+                    <File Id="file537" Name="user.frm"  />

+                    <File Id="file538" Name="user.MYD"  />

+                    <File Id="file539" Name="user.MYI"  />

+                    <File Id="filea1" Name="proc.frm"  />

+                    <File Id="filea2" Name="proc.MYD"  />

+                    <File Id="filea3" Name="proc.MYI"  />

+                    <File Id="filea4" Name="PROCS_PV.FRM" LongName="procs_priv.frm"  />

+                    <File Id="filea5" Name="PROCS_PV.MYD" LongName="procs_priv.MYD"  />

+                    <File Id="filea6" Name="PROCS_PV.MYI" LongName="procs_priv.MYI"  />

+                    <File Id="file537a" Name="event.frm"  />

+                    <File Id="file538a" Name="event.MYD"  />

+                    <File Id="file539a" Name="event.MYI"  />

+                    <File Id="filea10" Name="GEN_LOG.FRM" LongName="general_log.frm"  />

+                    <File Id="filea11" Name="GEN_LOG.CSV" LongName="general_log.CSV"  />

+                    <File Id="filea12" Name="GEN_LOG.CSM" LongName="general_log.CSM"  />

+                    <File Id="filea13" Name="plugin.frm"  />

+                    <File Id="filea14" Name="plugin.MYD"  />

+                    <File Id="filea15" Name="plugin.MYI"  />

+                    <File Id="filea16" Name="slow_log.frm"  />

+                    <File Id="filea17" Name="slow_log.CSV"  />

+                    <File Id="filea18" Name="slow_log.CSM"  />

+                    <File Id="filea19" Name="servers.frm" />

+                    <File Id="filea20" Name="servers.MYD" />

+                    <File Id="filea21" Name="servers.MYI" />

+                    <File Id="filea22" Name="NDB_BNIN.FRM" LongName="ndb_binlog_index.frm" />

+                    <File Id="filea23" Name="NDB_BNIN.MYD" LongName="ndb_binlog_index.MYD" />

+                    <File Id="filea24" Name="NDB_BNIN.MYI" LongName="ndb_binlog_index.MYI" />

+                  </Component>

+                </Directory>

+                <Directory Id="test" Name="test">

+                  <Component Id="TestDB" Guid="4A52F327-DD18-466A-9951-4A3A0B6F5E0E" DiskId="1">

+                    <CreateFolder />

+                    <!-- <RemoveFolder Id="bla" On="Uninstall"/> -->

+                  </Component>

+                </Directory>

+              </Directory>

+            </Directory>

+          </Directory>

+        </Directory>

+      </Directory>

+    </Directory>

+  </Fragment>

+</Wix>


=== added file 'win/mysql_server_registration.wxs'
--- a/win/mysql_server_registration.wxs	1970-01-01 00:00:00 +0000
+++ b/win/mysql_server_registration.wxs	2008-07-18 23:36:39 +0000
@@ -0,0 +1,141 @@
+<?xml version='1.0' encoding='utf-8' ?>

+<!-- -*- nxml -*- -->

+<Wix>

+

+    <?include obj/configure.wxi ?>

+

+    <!-- Properties -->

+    <Fragment Id='ServiceTagProperties'>

+        <Property Id='STCLIENT'>

+            <DirectorySearch Path='[ProgramFilesFolder]\Sun\servicetag' Depth='1' Id='FindSTClient'>

+                <FileSearch Name='stclient.exe' />

+            </DirectorySearch>

+        </Property>

+        <Property Id='WindowsVerName' Value='Unk' />

+        <Property Id='WindowsVerSP' Value=' '/>

+        <Property Id='WMIQuery' Value='Set via CustomActions' />

+        <Property Id='ProductURN' Value='Set via CustomActions' />

+        <Property Id='NewURN' Value='Set via CustomActions' />

+        <Property Id='InstanceUrn' Value=' ' />

+        <Property Id='RegistryUrn' Value=' ' />

+    </Fragment>

+    

+    <!-- Custom Actions -->

+    <Fragment>

+        <!-- Product URNs. Server Specific. -->

+        <CustomAction Id='Set41Urn' Property='ProductURN' Value='MYSZ9-410-ZZZZ' />

+        <CustomAction Id='Set50Urn' Property='ProductURN' Value='MYSZ9-500-ZZZZ' />

+        <CustomAction Id='Set51Urn' Property='ProductURN' Value='MYSZ9-510-ZZZZ' />

+        <CustomAction Id='Set60Urn' Property='ProductURN' Value='MYSZ9-600-ZZZZ' />

+        <!-- OS String Generation -->

+        <CustomAction Id='SetWin2K' Property='WindowsVerName' Value='Microsoft Windows 2000' />

+        <CustomAction Id='SetWinXP' Property='WindowsVerName' Value='Microsoft Windows XP' />

+        <CustomAction Id='SetWin2K3' Property='WindowsVerName' Value='Microsoft Windows 2003' />

+        <CustomAction Id='SetWinVista' Property='WindowsVerName' Value='Microsoft Windows Vista' />

+        <CustomAction Id='SetWin2K8' Property='WindowsVerName' Value='Microsoft Windows 2008' />

+        <CustomAction Id='SetSP' Property='WindowsVerSP' Value='SP([ServicePackLevel])' />

+        <!-- WMI Queries -->

+        <CustomAction Id='SetCPUManufactQuery' Property='WMIQuery' Value='SELECT Manufacturer FROM Win32_Processor' />

+        <CustomAction Id='QWMICPUMan' BinaryKey='mysqlca' DllEntry='CAQueryWMI' Execute='immediate' Return='ignore' />

+        <CustomAction Id='SetSerialNumberQuery' Property='WMIQuery' Value='SELECT SerialNumber FROM Win32_BIOS' />

+        <CustomAction Id='QWMISerNum' BinaryKey='mysqlca' DllEntry='CAQueryWMI' Execute='immediate' Return='ignore' />

+        <CustomAction Id='SetMakeModelQuery' Property='WMIQuery' Value='SELECT Model, Manufacturer FROM Win32_ComputerSystem' />

+        <CustomAction Id='QWMIMakMod' BinaryKey='mysqlca' DllEntry='CAQueryWMI' Execute='immediate' Return='ignore' />

+        <!-- Generate URNs -->

+        <CustomAction Id='GenInstanceUrn' BinaryKey='mysqlca' DllEntry='CACreateURN' Execute='immediate' Return='ignore' />

+        <CustomAction Id='SetInstanceUrn' Property='InstanceUrn' Value='[NewURN]' />

+        <CustomAction Id='GenRegistryUrn' BinaryKey='mysqlca' DllEntry='CACreateURN' Execute='immediate' Return='ignore' />

+        <CustomAction Id='SetRegistryUrn' Property='RegistryUrn' Value='[NewURN]' />

+        <!-- Set registration Date Time -->

+        <CustomAction Id='SetDateTime' BinaryKey='mysqlca' DllEntry='CASetRegDateTime' Execute='immediate' Return='check' />

+        <!-- Update Offline Registration -->

+        <CustomAction Id="UpdateRegistration.SetProperty" Return="check" Property="UpdateRegistration" Value="[INSTALLDIR]" />

+        <CustomAction Id="UpdateRegistration" BinaryKey="mysqlca" DllEntry="CAUpdateOfflineReg" Execute="deferred" Return="ignore" HideTarget="yes" Impersonate="no"/>

+        <!-- POST Registration to RegistrationRelay Service if no STCLIENT -->

+        <CustomAction Id="PostRegistration.SetProperty" Return="check" Property="PostRegistration" Value="[INSTALLDIR]" />

+        <CustomAction Id="PostRegistration" BinaryKey="mysqlca" DllEntry="CASendServiceTag" Execute="immediate" Return="asyncNoWait" HideTarget="yes"/>

+        <!-- Use Service Tag Client Registration -->

+        <CustomAction Id='STClientRegister.SetProperty' Property='QtExecCmdLine' 

+        Value='"[STCLIENT]" -a -i [InstanceUrn] -p "[ProductName]" -e [ProductVersion] -t [ProductURN] -S mysql$(var.MYSQL_SERVER_SUFFIX)-[ProductVersion]-win32.msi -F N/A -P N/A -m "[Manufacturer]" -A [%PROCESSOR_ARCHITECTURE] -z N/A -I -1' />

+        <CustomAction Id='STClientRegister' BinaryKey='wixca' DllEntry='CAQuietExec' Execute='immediate' Return='check'/>

+    </Fragment>

+

+    <!-- Define the servicetag and offline regirations files. -->

+    <Fragment>

+     <Icon Id='SunReg.exe' src='webpage.ico' />

+     <DirectoryRef Id='INSTALLDIR'>

+          <Component Id='Registration' Guid='F3F8CC64-6169-4b23-9972-9C56855AF39A'>

+               <File Id='RegisterSVCTag' Name='register.htm' Source='register.htm' DiskId='1'>

+                    <Shortcut Id='RegisterSVCTag.Shortcut' Directory='MysqlProductMenuFolder' Name='Register' 

+                               LongName='SunInventory Registration'

+                               Description='SunInventory Registration'

+                               Icon='SunReg.exe' IconIndex='0' />

+               </File>

+               <File Id='XmlSettings' Name='svctag.xml' Source='svctag.xml' DiskId='1' />

+               <File Id='RegisterLoginHeader' Name='loginhdr.jpg' Source='loginhdr.jpg' DiskId='1' />

+               <XmlFile Id='XmlSettings1' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[%COMPUTERNAME]' ElementPath='//registration_data/environment/hostname' Sequence='1' />

+               <XmlFile Id='XmlSettings2' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[%OS]' ElementPath='//registration_data/environment/osName' Sequence='2' />

+               <XmlFile Id='XmlSettings3' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[WindowsVerName] [WindowsVerSP] ([VersionNT].[WindowsBuild])' ElementPath='//registration_data/environment/osVersion' Sequence='3' />

+               <XmlFile Id='XmlSettings4' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[%PROCESSOR_ARCHITECTURE]' ElementPath='//registration_data/environment/osArchitecture' Sequence='4' />

+               <XmlFile Id='XmlSettings5' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[ComputerSystem_Model]' ElementPath='//registration_data/environment/systemModel' Sequence='5' />

+               <XmlFile Id='XmlSettings6' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[ComputerSystem_Manufacturer]' ElementPath='//registration_data/environment/systemManufacturer' Sequence='6' />

+               <XmlFile Id='XmlSettings7' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[Processor_Manufacturer]' ElementPath='//registration_data/environment/cpuManufacturer' Sequence='7' />

+               <XmlFile Id='XmlSettings8' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[BIOS_SerialNumber]' ElementPath='//registration_data/environment/serialNumber' Sequence='8' />

+               <XmlFile Id='XmlSettings9' File='[INSTALLDIR]svctag.xml' Action='setValue' Name='urn' Value='[RegistryUrn]' ElementPath='//registration_data/registry' Sequence='9' />

+               <XmlFile Id='XmlSettings10' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[InstanceUrn]' ElementPath='//registration_data/registry/service_tag/instance_urn' Sequence='10' />

+               <XmlFile Id='XmlSettings11' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[ProductName]' ElementPath='//registration_data/registry/service_tag/product_name' Sequence='11' />

+               <XmlFile Id='XmlSettings12' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[ProductVersion]' ElementPath='//registration_data/registry/service_tag/product_version' Sequence='12' />

+               <XmlFile Id='XmlSettings13' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[ProductURN]' ElementPath='//registration_data/registry/service_tag/product_urn' Sequence='13' />

+               <XmlFile Id='XmlSettings14' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='N/A' ElementPath='//registration_data/registry/service_tag/product_parent_urn' Sequence='14' />

+               <XmlFile Id='XmlSettings15' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='license=$(var.LICENSE)' ElementPath='//registration_data/registry/service_tag/product_defined_inst_id' Sequence='15' />

+               <XmlFile Id='XmlSettings16' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[Manufacturer]' ElementPath='//registration_data/registry/service_tag/product_vendor' Sequence='16' />

+               <XmlFile Id='XmlSettings17' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='[SysDateTime]' ElementPath='//registration_data/registry/service_tag/timestamp' Sequence='17' />

+               <XmlFile Id='XmlSettings18' File='[INSTALLDIR]svctag.xml' Action='setValue' Value='mysql$(var.MYSQL_SERVER_SUFFIX)-[ProductVersion]-win32.msi' ElementPath='//registration_data/registry/service_tag/source' Sequence='18' />

+          </Component>

+     </DirectoryRef>

+    </Fragment>

+    

+    <!-- Update properties needed for Service Tag. -->

+    <Fragment Id='ServiceTagActions'>

+     <InstallExecuteSequence>

+          <Custom Action='Set41Urn' Before='InstallInitialize'>ProductName="MySQL Server 4.1"</Custom>

+          <Custom Action='Set50Urn' After='Set41Urn'>ProductName="MySQL Server 5.0"</Custom>

+          <Custom Action='Set51Urn' After='Set50Urn'>ProductName="MySQL Server 5.1"</Custom>

+          <Custom Action='Set60Urn' After='Set51Urn'>ProductName="MySQL Server 6.0"</Custom>

+          <!-- Formatted ENV variables -->

+          <Custom Action='SetWin2K' After='InstallInitialize'>(VersionNT = 500) AND (WindowsBuild = 2195)</Custom>

+          <Custom Action='SetWinXP' After='SetWin2K'>(VersionNT = 501) AND (WindowsBuild = 2600)</Custom>

+          <Custom Action='SetWin2K3' After='SetWinXP'>(VersionNT = 502) AND (WindowsBuild = 3790)</Custom>

+          <Custom Action='SetWinVista' After='SetWin2K3'>(VersionNT = 600) AND (WindowsBuild = 6000)</Custom>

+          <Custom Action='SetWin2K8' After='SetWinVista'>(VersionNT = 600) AND (WindowsBuild = 6001)</Custom>

+          <Custom Action='SetSP' After='SetWin2K8'>ServicePackLevel</Custom>

+          <!-- WMI Queries -->

+          <Custom Action='SetCPUManufactQuery' After='SetSP' />

+          <Custom Action='QWMICPUMan' After='SetCPUManufactQuery' />

+          <Custom Action='SetSerialNumberQuery' After= 'QWMICPUMan' />

+          <Custom Action='QWMISerNum' After='SetSerialNumberQuery' />

+          <Custom Action='SetMakeModelQuery' After= 'QWMISerNum' />

+          <Custom Action='QWMIMakMod' After='SetMakeModelQuery' />

+          <!-- Local URNs -->

+          <Custom Action='GenInstanceUrn' After='QWMIMakMod' />

+          <Custom Action='SetInstanceUrn' After='GenInstanceUrn' />

+          <Custom Action='GenRegistryUrn' After='SetInstanceUrn' />

+          <Custom Action='SetRegistryUrn' After='GenRegistryUrn' />

+          <!-- Date/Time -->

+          <Custom Action='SetDateTime' After='SetRegistryUrn' />

+          <!-- Update Offline Registration -->

+          <Custom Action='UpdateRegistration.SetProperty' After='PublishProduct'>NOT Installed And ACTION="INSTALL"</Custom>

+          <Custom Action='UpdateRegistration' After='UpdateRegistration.SetProperty'>NOT Installed And ACTION="INSTALL"</Custom>

+          <!-- The POST Registration CustomAction is triggered by the UI's Finish button in mysql_common_ui.xml. -->

+          <!-- Use local servicetag client if available -->

+          <Custom Action='STClientRegister.SetProperty' Before='STClientRegister'>STCLIENT And NOT Installed And ACTION="INSTALL"</Custom>

+          <Custom Action='STClientRegister' Before='InstallFinalize'>STCLIENT And NOT Installed And ACTION="INSTALL"</Custom>

+     </InstallExecuteSequence>

+    </Fragment>

+    

+    <!-- WiX Query WMI Custom Action DLL Definition -->

+    <Fragment>

+     <Binary Id='mysqlca' SourceFile='mysql_ca.dll' />

+     <Binary Id="wixca" src="wixca.dll"/>

+    </Fragment>

+</Wix>
\ No newline at end of file

=== modified file 'zlib/CMakeLists.txt'
--- a/zlib/CMakeLists.txt	2007-08-03 20:57:21 +0000
+++ b/zlib/CMakeLists.txt	2008-10-21 11:27:15 +0000
@@ -27,4 +27,6 @@ SET(ZLIB_SOURCES  adler32.c compress.c c
 			zutil.c zutil.h)
 IF(NOT SOURCE_SUBLIBS)
   ADD_LIBRARY(zlib ${ZLIB_SOURCES})
+  INSTALL_REL_LIB(zlib lib/opt)
+  INSTALL_DBG_LIB(zlib lib/debug)
 ENDIF(NOT SOURCE_SUBLIBS)

Thread
bzr commit into mysql-6.0 branch (df:2749) Daniel Fischer21 Oct