summaryrefslogtreecommitdiff
path: root/VC++Files
diff options
context:
space:
mode:
authorunknown <monty@narttu.mysql.fi>2003-10-07 15:42:26 +0300
committerunknown <monty@narttu.mysql.fi>2003-10-07 15:42:26 +0300
commitf16887c59c7e896c6504008f6cbea337a5cb3fff (patch)
treed89c080ef636608e316f1166b1628cd1d902deec /VC++Files
parentdf02cd390d461b50ab5bdf3492aae1071db7da05 (diff)
parentbc4a57f01ace40255de2f8d7307254fd1d1d5bfa (diff)
downloadmariadb-git-f16887c59c7e896c6504008f6cbea337a5cb3fff.tar.gz
Merge with 4.0.16
BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union BitKeeper/deleted/.del-mysqldump.result: Delete: mysql-test/r/mysqldump.result BitKeeper/deleted/.del-mysqldump.test: Delete: mysql-test/t/mysqldump.test BitKeeper/deleted/.del-compile-netware-max: Delete: netware/BUILD/compile-netware-max BitKeeper/deleted/.del-compile-netware-max-debug: Delete: netware/BUILD/compile-netware-max-debug BitKeeper/deleted/.del-compile-netware-src: Delete: netware/BUILD/compile-netware-src BitKeeper/deleted/.del-knetware.imp: Delete: netware/BUILD/knetware.imp BUILD/compile-pentium-valgrind-max: Auto merged BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183: Auto merged BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql: Auto merged BitKeeper/deleted/.del-openssl.imp: Delete: netware/BUILD/openssl.imp acinclude.m4: Auto merged SSL/cacert.pem: Auto merged SSL/client-cert.pem: Auto merged SSL/server-cert.pem: Auto merged client/mysqlbinlog.cc: Auto merged extra/resolveip.c: Auto merged heap/hp_test2.c: Auto merged include/my_global.h: Auto merged innobase/row/row0mysql.c: Auto merged innobase/row/row0sel.c: Auto merged libmysql/libmysql.def: Auto merged libmysqld/examples/Makefile.am: Auto merged myisam/mi_check.c: Auto merged myisam/mi_test2.c: Auto merged myisam/myisamdef.h: Auto merged mysql-test/r/fulltext_multi.result: Auto merged mysql-test/r/fulltext_order_by.result: Auto merged mysql-test/r/select.result: Auto merged mysql-test/r/user_var.result: Auto merged mysql-test/std_data/rpl_loaddata2.dat: Auto merged mysql-test/t/rpl_loaddata.test: Auto merged mysql-test/t/select.test: Auto merged mysql-test/t/user_var.test: Auto merged mysys/mf_dirname.c: Auto merged scripts/make_win_src_distribution.sh: Auto merged sql/des_key_file.cc: Auto merged sql/log.cc: Auto merged sql/mysqld.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/slave.h: Auto merged sql-bench/crash-me.sh: Auto merged sql-bench/server-cfg.sh: Auto merged sql-bench/test-insert.sh: Auto merged sql-bench/test-transactions.sh: Auto merged sql/sql_base.cc: Auto merged sql/sql_load.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged support-files/mysql.server.sh: Auto merged client/mysqltest.c: Merge with 4.0.16 Changed version number to '2.0' to avoid confusion with version numbering in 3.23 mysql-test/r/distinct.result: Updated results for merge mysql-test/r/insert.result: Updated results for merge mysql-test/r/insert_select.result: Updated results for merge mysql-test/r/join_outer.result: Updated results for merge mysql-test/r/mix_innodb_myisam_binlog.result: Updated results for merge mysql-test/r/order_by.result: Updated results for merge mysql-test/r/rpl000009.result: Updated results for merge mysql-test/r/rpl_loaddata.result: Updated results for merge mysql-test/r/rpl_log.result: Updated results for merge mysql-test/r/select_safe.result: Updated results for merge scripts/mysql_install_db.sh: Change -eq to = BitKeeper/deleted/.del-ins000001.test~2428ee5c9b1bc483: dummy
Diffstat (limited to 'VC++Files')
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/.fgl37
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/Default.cdf192
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/Default.fgl42
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/File Groups/Clients and Tools.fgl35
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/File Groups/Default.fdf82
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/File Groups/Default.fgl4
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/File Groups/Development.fgl191
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/File Groups/Documentation.fgl99
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/File Groups/Grant Tables.fgl36
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/File Groups/Servers.fgl184
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/MySQL 3.23.XX-GPL.ipr51
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Registry Entries/Default.rge4
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.dbgbin28458 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.inobin58611 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.insbin57122 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.obsbin65611 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.rul641
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt24
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Setup Files/Uncompressed Files/Language Independent/OS Independent/SETUP.BMPbin15694 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Shell Objects/Default.shl12
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/String Tables/0009-English/value.shl23
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/String Tables/Default.shl74
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Text Substitutions/Build.tsb56
-rw-r--r--VC++Files/InstallShield/3.23.XX-gpl/Text Substitutions/Setup.tsb76
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Component Definitions/.fgl37
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Component Definitions/Default.cdf192
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Component Definitions/Default.fgl42
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/File Groups/Clients and Tools.fgl35
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/File Groups/Default.fdf82
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/File Groups/Default.fgl4
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/File Groups/Development.fgl190
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/File Groups/Documentation.fgl98
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/File Groups/Grant Tables.fgl36
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/File Groups/Servers.fgl183
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/MySQL 3.23.com.ipr51
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Registry Entries/Default.rge4
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.dbgbin28458 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.inobin58611 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.insbin57122 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.obsbin65611 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.rul641
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt24
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Setup Files/Uncompressed Files/Language Independent/OS Independent/SETUP.BMPbin15694 -> 0 bytes
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Shell Objects/Default.shl12
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/String Tables/0009-English/value.shl23
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/String Tables/Default.shl74
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Text Substitutions/Build.tsb56
-rw-r--r--VC++Files/InstallShield/3.23.XXcom/Text Substitutions/Setup.tsb76
-rwxr-xr-xVC++Files/InstallShield/4.0.XX-classic/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt4
-rwxr-xr-xVC++Files/InstallShield/4.0.XX-classic/String Tables/0009-English/value.shl14
-rwxr-xr-xVC++Files/InstallShield/4.0.XX-gpl/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt4
-rwxr-xr-xVC++Files/InstallShield/4.0.XX-gpl/String Tables/0009-English/value.shl14
-rwxr-xr-xVC++Files/InstallShield/4.0.XX-pro/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt4
-rwxr-xr-xVC++Files/InstallShield/4.0.XX-pro/String Tables/0009-English/value.shl14
-rwxr-xr-xVC++Files/libmysql/libmysql.def94
-rw-r--r--VC++Files/libmysqltest/myTest-package.dsp92
-rw-r--r--VC++Files/mysqlshutdown/mysql.icobin0 -> 318 bytes
-rw-r--r--VC++Files/mysqlshutdown/mysqlshutdown.c396
-rw-r--r--VC++Files/mysqlshutdown/mysqlshutdown.rc4
-rw-r--r--VC++Files/mysqlwatch/mysqlwatch.c1490
-rw-r--r--VC++Files/thr_test/thr_test.c500
61 files changed, 1408 insertions, 4945 deletions
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/.fgl b/VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/.fgl
deleted file mode 100644
index 81e474f9be8..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/.fgl
+++ /dev/null
@@ -1,37 +0,0 @@
-[General]
-Type=FILELIST
-Version=1.00.000
-
-[topdir]
-subdir0=<WINDIR>
-subdir1=<PROGRAMFILES>
-subdir2=<TARGETDIR>
-subdir3=USERDEFINED
-
-[<WINDIR>]
-DISPLAYTEXT=Windows Operating System
-TYPE=TEXTSUBFIXED
-subdir0=<WINDIR>\<WINSYSDIR>
-
-[<WINDIR>\<WINSYSDIR>]
-DISPLAYTEXT=Windows System Folder
-TYPE=TEXTSUBFIXED
-
-[<PROGRAMFILES>]
-DISPLAYTEXT=Program Files Folder
-TYPE=TEXTSUBFIXED
-subdir0=<PROGRAMFILES>\<COMMONFILES>
-
-[<PROGRAMFILES>\<COMMONFILES>]
-DISPLAYTEXT=Common Files Folder
-TYPE=TEXTSUBFIXED
-
-[<TARGETDIR>]
-DISPLAYTEXT=General Application Destination
-TYPE=TEXTSUBFIXED
-
-[USERDEFINED]
-DISPLAYTEXT=Script-defined Folders
-TYPE=USERSTART
-
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/Default.cdf b/VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/Default.cdf
deleted file mode 100644
index 48d37800cd1..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/Default.cdf
+++ /dev/null
@@ -1,192 +0,0 @@
-[Development]
-required0=Servers
-SELECTED=Yes
-FILENEED=STANDARD
-required1=Grant Tables
-HTTPLOCATION=
-STATUS=Examples, Libraries, Includes and Script files
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=Examples, Libraries, Includes and Script files
-DISPLAYTEXT=Examples, Libraries, Includes and Script files
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Development
-COMMENT=
-INCLUDEINBUILD=Yes
-INSTALLATION=ALWAYSOVERWRITE
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
-[Grant Tables]
-required0=Servers
-SELECTED=Yes
-FILENEED=CRITICAL
-HTTPLOCATION=
-STATUS=The Grant Tables and Core Files
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=The Grant Tables and Core Files
-DISPLAYTEXT=The Grant Tables and Core Files
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Grant Tables
-requiredby0=Development
-COMMENT=
-INCLUDEINBUILD=Yes
-requiredby1=Clients and Tools
-INSTALLATION=NEVEROVERWRITE
-requiredby2=Documentation
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
-[Components]
-component0=Development
-component1=Grant Tables
-component2=Servers
-component3=Clients and Tools
-component4=Documentation
-
-[TopComponents]
-component0=Servers
-component1=Clients and Tools
-component2=Documentation
-component3=Development
-component4=Grant Tables
-
-[SetupType]
-setuptype0=Compact
-setuptype1=Typical
-setuptype2=Custom
-
-[Clients and Tools]
-required0=Servers
-SELECTED=Yes
-FILENEED=HIGHLYRECOMMENDED
-required1=Grant Tables
-HTTPLOCATION=
-STATUS=The MySQL clients and Maintenance Tools
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=The MySQL clients and Maintenance Tools
-DISPLAYTEXT=The MySQL clients and Maintenance Tools
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Clients and Tools
-COMMENT=
-INCLUDEINBUILD=Yes
-INSTALLATION=NEWERDATE
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
-[Servers]
-SELECTED=Yes
-FILENEED=CRITICAL
-HTTPLOCATION=
-STATUS=The MySQL Servers
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=The MySQL Servers
-DISPLAYTEXT=The MySQL Servers
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Servers
-requiredby0=Development
-COMMENT=
-INCLUDEINBUILD=Yes
-requiredby1=Grant Tables
-INSTALLATION=ALWAYSOVERWRITE
-requiredby2=Clients and Tools
-requiredby3=Documentation
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
-[SetupTypeItem-Compact]
-Comment=
-item0=Grant Tables
-item1=Servers
-item2=Clients and Tools
-item3=Documentation
-Descrip=
-DisplayText=
-
-[SetupTypeItem-Custom]
-Comment=
-item0=Development
-item1=Grant Tables
-item2=Servers
-item3=Clients and Tools
-Descrip=
-item4=Documentation
-DisplayText=
-
-[Info]
-Type=CompDef
-Version=1.00.000
-Name=
-
-[SetupTypeItem-Typical]
-Comment=
-item0=Development
-item1=Grant Tables
-item2=Servers
-item3=Clients and Tools
-Descrip=
-item4=Documentation
-DisplayText=
-
-[Documentation]
-required0=Servers
-SELECTED=Yes
-FILENEED=HIGHLYRECOMMENDED
-required1=Grant Tables
-HTTPLOCATION=
-STATUS=The MySQL Documentation with different formats
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=The MySQL Documentation with different formats
-DISPLAYTEXT=The MySQL Documentation with different formats
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Documentation
-COMMENT=
-INCLUDEINBUILD=Yes
-INSTALLATION=ALWAYSOVERWRITE
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/Default.fgl b/VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/Default.fgl
deleted file mode 100644
index 4e20dcea4ab..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Component Definitions/Default.fgl
+++ /dev/null
@@ -1,42 +0,0 @@
-[<PROGRAMFILES>\<COMMONFILES>]
-DISPLAYTEXT=Common Files Folder
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[<WINDIR>\<WINSYSDIR>]
-DISPLAYTEXT=Windows System Folder
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[USERDEFINED]
-DISPLAYTEXT=Script-defined Folders
-TYPE=USERSTART
-fulldirectory=
-
-[<PROGRAMFILES>]
-DISPLAYTEXT=Program Files Folder
-SubDir0=<PROGRAMFILES>\<COMMONFILES>
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[<TARGETDIR>]
-DISPLAYTEXT=General Application Destination
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[<WINDIR>]
-DISPLAYTEXT=Windows Operating System
-SubDir0=<WINDIR>\<WINSYSDIR>
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[TopDir]
-SubDir0=<WINDIR>
-SubDir1=<PROGRAMFILES>
-SubDir2=<TARGETDIR>
-SubDir3=USERDEFINED
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Clients and Tools.fgl b/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Clients and Tools.fgl
deleted file mode 100644
index 7f30ff9f64b..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Clients and Tools.fgl
+++ /dev/null
@@ -1,35 +0,0 @@
-[bin]
-file15=C:\mysql\bin\pack_isam.exe
-file16=C:\mysql\bin\perror.exe
-file0=C:\mysql\bin\isamchk.exe
-file17=C:\mysql\bin\replace.exe
-file1=C:\mysql\bin\myisamchk.exe
-file18=C:\mysql\bin\winmysqladmin.cnt
-file2=C:\mysql\bin\myisamlog.exe
-file19=C:\mysql\bin\winmysqladmin.exe
-file3=C:\mysql\bin\myisampack.exe
-file4=C:\mysql\bin\mysql.exe
-file5=C:\mysql\bin\mysqladmin.exe
-file6=C:\mysql\bin\mysqlbinlog.exe
-file7=C:\mysql\bin\mysqlc.exe
-file8=C:\mysql\bin\mysqlcheck.exe
-file9=C:\mysql\bin\mysqldump.exe
-file20=C:\mysql\bin\WINMYSQLADMIN.HLP
-file21=C:\mysql\bin\cygwinb19.dll
-file10=C:\mysql\bin\mysqlimport.exe
-fulldirectory=
-file22=C:\mysql\bin\libmySQL.dll
-file11=C:\mysql\bin\MySqlManager.exe
-file23=C:\mysql\bin\my_print_defaults.exe
-file12=C:\mysql\bin\mysqlshow.exe
-file24=C:\mysql\bin\comp-err.exe
-file13=C:\mysql\bin\mysqlshutdown.exe
-file14=C:\mysql\bin\mysqlwatch.exe
-
-[TopDir]
-SubDir0=bin
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Default.fdf b/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Default.fdf
deleted file mode 100644
index 8096a4b74bf..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Default.fdf
+++ /dev/null
@@ -1,82 +0,0 @@
-[FileGroups]
-group0=Development
-group1=Grant Tables
-group2=Servers
-group3=Clients and Tools
-group4=Documentation
-
-[Development]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
-[Grant Tables]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
-[Clients and Tools]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=0000000000000000
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
-[Servers]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
-[Info]
-Type=FileGrp
-Version=1.00.000
-Name=
-
-[Documentation]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Default.fgl b/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Default.fgl
deleted file mode 100644
index 94344a6ff69..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Default.fgl
+++ /dev/null
@@ -1,4 +0,0 @@
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Development.fgl b/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Development.fgl
deleted file mode 100644
index e7b8cc7cd0f..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Development.fgl
+++ /dev/null
@@ -1,191 +0,0 @@
-[bench\Data\Wisconsin]
-file0=C:\mysql\bench\Data\Wisconsin\onek.data
-file1=C:\mysql\bench\Data\Wisconsin\tenk.data
-fulldirectory=
-
-[lib\debug]
-file0=C:\mysql\lib\debug\libmySQL.dll
-file1=C:\mysql\lib\debug\libmySQL.lib
-file2=C:\mysql\lib\debug\mysqlclient.lib
-file3=C:\mysql\lib\debug\zlib.lib
-fulldirectory=
-
-[bench\output]
-fulldirectory=
-
-[examples\libmysqltest]
-file0=C:\mysql\examples\libmysqltest\myTest.c
-file1=C:\mysql\examples\libmysqltest\myTest.dsp
-file2=C:\mysql\examples\libmysqltest\myTest.dsw
-file3=C:\mysql\examples\libmysqltest\myTest.exe
-file4=C:\mysql\examples\libmysqltest\myTest.mak
-file5=C:\mysql\examples\libmysqltest\myTest.ncb
-file6=C:\mysql\examples\libmysqltest\myTest.opt
-file7=C:\mysql\examples\libmysqltest\readme
-fulldirectory=
-
-[include]
-file0=C:\mysql\include\raid.h
-file1=C:\mysql\include\errmsg.h
-file2=C:\mysql\include\Libmysql.def
-file3=C:\mysql\include\m_ctype.h
-file4=C:\mysql\include\m_string.h
-file5=C:\mysql\include\my_list.h
-file6=C:\mysql\include\my_pthread.h
-file7=C:\mysql\include\my_sys.h
-file8=C:\mysql\include\mysql.h
-file9=C:\mysql\include\mysql_com.h
-file10=C:\mysql\include\mysql_version.h
-fulldirectory=
-file11=C:\mysql\include\mysqld_error.h
-file12=C:\mysql\include\dbug.h
-file13=C:\mysql\include\my_global.h
-file14=C:\mysql\include\config-win.h
-
-[examples]
-SubDir0=examples\libmysqltest
-SubDir1=examples\tests
-fulldirectory=
-
-[lib\opt]
-file0=C:\mysql\lib\opt\libmySQL.dll
-file1=C:\mysql\lib\opt\libmySQL.lib
-file2=C:\mysql\lib\opt\mysqlclient.lib
-file3=C:\mysql\lib\opt\zlib.lib
-fulldirectory=
-
-[bench\Data]
-SubDir0=bench\Data\ATIS
-SubDir1=bench\Data\Wisconsin
-fulldirectory=
-
-[bench\limits]
-file15=C:\mysql\bench\limits\pg.comment
-file16=C:\mysql\bench\limits\solid.cfg
-file0=C:\mysql\bench\limits\access.cfg
-file17=C:\mysql\bench\limits\solid-nt4.cfg
-file1=C:\mysql\bench\limits\access.comment
-file18=C:\mysql\bench\limits\sybase.cfg
-file2=C:\mysql\bench\limits\Adabas.cfg
-file3=C:\mysql\bench\limits\Adabas.comment
-file4=C:\mysql\bench\limits\Db2.cfg
-file5=C:\mysql\bench\limits\empress.cfg
-file6=C:\mysql\bench\limits\empress.comment
-file7=C:\mysql\bench\limits\Informix.cfg
-file8=C:\mysql\bench\limits\Informix.comment
-file9=C:\mysql\bench\limits\msql.cfg
-file10=C:\mysql\bench\limits\ms-sql.cfg
-fulldirectory=
-file11=C:\mysql\bench\limits\Ms-sql65.cfg
-file12=C:\mysql\bench\limits\mysql.cfg
-file13=C:\mysql\bench\limits\oracle.cfg
-file14=C:\mysql\bench\limits\pg.cfg
-
-[TopDir]
-SubDir0=bench
-SubDir1=examples
-SubDir2=include
-SubDir3=lib
-SubDir4=scripts
-
-[bench]
-file15=C:\mysql\bench\test-create
-file16=C:\mysql\bench\test-insert
-file0=C:\mysql\bench\uname.bat
-file17=C:\mysql\bench\test-select
-file1=C:\mysql\bench\compare-results
-file18=C:\mysql\bench\test-wisconsin
-file2=C:\mysql\bench\copy-db
-file19=C:\mysql\bench\bench-init.pl
-file3=C:\mysql\bench\crash-me
-file4=C:\mysql\bench\example.bat
-file5=C:\mysql\bench\print-limit-table
-file6=C:\mysql\bench\pwd.bat
-file7=C:\mysql\bench\Readme
-SubDir0=bench\Data
-file8=C:\mysql\bench\run.bat
-SubDir1=bench\limits
-file9=C:\mysql\bench\run-all-tests
-SubDir2=bench\output
-file10=C:\mysql\bench\server-cfg
-fulldirectory=
-file11=C:\mysql\bench\test-alter-table
-file12=C:\mysql\bench\test-ATIS
-file13=C:\mysql\bench\test-big-tables
-file14=C:\mysql\bench\test-connect
-
-[examples\tests]
-file15=C:\mysql\examples\tests\lock_test.res
-file16=C:\mysql\examples\tests\mail_to_db.pl
-file0=C:\mysql\examples\tests\unique_users.tst
-file17=C:\mysql\examples\tests\table_types.pl
-file1=C:\mysql\examples\tests\auto_increment.tst
-file18=C:\mysql\examples\tests\test_delayed_insert.pl
-file2=C:\mysql\examples\tests\big_record.pl
-file19=C:\mysql\examples\tests\udf_test
-file3=C:\mysql\examples\tests\big_record.res
-file4=C:\mysql\examples\tests\czech-sorting
-file5=C:\mysql\examples\tests\deadlock-script.pl
-file6=C:\mysql\examples\tests\export.pl
-file7=C:\mysql\examples\tests\fork_test.pl
-file8=C:\mysql\examples\tests\fork2_test.pl
-file9=C:\mysql\examples\tests\fork3_test.pl
-file20=C:\mysql\examples\tests\udf_test.res
-file21=C:\mysql\examples\tests\auto_increment.res
-file10=C:\mysql\examples\tests\function.res
-fulldirectory=
-file11=C:\mysql\examples\tests\function.tst
-file12=C:\mysql\examples\tests\grant.pl
-file13=C:\mysql\examples\tests\grant.res
-file14=C:\mysql\examples\tests\lock_test.pl
-
-[bench\Data\ATIS]
-file26=C:\mysql\bench\Data\ATIS\stop1.txt
-file15=C:\mysql\bench\Data\ATIS\flight_class.txt
-file27=C:\mysql\bench\Data\ATIS\time_interval.txt
-file16=C:\mysql\bench\Data\ATIS\flight_day.txt
-file0=C:\mysql\bench\Data\ATIS\transport.txt
-file28=C:\mysql\bench\Data\ATIS\time_zone.txt
-file17=C:\mysql\bench\Data\ATIS\flight_fare.txt
-file1=C:\mysql\bench\Data\ATIS\airline.txt
-file29=C:\mysql\bench\Data\ATIS\aircraft.txt
-file18=C:\mysql\bench\Data\ATIS\food_service.txt
-file2=C:\mysql\bench\Data\ATIS\airport.txt
-file19=C:\mysql\bench\Data\ATIS\ground_service.txt
-file3=C:\mysql\bench\Data\ATIS\airport_service.txt
-file4=C:\mysql\bench\Data\ATIS\city.txt
-file5=C:\mysql\bench\Data\ATIS\class_of_service.txt
-file6=C:\mysql\bench\Data\ATIS\code_description.txt
-file7=C:\mysql\bench\Data\ATIS\compound_class.txt
-file8=C:\mysql\bench\Data\ATIS\connect_leg.txt
-file9=C:\mysql\bench\Data\ATIS\date_day.txt
-file20=C:\mysql\bench\Data\ATIS\month_name.txt
-file21=C:\mysql\bench\Data\ATIS\restrict_carrier.txt
-file10=C:\mysql\bench\Data\ATIS\day_name.txt
-fulldirectory=
-file22=C:\mysql\bench\Data\ATIS\restrict_class.txt
-file11=C:\mysql\bench\Data\ATIS\dual_carrier.txt
-file23=C:\mysql\bench\Data\ATIS\restriction.txt
-file12=C:\mysql\bench\Data\ATIS\fare.txt
-file24=C:\mysql\bench\Data\ATIS\state.txt
-file13=C:\mysql\bench\Data\ATIS\fconnection.txt
-file25=C:\mysql\bench\Data\ATIS\stop.txt
-file14=C:\mysql\bench\Data\ATIS\flight.txt
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
-[scripts]
-file0=C:\mysql\scripts\mysql_find_rows.pl
-file1=C:\mysql\scripts\mysql_setpermission.pl
-file2=C:\mysql\scripts\mysqlhotcopy.pl
-file3=C:\mysql\scripts\Readme
-fulldirectory=
-
-[lib]
-file0=C:\mysql\lib\Readme
-SubDir0=lib\debug
-SubDir1=lib\opt
-fulldirectory=
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Documentation.fgl b/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Documentation.fgl
deleted file mode 100644
index 80fe777cf0f..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Documentation.fgl
+++ /dev/null
@@ -1,99 +0,0 @@
-[Docs\Flags]
-file59=C:\mysql\Docs\Flags\romania.gif
-file48=C:\mysql\Docs\Flags\kroatia.eps
-file37=C:\mysql\Docs\Flags\iceland.gif
-file26=C:\mysql\Docs\Flags\france.eps
-file15=C:\mysql\Docs\Flags\china.gif
-file49=C:\mysql\Docs\Flags\kroatia.gif
-file38=C:\mysql\Docs\Flags\ireland.eps
-file27=C:\mysql\Docs\Flags\france.gif
-file16=C:\mysql\Docs\Flags\croatia.eps
-file0=C:\mysql\Docs\Flags\usa.gif
-file39=C:\mysql\Docs\Flags\ireland.gif
-file28=C:\mysql\Docs\Flags\germany.eps
-file17=C:\mysql\Docs\Flags\croatia.gif
-file1=C:\mysql\Docs\Flags\argentina.gif
-file29=C:\mysql\Docs\Flags\germany.gif
-file18=C:\mysql\Docs\Flags\czech-republic.eps
-file2=C:\mysql\Docs\Flags\australia.eps
-file19=C:\mysql\Docs\Flags\czech-republic.gif
-file3=C:\mysql\Docs\Flags\australia.gif
-file80=C:\mysql\Docs\Flags\usa.eps
-file4=C:\mysql\Docs\Flags\austria.eps
-file81=C:\mysql\Docs\Flags\argentina.eps
-file70=C:\mysql\Docs\Flags\spain.eps
-file5=C:\mysql\Docs\Flags\austria.gif
-file71=C:\mysql\Docs\Flags\spain.gif
-file60=C:\mysql\Docs\Flags\russia.eps
-file6=C:\mysql\Docs\Flags\brazil.eps
-file72=C:\mysql\Docs\Flags\sweden.eps
-file61=C:\mysql\Docs\Flags\russia.gif
-file50=C:\mysql\Docs\Flags\latvia.eps
-file7=C:\mysql\Docs\Flags\brazil.gif
-file73=C:\mysql\Docs\Flags\sweden.gif
-file62=C:\mysql\Docs\Flags\singapore.eps
-file51=C:\mysql\Docs\Flags\latvia.gif
-file40=C:\mysql\Docs\Flags\island.eps
-file8=C:\mysql\Docs\Flags\bulgaria.eps
-file74=C:\mysql\Docs\Flags\switzerland.eps
-file63=C:\mysql\Docs\Flags\singapore.gif
-file52=C:\mysql\Docs\Flags\netherlands.eps
-file41=C:\mysql\Docs\Flags\island.gif
-file30=C:\mysql\Docs\Flags\great-britain.eps
-file9=C:\mysql\Docs\Flags\bulgaria.gif
-file75=C:\mysql\Docs\Flags\switzerland.gif
-file64=C:\mysql\Docs\Flags\south-africa.eps
-file53=C:\mysql\Docs\Flags\netherlands.gif
-file42=C:\mysql\Docs\Flags\israel.eps
-file31=C:\mysql\Docs\Flags\great-britain.gif
-file20=C:\mysql\Docs\Flags\denmark.eps
-file76=C:\mysql\Docs\Flags\taiwan.eps
-file65=C:\mysql\Docs\Flags\south-africa.gif
-file54=C:\mysql\Docs\Flags\poland.eps
-file43=C:\mysql\Docs\Flags\israel.gif
-file32=C:\mysql\Docs\Flags\greece.eps
-file21=C:\mysql\Docs\Flags\denmark.gif
-file10=C:\mysql\Docs\Flags\canada.eps
-fulldirectory=
-file77=C:\mysql\Docs\Flags\taiwan.gif
-file66=C:\mysql\Docs\Flags\south-africa1.eps
-file55=C:\mysql\Docs\Flags\poland.gif
-file44=C:\mysql\Docs\Flags\italy.eps
-file33=C:\mysql\Docs\Flags\greece.gif
-file22=C:\mysql\Docs\Flags\estonia.eps
-file11=C:\mysql\Docs\Flags\canada.gif
-file78=C:\mysql\Docs\Flags\ukraine.eps
-file67=C:\mysql\Docs\Flags\south-africa1.gif
-file56=C:\mysql\Docs\Flags\portugal.eps
-file45=C:\mysql\Docs\Flags\italy.gif
-file34=C:\mysql\Docs\Flags\hungary.eps
-file23=C:\mysql\Docs\Flags\estonia.gif
-file12=C:\mysql\Docs\Flags\chile.eps
-file79=C:\mysql\Docs\Flags\ukraine.gif
-file68=C:\mysql\Docs\Flags\south-korea.eps
-file57=C:\mysql\Docs\Flags\portugal.gif
-file46=C:\mysql\Docs\Flags\japan.eps
-file35=C:\mysql\Docs\Flags\hungary.gif
-file24=C:\mysql\Docs\Flags\finland.eps
-file13=C:\mysql\Docs\Flags\chile.gif
-file69=C:\mysql\Docs\Flags\south-korea.gif
-file58=C:\mysql\Docs\Flags\romania.eps
-file47=C:\mysql\Docs\Flags\japan.gif
-file36=C:\mysql\Docs\Flags\iceland.eps
-file25=C:\mysql\Docs\Flags\finland.gif
-file14=C:\mysql\Docs\Flags\china.eps
-
-[Docs]
-file0=C:\mysql\Docs\manual_toc.html
-file1=C:\mysql\Docs\manual.html
-file2=C:\mysql\Docs\manual.txt
-SubDir0=Docs\Flags
-fulldirectory=
-
-[TopDir]
-SubDir0=Docs
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Grant Tables.fgl b/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Grant Tables.fgl
deleted file mode 100644
index 178065a7003..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Grant Tables.fgl
+++ /dev/null
@@ -1,36 +0,0 @@
-[data\test]
-fulldirectory=
-
-[data\mysql]
-file15=C:\mysql\data\mysql\func.frm
-file16=C:\mysql\data\mysql\func.MYD
-file0=C:\mysql\data\mysql\columns_priv.frm
-file17=C:\mysql\data\mysql\func.MYI
-file1=C:\mysql\data\mysql\columns_priv.MYD
-file2=C:\mysql\data\mysql\columns_priv.MYI
-file3=C:\mysql\data\mysql\db.frm
-file4=C:\mysql\data\mysql\db.MYD
-file5=C:\mysql\data\mysql\db.MYI
-file6=C:\mysql\data\mysql\host.frm
-file7=C:\mysql\data\mysql\host.MYD
-file8=C:\mysql\data\mysql\host.MYI
-file9=C:\mysql\data\mysql\tables_priv.frm
-file10=C:\mysql\data\mysql\tables_priv.MYD
-fulldirectory=
-file11=C:\mysql\data\mysql\tables_priv.MYI
-file12=C:\mysql\data\mysql\user.frm
-file13=C:\mysql\data\mysql\user.MYD
-file14=C:\mysql\data\mysql\user.MYI
-
-[TopDir]
-SubDir0=data
-
-[data]
-SubDir0=data\mysql
-SubDir1=data\test
-fulldirectory=
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Servers.fgl b/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Servers.fgl
deleted file mode 100644
index b23e2f90595..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/File Groups/Servers.fgl
+++ /dev/null
@@ -1,184 +0,0 @@
-[share\polish]
-file0=C:\mysql\share\polish\errmsg.sys
-file1=C:\mysql\share\polish\errmsg.txt
-fulldirectory=
-
-[share\dutch]
-file0=C:\mysql\share\dutch\errmsg.sys
-file1=C:\mysql\share\dutch\errmsg.txt
-fulldirectory=
-
-[share\spanish]
-file0=C:\mysql\share\spanish\errmsg.sys
-file1=C:\mysql\share\spanish\errmsg.txt
-fulldirectory=
-
-[share\english]
-file0=C:\mysql\share\english\errmsg.sys
-file1=C:\mysql\share\english\errmsg.txt
-fulldirectory=
-
-[bin]
-file0=C:\mysql\bin\mysqld-opt.exe
-file1=C:\mysql\bin\mysqld-max.exe
-file2=C:\mysql\bin\mysqld-max-nt.exe
-file3=C:\mysql\bin\mysqld-nt.exe
-file4=C:\mysql\bin\mysqld.exe
-fulldirectory=
-
-[share\korean]
-file0=C:\mysql\share\korean\errmsg.sys
-file1=C:\mysql\share\korean\errmsg.txt
-fulldirectory=
-
-[share\charsets]
-file15=C:\mysql\share\charsets\latin1.conf
-file16=C:\mysql\share\charsets\latin2.conf
-file0=C:\mysql\share\charsets\win1251ukr.conf
-file17=C:\mysql\share\charsets\latin5.conf
-file1=C:\mysql\share\charsets\cp1257.conf
-file18=C:\mysql\share\charsets\Readme
-file2=C:\mysql\share\charsets\croat.conf
-file19=C:\mysql\share\charsets\swe7.conf
-file3=C:\mysql\share\charsets\danish.conf
-file4=C:\mysql\share\charsets\dec8.conf
-file5=C:\mysql\share\charsets\dos.conf
-file6=C:\mysql\share\charsets\estonia.conf
-file7=C:\mysql\share\charsets\german1.conf
-file8=C:\mysql\share\charsets\greek.conf
-file9=C:\mysql\share\charsets\hebrew.conf
-file20=C:\mysql\share\charsets\usa7.conf
-file21=C:\mysql\share\charsets\win1250.conf
-file10=C:\mysql\share\charsets\hp8.conf
-fulldirectory=
-file22=C:\mysql\share\charsets\win1251.conf
-file11=C:\mysql\share\charsets\hungarian.conf
-file23=C:\mysql\share\charsets\cp1251.conf
-file12=C:\mysql\share\charsets\Index
-file13=C:\mysql\share\charsets\koi8_ru.conf
-file14=C:\mysql\share\charsets\koi8_ukr.conf
-
-[share\ukrainian]
-file0=C:\mysql\share\ukrainian\errmsg.sys
-file1=C:\mysql\share\ukrainian\errmsg.txt
-fulldirectory=
-
-[share\hungarian]
-file0=C:\mysql\share\hungarian\errmsg.sys
-file1=C:\mysql\share\hungarian\errmsg.txt
-fulldirectory=
-
-[share\german]
-file0=C:\mysql\share\german\errmsg.sys
-file1=C:\mysql\share\german\errmsg.txt
-fulldirectory=
-
-[share\portuguese]
-file0=C:\mysql\share\portuguese\errmsg.sys
-file1=C:\mysql\share\portuguese\errmsg.txt
-fulldirectory=
-
-[share\estonian]
-file0=C:\mysql\share\estonian\errmsg.sys
-file1=C:\mysql\share\estonian\errmsg.txt
-fulldirectory=
-
-[share\romanian]
-file0=C:\mysql\share\romanian\errmsg.sys
-file1=C:\mysql\share\romanian\errmsg.txt
-fulldirectory=
-
-[share\french]
-file0=C:\mysql\share\french\errmsg.sys
-file1=C:\mysql\share\french\errmsg.txt
-fulldirectory=
-
-[share\swedish]
-file0=C:\mysql\share\swedish\errmsg.sys
-file1=C:\mysql\share\swedish\errmsg.txt
-fulldirectory=
-
-[share\slovak]
-file0=C:\mysql\share\slovak\errmsg.sys
-file1=C:\mysql\share\slovak\errmsg.txt
-fulldirectory=
-
-[share\greek]
-file0=C:\mysql\share\greek\errmsg.sys
-file1=C:\mysql\share\greek\errmsg.txt
-fulldirectory=
-
-[TopDir]
-file0=C:\mysql\mysqlbug.txt
-file1=C:\mysql\my-small.cnf
-file2=C:\mysql\my-large.cnf
-file3=C:\mysql\my-medium.cnf
-file4=C:\mysql\my-huge.cnf
-SubDir0=bin
-SubDir1=share
-
-[share]
-SubDir8=share\hungarian
-SubDir9=share\charsets
-SubDir20=share\spanish
-SubDir21=share\swedish
-SubDir10=share\italian
-SubDir22=share\ukrainian
-SubDir11=share\japanese
-SubDir12=share\korean
-SubDir13=share\norwegian
-SubDir14=share\norwegian-ny
-SubDir15=share\polish
-SubDir16=share\portuguese
-SubDir0=share\czech
-SubDir17=share\romanian
-SubDir1=share\danish
-SubDir18=share\russian
-SubDir2=share\dutch
-SubDir19=share\slovak
-SubDir3=share\english
-fulldirectory=
-SubDir4=share\estonian
-SubDir5=share\french
-SubDir6=share\german
-SubDir7=share\greek
-
-[share\norwegian-ny]
-file0=C:\mysql\share\norwegian-ny\errmsg.sys
-file1=C:\mysql\share\norwegian-ny\errmsg.txt
-fulldirectory=
-
-[share\danish]
-file0=C:\mysql\share\danish\errmsg.sys
-file1=C:\mysql\share\danish\errmsg.txt
-fulldirectory=
-
-[share\czech]
-file0=C:\mysql\share\czech\errmsg.sys
-file1=C:\mysql\share\czech\errmsg.txt
-fulldirectory=
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
-[share\russian]
-file0=C:\mysql\share\russian\errmsg.sys
-file1=C:\mysql\share\russian\errmsg.txt
-fulldirectory=
-
-[share\norwegian]
-file0=C:\mysql\share\norwegian\errmsg.sys
-file1=C:\mysql\share\norwegian\errmsg.txt
-fulldirectory=
-
-[share\japanese]
-file0=C:\mysql\share\japanese\errmsg.sys
-file1=C:\mysql\share\japanese\errmsg.txt
-fulldirectory=
-
-[share\italian]
-file0=C:\mysql\share\italian\errmsg.sys
-file1=C:\mysql\share\italian\errmsg.txt
-fulldirectory=
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/MySQL 3.23.XX-GPL.ipr b/VC++Files/InstallShield/3.23.XX-gpl/MySQL 3.23.XX-GPL.ipr
deleted file mode 100644
index de15790e744..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/MySQL 3.23.XX-GPL.ipr
+++ /dev/null
@@ -1,51 +0,0 @@
-[Language]
-LanguageSupport0=0009
-
-[OperatingSystem]
-OSSupport=0000000000010010
-
-[Data]
-CurrentMedia=
-CurrentComponentDef=Default.cdf
-ProductName=MySQL Servers and Clients
-set_mifserial=
-DevEnvironment=Microsoft Visual C++ 6
-AppExe=
-set_dlldebug=No
-EmailAddresss=
-Instructions=Instructions.txt
-set_testmode=No
-set_mif=No
-SummaryText=
-Department=
-HomeURL=
-Author=
-Type=Database Application
-InstallRoot=C:\MySQL-Install\3.23.XX-gpl
-Version=1.00.000
-InstallationGUID=40744a4d-efed-4cff-84a9-9e6389550f5c
-set_level=Level 3
-CurrentFileGroupDef=Default.fdf
-Notes=Notes.txt
-set_maxerr=50
-set_args=
-set_miffile=Status.mif
-set_dllcmdline=
-Copyright=
-set_warnaserr=No
-CurrentPlatform=
-Category=
-set_preproc=
-CurrentLanguage=English
-CompanyName=MySQL
-Description=Description.txt
-set_maxwarn=50
-set_crc=Yes
-set_compileb4build=No
-
-[MediaInfo]
-
-[General]
-Type=INSTALLMAIN
-Version=1.10.000
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Registry Entries/Default.rge b/VC++Files/InstallShield/3.23.XX-gpl/Registry Entries/Default.rge
deleted file mode 100644
index 537dfd82e48..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Registry Entries/Default.rge
+++ /dev/null
@@ -1,4 +0,0 @@
-[General]
-Type=REGISTRYDATA
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.dbg b/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.dbg
deleted file mode 100644
index 0c6d4e6b708..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.dbg
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.ino b/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.ino
deleted file mode 100644
index 204d8ea0f36..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.ino
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.ins b/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.ins
deleted file mode 100644
index 759009b5c84..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.ins
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.obs b/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.obs
deleted file mode 100644
index 5fcfcb62c4e..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.obs
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.rul b/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.rul
deleted file mode 100644
index 0db8417a62c..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Script Files/Setup.rul
+++ /dev/null
@@ -1,641 +0,0 @@
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IIIIIII SSSSSS
-// II SS InstallShield (R)
-// II SSSSSS (c) 1996-1997, InstallShield Software Corporation
-// II SS (c) 1990-1996, InstallShield Corporation
-// IIIIIII SSSSSS All Rights Reserved.
-//
-//
-// This code is generated as a starting setup template. You should
-// modify it to provide all necessary steps for your setup.
-//
-//
-// File Name: Setup.rul
-//
-// Description: InstallShield script
-//
-// Comments: This template script performs a basic setup on a
-// Windows 95 or Windows NT 4.0 platform. With minor
-// modifications, this template can be adapted to create
-// new, customized setups.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-
- // Include header file
-#include "sdlang.h"
-#include "sddialog.h"
-
-////////////////////// string defines ////////////////////////////
-
-#define UNINST_LOGFILE_NAME "Uninst.isu"
-
-//////////////////// installation declarations ///////////////////
-
- // ----- DLL prototypes -----
-
-
- // your DLL prototypes
-
-
- // ---- script prototypes -----
-
- // generated
- prototype ShowDialogs();
- prototype MoveFileData();
- prototype HandleMoveDataError( NUMBER );
- prototype ProcessBeforeDataMove();
- prototype ProcessAfterDataMove();
- prototype SetupRegistry();
- prototype SetupFolders();
- prototype CleanUpInstall();
- prototype SetupInstall();
- prototype SetupScreen();
- prototype CheckRequirements();
- prototype DialogShowSdWelcome();
- prototype DialogShowSdShowInfoList();
- prototype DialogShowSdAskDestPath();
- prototype DialogShowSdSetupType();
- prototype DialogShowSdComponentDialog2();
- prototype DialogShowSdFinishReboot();
-
- // your prototypes
-
-
- // ----- global variables ------
-
- // generated
- BOOL bWinNT, bIsShellExplorer, bInstallAborted, bIs32BitSetup;
- STRING svDir;
- STRING svName, svCompany, svSerial;
- STRING szAppPath;
- STRING svSetupType;
-
-
- // your global variables
-
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// MAIN PROGRAM
-//
-// The setup begins here by hiding the visible setup
-// window. This is done to allow all the titles, images, etc. to
-// be established before showing the main window. The following
-// logic then performs the setup in a series of steps.
-//
-///////////////////////////////////////////////////////////////////////////////
-program
- Disable( BACKGROUND );
-
- CheckRequirements();
-
- SetupInstall();
-
- SetupScreen();
-
- if (ShowDialogs()<0) goto end_install;
-
- if (ProcessBeforeDataMove()<0) goto end_install;
-
- if (MoveFileData()<0) goto end_install;
-
- if (ProcessAfterDataMove()<0) goto end_install;
-
- if (SetupRegistry()<0) goto end_install;
-
- if (SetupFolders()<0) goto end_install;
-
-
- end_install:
-
- CleanUpInstall();
-
- // If an unrecoverable error occurred, clean up the partial installation.
- // Otherwise, exit normally.
-
- if (bInstallAborted) then
- abort;
- endif;
-
-endprogram
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: ShowDialogs //
-// //
-// Purpose: This function manages the display and navigation //
-// the standard dialogs that exist in a setup. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function ShowDialogs()
- NUMBER nResult;
- begin
-
- Dlg_Start:
- // beginning of dialogs label
-
- Dlg_SdWelcome:
- nResult = DialogShowSdWelcome();
- if (nResult = BACK) goto Dlg_Start;
-
- Dlg_SdShowInfoList:
- nResult = DialogShowSdShowInfoList();
- if (nResult = BACK) goto Dlg_SdWelcome;
-
- Dlg_SdAskDestPath:
- nResult = DialogShowSdAskDestPath();
- if (nResult = BACK) goto Dlg_SdShowInfoList;
-
- Dlg_SdSetupType:
- nResult = DialogShowSdSetupType();
- if (nResult = BACK) goto Dlg_SdAskDestPath;
-
- Dlg_SdComponentDialog2:
- if ((nResult = BACK) && (svSetupType != "Custom") && (svSetupType != "")) then
- goto Dlg_SdSetupType;
- endif;
- nResult = DialogShowSdComponentDialog2();
- if (nResult = BACK) goto Dlg_SdSetupType;
-
- return 0;
-
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: ProcessBeforeDataMove //
-// //
-// Purpose: This function performs any necessary operations prior to the //
-// actual data move operation. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function ProcessBeforeDataMove()
- STRING svLogFile;
- NUMBER nResult;
- begin
-
- InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );
-
- svLogFile = UNINST_LOGFILE_NAME;
-
- nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
- if (nResult < 0) then
- MessageBox( @ERROR_UNINSTSETUP, WARNING );
- endif;
-
- szAppPath = TARGETDIR; // TODO : if your application .exe is in a subdir of TARGETDIR then add subdir
-
- if ((bIs32BitSetup) && (bIsShellExplorer)) then
- RegDBSetItem( REGDB_APPPATH, szAppPath );
- RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
- RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
- endif;
-
- // TODO : update any items you want to process before moving the data
- //
-
- return 0;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: MoveFileData //
-// //
-// Purpose: This function handles the data movement for //
-// the setup. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function MoveFileData()
- NUMBER nResult, nDisk;
- begin
-
- nDisk = 1;
- SetStatusWindow( 0, "" );
- Disable( DIALOGCACHE );
- Enable( STATUS );
- StatusUpdate( ON, 100 );
- nResult = ComponentMoveData( MEDIA, nDisk, 0 );
-
- HandleMoveDataError( nResult );
-
- Disable( STATUS );
-
- return nResult;
-
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: HandleMoveDataError //
-// //
-// Purpose: This function handles the error (if any) during the move data //
-// operation. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function HandleMoveDataError( nResult )
- STRING szErrMsg, svComponent , svFileGroup , svFile;
- begin
-
- svComponent = "";
- svFileGroup = "";
- svFile = "";
-
- switch (nResult)
- case 0:
- return 0;
- default:
- ComponentError ( MEDIA , svComponent , svFileGroup , svFile , nResult );
- szErrMsg = @ERROR_MOVEDATA + "\n\n" +
- @ERROR_COMPONENT + " " + svComponent + "\n" +
- @ERROR_FILEGROUP + " " + svFileGroup + "\n" +
- @ERROR_FILE + " " + svFile;
- SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult );
- bInstallAborted = TRUE;
- return nResult;
- endswitch;
-
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: ProcessAfterDataMove //
-// //
-// Purpose: This function performs any necessary operations needed after //
-// all data has been moved. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function ProcessAfterDataMove()
- begin
-
- // TODO : update self-registered files and other processes that
- // should be performed after the data has been moved.
-
-
- return 0;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: SetupRegistry //
-// //
-// Purpose: This function makes the registry entries for this setup. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function SetupRegistry()
- NUMBER nResult;
-
- begin
-
- // TODO : Add all your registry entry keys here
- //
- //
- // RegDBCreateKeyEx, RegDBSetKeyValueEx....
- //
-
- nResult = CreateRegistrySet( "" );
-
- return nResult;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// Function: SetupFolders
-//
-// Purpose: This function creates all the folders and shortcuts for the
-// setup. This includes program groups and items for Windows 3.1.
-//
-///////////////////////////////////////////////////////////////////////////////
-function SetupFolders()
- NUMBER nResult;
-
- begin
-
-
- // TODO : Add all your folder (program group) along with shortcuts (program items)
- //
- //
- // CreateProgramFolder, AddFolderIcon....
- //
-
- nResult = CreateShellObjects( "" );
-
- return nResult;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: CleanUpInstall //
-// //
-// Purpose: This cleans up the setup. Anything that should //
-// be released or deleted at the end of the setup should //
-// be done here. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function CleanUpInstall()
- begin
-
-
- if (bInstallAborted) then
- return 0;
- endif;
-
- DialogShowSdFinishReboot();
-
- if (BATCH_INSTALL) then // ensure locked files are properly written
- CommitSharedFiles(0);
- endif;
-
- return 0;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: SetupInstall //
-// //
-// Purpose: This will setup the installation. Any general initialization //
-// needed for the installation should be performed here. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function SetupInstall()
- begin
-
- Enable( CORECOMPONENTHANDLING );
-
- bInstallAborted = FALSE;
-
- if (bIs32BitSetup) then
- svDir = "C:\\mysql"; //PROGRAMFILES ^ @COMPANY_NAME ^ @PRODUCT_NAME;
- else
- svDir = "C:\\mysql"; //PROGRAMFILES ^ @COMPANY_NAME16 ^ @PRODUCT_NAME16; // use shorten names
- endif;
-
- TARGETDIR = svDir;
-
- SdProductName( @PRODUCT_NAME );
-
- Enable( DIALOGCACHE );
-
- return 0;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: SetupScreen //
-// //
-// Purpose: This function establishes the screen look. This includes //
-// colors, fonts, and text to be displayed. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function SetupScreen()
- begin
-
- Enable( FULLWINDOWMODE );
- Enable( INDVFILESTATUS );
- SetTitle( @TITLE_MAIN, 24, WHITE );
-
- SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION ); // Caption bar text.
-
- Enable( BACKGROUND );
-
- Delay( 1 );
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: CheckRequirements //
-// //
-// Purpose: This function checks all minimum requirements for the //
-// application being installed. If any fail, then the user //
-// is informed and the setup is terminated. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function CheckRequirements()
- NUMBER nvDx, nvDy, nvResult;
- STRING svResult;
-
- begin
-
- bWinNT = FALSE;
- bIsShellExplorer = FALSE;
-
- // Check screen resolution.
- GetExtents( nvDx, nvDy );
-
- if (nvDy < 480) then
- MessageBox( @ERROR_VGARESOLUTION, WARNING );
- abort;
- endif;
-
- // set 'setup' operation mode
- bIs32BitSetup = TRUE;
- GetSystemInfo( ISTYPE, nvResult, svResult );
- if (nvResult = 16) then
- bIs32BitSetup = FALSE; // running 16-bit setup
- return 0; // no additional information required
- endif;
-
- // --- 32-bit testing after this point ---
-
- // Determine the target system's operating system.
- GetSystemInfo( OS, nvResult, svResult );
-
- if (nvResult = IS_WINDOWSNT) then
- // Running Windows NT.
- bWinNT = TRUE;
-
- // Check to see if the shell being used is EXPLORER shell.
- if (GetSystemInfo( OSMAJOR, nvResult, svResult ) = 0) then
- if (nvResult >= 4) then
- bIsShellExplorer = TRUE;
- endif;
- endif;
-
- elseif (nvResult = IS_WINDOWS95 ) then
- bIsShellExplorer = TRUE;
-
- endif;
-
-end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdWelcome //
-// //
-// Purpose: This function handles the standard welcome dialog. //
-// //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdWelcome()
- NUMBER nResult;
- STRING szTitle, szMsg;
- begin
-
- szTitle = "";
- szMsg = "";
- nResult = SdWelcome( szTitle, szMsg );
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdShowInfoList //
-// //
-// Purpose: This function displays the general information list dialog. //
-// //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdShowInfoList()
- NUMBER nResult;
- LIST list;
- STRING szTitle, szMsg, szFile;
- begin
-
- szFile = SUPPORTDIR ^ "infolist.txt";
-
- list = ListCreate( STRINGLIST );
- ListReadFromFile( list, szFile );
- szTitle = "";
- szMsg = " ";
- nResult = SdShowInfoList( szTitle, szMsg, list );
-
- ListDestroy( list );
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdAskDestPath //
-// //
-// Purpose: This function asks the user for the destination directory. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdAskDestPath()
- NUMBER nResult;
- STRING szTitle, szMsg;
- begin
-
- szTitle = "";
- szMsg = "";
- nResult = SdAskDestPath( szTitle, szMsg, svDir, 0 );
-
- TARGETDIR = svDir;
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdSetupType //
-// //
-// Purpose: This function displays the standard setup type dialog. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdSetupType()
- NUMBER nResult, nType;
- STRING szTitle, szMsg;
- begin
-
- switch (svSetupType)
- case "Typical":
- nType = TYPICAL;
- case "Custom":
- nType = CUSTOM;
- case "Compact":
- nType = COMPACT;
- case "":
- svSetupType = "Typical";
- nType = TYPICAL;
- endswitch;
-
- szTitle = "";
- szMsg = "";
- nResult = SetupType( szTitle, szMsg, "", nType, 0 );
-
- switch (nResult)
- case COMPACT:
- svSetupType = "Compact";
- case TYPICAL:
- svSetupType = "Typical";
- case CUSTOM:
- svSetupType = "Custom";
- endswitch;
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdComponentDialog2 //
-// //
-// Purpose: This function displays the custom component dialog. //
-// //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdComponentDialog2()
- NUMBER nResult;
- STRING szTitle, szMsg;
- begin
-
- if ((svSetupType != "Custom") && (svSetupType != "")) then
- return 0;
- endif;
-
- szTitle = "";
- szMsg = "";
- nResult = SdComponentDialog2( szTitle, szMsg, svDir, "" );
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdFinishReboot //
-// //
-// Purpose: This function will show the last dialog of the product. //
-// It will allow the user to reboot and/or show some readme text. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdFinishReboot()
- NUMBER nResult, nDefOptions;
- STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
- NUMBER bOpt1, bOpt2;
- begin
-/*
- if (!BATCH_INSTALL) then
- bOpt1 = FALSE;
- bOpt2 = FALSE;
- szMsg1 = "";
- szMsg2 = "";
- szOption1 = "";
- szOption2 = "";
- nResult = SdFinish( szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2 );
- return 0;
- endif;
-
- nDefOptions = SYS_BOOTMACHINE;
- szTitle = "";
- szMsg1 = "";
- szMsg2 = "";
- nResult = SdFinishReboot( szTitle, szMsg1, nDefOptions, szMsg2, 0 );
-*/
- return nResult;
- end;
-
- // --- include script file section ---
-
-#include "sddialog.rul"
-
-
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt b/VC++Files/InstallShield/3.23.XX-gpl/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
deleted file mode 100644
index 2f561d29d81..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-This is a release of MySQL 3.23.56 for Win32.
-
-NOTE: If you install MySQL in a folder other than
-C:\MYSQL or you intend to start MySQL on NT/Win2000
-as a service, you must create a file named C:\MY.CNF
-or \Windows\my.ini or \winnt\my.ini with the following
-information::
-
-[mysqld]
-basedir=E:/installation-path/
-datadir=E:/data-path/
-
-After your have installed MySQL, the installation
-directory which contains the files named 'my-size.cnf'.
-You can use this as a starting point for your own
-C:\my.cnf file.
-
-If you have any problems, you can mail them to
-win32@lists.mysql.com after you have consulted the
-MySQL manual and the MySQL mailing list archive
-(http://www.mysql.com/documentation/index.html)
-
-On behalf of the MySQL AB gang,
-Michael Widenius \ No newline at end of file
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Setup Files/Uncompressed Files/Language Independent/OS Independent/SETUP.BMP b/VC++Files/InstallShield/3.23.XX-gpl/Setup Files/Uncompressed Files/Language Independent/OS Independent/SETUP.BMP
deleted file mode 100644
index 3229d50c9bf..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Setup Files/Uncompressed Files/Language Independent/OS Independent/SETUP.BMP
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Shell Objects/Default.shl b/VC++Files/InstallShield/3.23.XX-gpl/Shell Objects/Default.shl
deleted file mode 100644
index 187cb651307..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Shell Objects/Default.shl
+++ /dev/null
@@ -1,12 +0,0 @@
-[Data]
-Folder3=<FOLDER_STARTUP>
-Group0=Main
-Group1=Startup
-Folder0=<FOLDER_DESKTOP>
-Folder1=<FOLDER_STARTMENU>
-Folder2=<FOLDER_PROGRAMS>
-
-[Info]
-Type=ShellObject
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/String Tables/0009-English/value.shl b/VC++Files/InstallShield/3.23.XX-gpl/String Tables/0009-English/value.shl
deleted file mode 100644
index 687c58b7b21..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/String Tables/0009-English/value.shl
+++ /dev/null
@@ -1,23 +0,0 @@
-[Data]
-TITLE_MAIN=MySQL Servers and Clients 3.23.56
-COMPANY_NAME=MySQL AB
-ERROR_COMPONENT=Component:
-COMPANY_NAME16=Company
-PRODUCT_VERSION=3.23.56
-ERROR_MOVEDATA=An error occurred during the move data process: %d
-ERROR_FILEGROUP=File Group:
-UNINST_KEY=MySQL Servers and Clients 3.23.56
-TITLE_CAPTIONBAR=MySQL Servers and Clients 3.23.56 Setup
-PRODUCT_NAME16=Product
-ERROR_VGARESOLUTION=This program requires VGA or better resolution.
-ERROR_FILE=File:
-UNINST_DISPLAY_NAME=MySQL Servers and Clients 3.23.56
-PRODUCT_KEY=yourapp.Exe
-PRODUCT_NAME=MySQL Servers and Clients 3.23.56
-ERROR_UNINSTSETUP=unInstaller setup failed to initialize. You may not be able to uninstall this product.
-
-[General]
-Language=0009
-Type=STRINGTABLESPECIFIC
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/String Tables/Default.shl b/VC++Files/InstallShield/3.23.XX-gpl/String Tables/Default.shl
deleted file mode 100644
index d4dc4925ab1..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/String Tables/Default.shl
+++ /dev/null
@@ -1,74 +0,0 @@
-[TITLE_MAIN]
-Comment=
-
-[COMPANY_NAME]
-Comment=
-
-[ERROR_COMPONENT]
-Comment=
-
-[COMPANY_NAME16]
-Comment=
-
-[PRODUCT_VERSION]
-Comment=
-
-[ERROR_MOVEDATA]
-Comment=
-
-[ERROR_FILEGROUP]
-Comment=
-
-[Language]
-Lang0=0009
-CurrentLang=0
-
-[UNINST_KEY]
-Comment=
-
-[TITLE_CAPTIONBAR]
-Comment=
-
-[Data]
-Entry0=ERROR_VGARESOLUTION
-Entry1=TITLE_MAIN
-Entry2=TITLE_CAPTIONBAR
-Entry3=UNINST_KEY
-Entry4=UNINST_DISPLAY_NAME
-Entry5=COMPANY_NAME
-Entry6=PRODUCT_NAME
-Entry7=PRODUCT_VERSION
-Entry8=PRODUCT_KEY
-Entry9=ERROR_MOVEDATA
-Entry10=ERROR_UNINSTSETUP
-Entry11=COMPANY_NAME16
-Entry12=PRODUCT_NAME16
-Entry13=ERROR_COMPONENT
-Entry14=ERROR_FILEGROUP
-Entry15=ERROR_FILE
-
-[PRODUCT_NAME16]
-Comment=
-
-[ERROR_VGARESOLUTION]
-Comment=
-
-[ERROR_FILE]
-Comment=
-
-[General]
-Type=STRINGTABLE
-Version=1.00.000
-
-[UNINST_DISPLAY_NAME]
-Comment=
-
-[PRODUCT_KEY]
-Comment=
-
-[PRODUCT_NAME]
-Comment=
-
-[ERROR_UNINSTSETUP]
-Comment=
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Text Substitutions/Build.tsb b/VC++Files/InstallShield/3.23.XX-gpl/Text Substitutions/Build.tsb
deleted file mode 100644
index 3949bd4c066..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Text Substitutions/Build.tsb
+++ /dev/null
@@ -1,56 +0,0 @@
-[<HKUS>]
-Value=
-KeyType=4
-
-[<HKCR>]
-Value=
-KeyType=4
-
-[<PROGRAMFILES>]
-Value=
-KeyType=4
-
-[<WINSYSDIR>]
-Value=
-KeyType=4
-
-[<COMMONFILES>]
-Value=
-KeyType=4
-
-[<WINDIR>]
-Value=
-KeyType=4
-
-[Data]
-Key0=<PROGRAMFILES>
-Key1=<COMMONFILES>
-Key2=<WINDIR>
-Key3=<WINSYSDIR>
-Key4=<HKLM>
-Key5=<HKCU>
-Key6=<HKCC>
-Key7=<HKDD>
-Key8=<HKUS>
-Key9=<HKCR>
-
-[General]
-Type=TEXTSUB
-Version=1.00.000
-
-[<HKLM>]
-Value=
-KeyType=4
-
-[<HKCU>]
-Value=
-KeyType=4
-
-[<HKCC>]
-Value=
-KeyType=4
-
-[<HKDD>]
-Value=
-KeyType=4
-
diff --git a/VC++Files/InstallShield/3.23.XX-gpl/Text Substitutions/Setup.tsb b/VC++Files/InstallShield/3.23.XX-gpl/Text Substitutions/Setup.tsb
deleted file mode 100644
index b0c5a509f0b..00000000000
--- a/VC++Files/InstallShield/3.23.XX-gpl/Text Substitutions/Setup.tsb
+++ /dev/null
@@ -1,76 +0,0 @@
-[<SRCDIR>]
-Value=
-KeyType=4
-
-[<HKUS>]
-Value=
-KeyType=4
-
-[<HKCR>]
-Value=
-KeyType=4
-
-[<PROGRAMFILES>]
-Value=
-KeyType=4
-
-[<TARGETDIR>]
-Value=
-KeyType=4
-
-[<WINSYSDIR>]
-Value=
-KeyType=4
-
-[<COMMONFILES>]
-Value=
-KeyType=4
-
-[<WINDIR>]
-Value=
-KeyType=4
-
-[Data]
-Key0=<PROGRAMFILES>
-Key1=<COMMONFILES>
-Key2=<WINDIR>
-Key3=<WINSYSDIR>
-Key4=<TARGETDIR>
-Key5=<SUPPORTDIR>
-Key10=<HKDD>
-Key6=<SRCDIR>
-Key11=<HKUS>
-Key7=<HKLM>
-Key12=<HKCR>
-Key8=<HKCU>
-Key13=<SHELL_OBJECT_FOLDER>
-Key9=<HKCC>
-
-[<SUPPORTDIR>]
-Value=
-KeyType=4
-
-[<SHELL_OBJECT_FOLDER>]
-Value=
-KeyType=4
-
-[General]
-Type=TEXTSUB
-Version=1.00.000
-
-[<HKLM>]
-Value=
-KeyType=4
-
-[<HKCU>]
-Value=
-KeyType=4
-
-[<HKCC>]
-Value=
-KeyType=4
-
-[<HKDD>]
-Value=
-KeyType=4
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/Component Definitions/.fgl b/VC++Files/InstallShield/3.23.XXcom/Component Definitions/.fgl
deleted file mode 100644
index 81e474f9be8..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Component Definitions/.fgl
+++ /dev/null
@@ -1,37 +0,0 @@
-[General]
-Type=FILELIST
-Version=1.00.000
-
-[topdir]
-subdir0=<WINDIR>
-subdir1=<PROGRAMFILES>
-subdir2=<TARGETDIR>
-subdir3=USERDEFINED
-
-[<WINDIR>]
-DISPLAYTEXT=Windows Operating System
-TYPE=TEXTSUBFIXED
-subdir0=<WINDIR>\<WINSYSDIR>
-
-[<WINDIR>\<WINSYSDIR>]
-DISPLAYTEXT=Windows System Folder
-TYPE=TEXTSUBFIXED
-
-[<PROGRAMFILES>]
-DISPLAYTEXT=Program Files Folder
-TYPE=TEXTSUBFIXED
-subdir0=<PROGRAMFILES>\<COMMONFILES>
-
-[<PROGRAMFILES>\<COMMONFILES>]
-DISPLAYTEXT=Common Files Folder
-TYPE=TEXTSUBFIXED
-
-[<TARGETDIR>]
-DISPLAYTEXT=General Application Destination
-TYPE=TEXTSUBFIXED
-
-[USERDEFINED]
-DISPLAYTEXT=Script-defined Folders
-TYPE=USERSTART
-
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/Component Definitions/Default.cdf b/VC++Files/InstallShield/3.23.XXcom/Component Definitions/Default.cdf
deleted file mode 100644
index f44131f754e..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Component Definitions/Default.cdf
+++ /dev/null
@@ -1,192 +0,0 @@
-[Development]
-required0=Servers
-SELECTED=Yes
-FILENEED=STANDARD
-required1=Grant Tables
-HTTPLOCATION=
-STATUS=Examples, Libraries, Includes and Script files
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=Examples, Libraries, Includes and Script files
-DISPLAYTEXT=Examples, Libraries, Includes and Script files
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Development
-COMMENT=
-INCLUDEINBUILD=Yes
-INSTALLATION=ALWAYSOVERWRITE
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
-[Grant Tables]
-required0=Servers
-SELECTED=Yes
-FILENEED=CRITICAL
-HTTPLOCATION=
-STATUS=The Grant Tables and Core Files
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=The Grant Tables and Core Files
-DISPLAYTEXT=The Grant Tables and Core Files
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Grant Tables
-requiredby0=Development
-COMMENT=
-INCLUDEINBUILD=Yes
-requiredby1=Clients and Tools
-INSTALLATION=NEVEROVERWRITE
-requiredby2=Documentation
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
-[Components]
-component0=Development
-component1=Grant Tables
-component2=Clients and Tools
-component3=Servers
-component4=Documentation
-
-[TopComponents]
-component0=Servers
-component1=Clients and Tools
-component2=Documentation
-component3=Development
-component4=Grant Tables
-
-[SetupType]
-setuptype0=Compact
-setuptype1=Typical
-setuptype2=Custom
-
-[Servers]
-SELECTED=Yes
-FILENEED=CRITICAL
-HTTPLOCATION=
-STATUS=The MySQL Servers
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=The MySQL Servers
-DISPLAYTEXT=The MySQL Servers
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Servers
-requiredby0=Development
-COMMENT=
-INCLUDEINBUILD=Yes
-requiredby1=Grant Tables
-INSTALLATION=ALWAYSOVERWRITE
-requiredby2=Clients and Tools
-requiredby3=Documentation
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
-[Clients and Tools]
-required0=Servers
-SELECTED=Yes
-FILENEED=HIGHLYRECOMMENDED
-required1=Grant Tables
-HTTPLOCATION=
-STATUS=The MySQL clients and Maintenance Tools
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=The MySQL clients and Maintenance Tools
-DISPLAYTEXT=The MySQL clients and Maintenance Tools
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Clients and Tools
-COMMENT=
-INCLUDEINBUILD=Yes
-INSTALLATION=NEWERDATE
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
-[SetupTypeItem-Compact]
-Comment=
-item0=Grant Tables
-item1=Clients and Tools
-item2=Servers
-item3=Documentation
-Descrip=
-DisplayText=
-
-[SetupTypeItem-Custom]
-Comment=
-item0=Development
-item1=Grant Tables
-item2=Clients and Tools
-item3=Servers
-Descrip=
-item4=Documentation
-DisplayText=
-
-[Info]
-Type=CompDef
-Version=1.00.000
-Name=
-
-[SetupTypeItem-Typical]
-Comment=
-item0=Development
-item1=Grant Tables
-item2=Clients and Tools
-item3=Servers
-Descrip=
-item4=Documentation
-DisplayText=
-
-[Documentation]
-required0=Servers
-SELECTED=Yes
-FILENEED=HIGHLYRECOMMENDED
-required1=Grant Tables
-HTTPLOCATION=
-STATUS=The MySQL Documentation with different formats
-UNINSTALLABLE=Yes
-TARGET=<TARGETDIR>
-FTPLOCATION=
-VISIBLE=Yes
-DESCRIPTION=The MySQL Documentation with different formats
-DISPLAYTEXT=The MySQL Documentation with different formats
-IMAGE=
-DEFSELECTION=Yes
-filegroup0=Documentation
-COMMENT=
-INCLUDEINBUILD=Yes
-INSTALLATION=ALWAYSOVERWRITE
-COMPRESSIFSEPARATE=No
-MISC=
-ENCRYPT=No
-DISK=ANYDISK
-TARGETDIRCDROM=
-PASSWORD=
-TARGETHIDDEN=General Application Destination
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/Component Definitions/Default.fgl b/VC++Files/InstallShield/3.23.XXcom/Component Definitions/Default.fgl
deleted file mode 100644
index 4e20dcea4ab..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Component Definitions/Default.fgl
+++ /dev/null
@@ -1,42 +0,0 @@
-[<PROGRAMFILES>\<COMMONFILES>]
-DISPLAYTEXT=Common Files Folder
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[<WINDIR>\<WINSYSDIR>]
-DISPLAYTEXT=Windows System Folder
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[USERDEFINED]
-DISPLAYTEXT=Script-defined Folders
-TYPE=USERSTART
-fulldirectory=
-
-[<PROGRAMFILES>]
-DISPLAYTEXT=Program Files Folder
-SubDir0=<PROGRAMFILES>\<COMMONFILES>
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[<TARGETDIR>]
-DISPLAYTEXT=General Application Destination
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[<WINDIR>]
-DISPLAYTEXT=Windows Operating System
-SubDir0=<WINDIR>\<WINSYSDIR>
-TYPE=TEXTSUBFIXED
-fulldirectory=
-
-[TopDir]
-SubDir0=<WINDIR>
-SubDir1=<PROGRAMFILES>
-SubDir2=<TARGETDIR>
-SubDir3=USERDEFINED
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/File Groups/Clients and Tools.fgl b/VC++Files/InstallShield/3.23.XXcom/File Groups/Clients and Tools.fgl
deleted file mode 100644
index 7f30ff9f64b..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/File Groups/Clients and Tools.fgl
+++ /dev/null
@@ -1,35 +0,0 @@
-[bin]
-file15=C:\mysql\bin\pack_isam.exe
-file16=C:\mysql\bin\perror.exe
-file0=C:\mysql\bin\isamchk.exe
-file17=C:\mysql\bin\replace.exe
-file1=C:\mysql\bin\myisamchk.exe
-file18=C:\mysql\bin\winmysqladmin.cnt
-file2=C:\mysql\bin\myisamlog.exe
-file19=C:\mysql\bin\winmysqladmin.exe
-file3=C:\mysql\bin\myisampack.exe
-file4=C:\mysql\bin\mysql.exe
-file5=C:\mysql\bin\mysqladmin.exe
-file6=C:\mysql\bin\mysqlbinlog.exe
-file7=C:\mysql\bin\mysqlc.exe
-file8=C:\mysql\bin\mysqlcheck.exe
-file9=C:\mysql\bin\mysqldump.exe
-file20=C:\mysql\bin\WINMYSQLADMIN.HLP
-file21=C:\mysql\bin\cygwinb19.dll
-file10=C:\mysql\bin\mysqlimport.exe
-fulldirectory=
-file22=C:\mysql\bin\libmySQL.dll
-file11=C:\mysql\bin\MySqlManager.exe
-file23=C:\mysql\bin\my_print_defaults.exe
-file12=C:\mysql\bin\mysqlshow.exe
-file24=C:\mysql\bin\comp-err.exe
-file13=C:\mysql\bin\mysqlshutdown.exe
-file14=C:\mysql\bin\mysqlwatch.exe
-
-[TopDir]
-SubDir0=bin
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/File Groups/Default.fdf b/VC++Files/InstallShield/3.23.XXcom/File Groups/Default.fdf
deleted file mode 100644
index 282fae9d19b..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/File Groups/Default.fdf
+++ /dev/null
@@ -1,82 +0,0 @@
-[FileGroups]
-group0=Development
-group1=Grant Tables
-group2=Clients and Tools
-group3=Servers
-group4=Documentation
-
-[Development]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
-[Grant Tables]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
-[Servers]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
-[Clients and Tools]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=0000000000000000
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
-[Info]
-Type=FileGrp
-Version=1.00.000
-Name=
-
-[Documentation]
-SELFREGISTERING=No
-HTTPLOCATION=
-LANGUAGE=
-OPERATINGSYSTEM=
-FTPLOCATION=
-FILETYPE=No
-INFOTYPE=Standard
-COMMENT=
-COMPRESS=Yes
-COMPRESSDLL=
-POTENTIALLY=No
-MISC=
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/File Groups/Default.fgl b/VC++Files/InstallShield/3.23.XXcom/File Groups/Default.fgl
deleted file mode 100644
index 94344a6ff69..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/File Groups/Default.fgl
+++ /dev/null
@@ -1,4 +0,0 @@
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/File Groups/Development.fgl b/VC++Files/InstallShield/3.23.XXcom/File Groups/Development.fgl
deleted file mode 100644
index a1cf53f880a..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/File Groups/Development.fgl
+++ /dev/null
@@ -1,190 +0,0 @@
-[bench\Data\Wisconsin]
-file0=C:\mysql\bench\Data\Wisconsin\onek.data
-file1=C:\mysql\bench\Data\Wisconsin\tenk.data
-fulldirectory=
-
-[lib\debug]
-file0=C:\mysql\lib\debug\libmySQL.dll
-file1=C:\mysql\lib\debug\libmySQL.lib
-file2=C:\mysql\lib\debug\mysqlclient.lib
-file3=C:\mysql\lib\debug\zlib.lib
-fulldirectory=
-
-[bench\output]
-fulldirectory=
-
-[examples\libmysqltest]
-file0=C:\mysql\examples\libmysqltest\myTest.c
-file1=C:\mysql\examples\libmysqltest\myTest.dsp
-file2=C:\mysql\examples\libmysqltest\myTest.dsw
-file3=C:\mysql\examples\libmysqltest\myTest.exe
-file4=C:\mysql\examples\libmysqltest\myTest.mak
-file5=C:\mysql\examples\libmysqltest\myTest.ncb
-file6=C:\mysql\examples\libmysqltest\myTest.opt
-file7=C:\mysql\examples\libmysqltest\readme
-fulldirectory=
-
-[include]
-file0=C:\mysql\include\raid.h
-file1=C:\mysql\include\errmsg.h
-file2=C:\mysql\include\Libmysql.def
-file3=C:\mysql\include\m_ctype.h
-file4=C:\mysql\include\m_string.h
-file5=C:\mysql\include\my_list.h
-file6=C:\mysql\include\my_pthread.h
-file7=C:\mysql\include\my_sys.h
-file8=C:\mysql\include\mysql.h
-file9=C:\mysql\include\mysql_com.h
-file10=C:\mysql\include\mysql_version.h
-fulldirectory=
-file11=C:\mysql\include\mysqld_error.h
-file12=C:\mysql\include\dbug.h
-file13=C:\mysql\include\my_global.h
-file14=C:\mysql\include\config-win.h
-
-[examples]
-SubDir0=examples\libmysqltest
-SubDir1=examples\tests
-fulldirectory=
-
-[lib\opt]
-file0=C:\mysql\lib\opt\libmySQL.dll
-file1=C:\mysql\lib\opt\libmySQL.lib
-file2=C:\mysql\lib\opt\mysqlclient.lib
-file3=C:\mysql\lib\opt\zlib.lib
-fulldirectory=
-
-[bench\Data]
-SubDir0=bench\Data\ATIS
-SubDir1=bench\Data\Wisconsin
-fulldirectory=
-
-[bench\limits]
-file15=C:\mysql\bench\limits\pg.comment
-file16=C:\mysql\bench\limits\solid.cfg
-file0=C:\mysql\bench\limits\access.cfg
-file17=C:\mysql\bench\limits\solid-nt4.cfg
-file1=C:\mysql\bench\limits\access.comment
-file18=C:\mysql\bench\limits\sybase.cfg
-file2=C:\mysql\bench\limits\Adabas.cfg
-file3=C:\mysql\bench\limits\Adabas.comment
-file4=C:\mysql\bench\limits\Db2.cfg
-file5=C:\mysql\bench\limits\empress.cfg
-file6=C:\mysql\bench\limits\empress.comment
-file7=C:\mysql\bench\limits\Informix.cfg
-file8=C:\mysql\bench\limits\Informix.comment
-file9=C:\mysql\bench\limits\msql.cfg
-file10=C:\mysql\bench\limits\ms-sql.cfg
-fulldirectory=
-file11=C:\mysql\bench\limits\Ms-sql65.cfg
-file12=C:\mysql\bench\limits\mysql.cfg
-file13=C:\mysql\bench\limits\oracle.cfg
-file14=C:\mysql\bench\limits\pg.cfg
-
-[TopDir]
-SubDir0=bench
-SubDir1=examples
-SubDir2=include
-SubDir3=lib
-SubDir4=scripts
-
-[bench]
-file15=C:\mysql\bench\test-create
-file16=C:\mysql\bench\test-insert
-file0=C:\mysql\bench\uname.bat
-file17=C:\mysql\bench\test-select
-file1=C:\mysql\bench\compare-results
-file18=C:\mysql\bench\test-wisconsin
-file2=C:\mysql\bench\copy-db
-file19=C:\mysql\bench\bench-init.pl
-file3=C:\mysql\bench\crash-me
-file4=C:\mysql\bench\example.bat
-file5=C:\mysql\bench\print-limit-table
-file6=C:\mysql\bench\pwd.bat
-file7=C:\mysql\bench\Readme
-SubDir0=bench\Data
-file8=C:\mysql\bench\run.bat
-SubDir1=bench\limits
-file9=C:\mysql\bench\run-all-tests
-SubDir2=bench\output
-file10=C:\mysql\bench\server-cfg
-fulldirectory=
-file11=C:\mysql\bench\test-alter-table
-file12=C:\mysql\bench\test-ATIS
-file13=C:\mysql\bench\test-big-tables
-file14=C:\mysql\bench\test-connect
-
-[examples\tests]
-file15=C:\mysql\examples\tests\lock_test.res
-file16=C:\mysql\examples\tests\mail_to_db.pl
-file0=C:\mysql\examples\tests\unique_users.tst
-file17=C:\mysql\examples\tests\table_types.pl
-file1=C:\mysql\examples\tests\auto_increment.tst
-file18=C:\mysql\examples\tests\test_delayed_insert.pl
-file2=C:\mysql\examples\tests\big_record.pl
-file19=C:\mysql\examples\tests\udf_test
-file3=C:\mysql\examples\tests\big_record.res
-file4=C:\mysql\examples\tests\czech-sorting
-file5=C:\mysql\examples\tests\deadlock-script.pl
-file6=C:\mysql\examples\tests\export.pl
-file7=C:\mysql\examples\tests\fork_test.pl
-file8=C:\mysql\examples\tests\fork2_test.pl
-file9=C:\mysql\examples\tests\fork3_test.pl
-file20=C:\mysql\examples\tests\udf_test.res
-file21=C:\mysql\examples\tests\auto_increment.res
-file10=C:\mysql\examples\tests\function.res
-fulldirectory=
-file11=C:\mysql\examples\tests\function.tst
-file12=C:\mysql\examples\tests\grant.pl
-file13=C:\mysql\examples\tests\grant.res
-file14=C:\mysql\examples\tests\lock_test.pl
-
-[bench\Data\ATIS]
-file26=C:\mysql\bench\Data\ATIS\stop1.txt
-file15=C:\mysql\bench\Data\ATIS\flight_class.txt
-file27=C:\mysql\bench\Data\ATIS\time_interval.txt
-file16=C:\mysql\bench\Data\ATIS\flight_day.txt
-file0=C:\mysql\bench\Data\ATIS\transport.txt
-file28=C:\mysql\bench\Data\ATIS\time_zone.txt
-file17=C:\mysql\bench\Data\ATIS\flight_fare.txt
-file1=C:\mysql\bench\Data\ATIS\airline.txt
-file29=C:\mysql\bench\Data\ATIS\aircraft.txt
-file18=C:\mysql\bench\Data\ATIS\food_service.txt
-file2=C:\mysql\bench\Data\ATIS\airport.txt
-file19=C:\mysql\bench\Data\ATIS\ground_service.txt
-file3=C:\mysql\bench\Data\ATIS\airport_service.txt
-file4=C:\mysql\bench\Data\ATIS\city.txt
-file5=C:\mysql\bench\Data\ATIS\class_of_service.txt
-file6=C:\mysql\bench\Data\ATIS\code_description.txt
-file7=C:\mysql\bench\Data\ATIS\compound_class.txt
-file8=C:\mysql\bench\Data\ATIS\connect_leg.txt
-file9=C:\mysql\bench\Data\ATIS\date_day.txt
-file20=C:\mysql\bench\Data\ATIS\month_name.txt
-file21=C:\mysql\bench\Data\ATIS\restrict_carrier.txt
-file10=C:\mysql\bench\Data\ATIS\day_name.txt
-fulldirectory=
-file22=C:\mysql\bench\Data\ATIS\restrict_class.txt
-file11=C:\mysql\bench\Data\ATIS\dual_carrier.txt
-file23=C:\mysql\bench\Data\ATIS\restriction.txt
-file12=C:\mysql\bench\Data\ATIS\fare.txt
-file24=C:\mysql\bench\Data\ATIS\state.txt
-file13=C:\mysql\bench\Data\ATIS\fconnection.txt
-file25=C:\mysql\bench\Data\ATIS\stop.txt
-file14=C:\mysql\bench\Data\ATIS\flight.txt
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
-[scripts]
-file0=C:\mysql\scripts\mysql_find_rows.pl
-file1=C:\mysql\scripts\mysql_setpermission.pl
-file2=C:\mysql\scripts\mysqlhotcopy.pl
-file3=C:\mysql\scripts\Readme
-fulldirectory=
-
-[lib]
-SubDir0=lib\debug
-SubDir1=lib\opt
-fulldirectory=
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/File Groups/Documentation.fgl b/VC++Files/InstallShield/3.23.XXcom/File Groups/Documentation.fgl
deleted file mode 100644
index d36acb64538..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/File Groups/Documentation.fgl
+++ /dev/null
@@ -1,98 +0,0 @@
-[Docs\Flags]
-file59=C:\mysql\Docs\Flags\romania.gif
-file48=C:\mysql\Docs\Flags\kroatia.eps
-file37=C:\mysql\Docs\Flags\iceland.gif
-file26=C:\mysql\Docs\Flags\france.eps
-file15=C:\mysql\Docs\Flags\china.gif
-file49=C:\mysql\Docs\Flags\kroatia.gif
-file38=C:\mysql\Docs\Flags\ireland.eps
-file27=C:\mysql\Docs\Flags\france.gif
-file16=C:\mysql\Docs\Flags\croatia.eps
-file0=C:\mysql\Docs\Flags\usa.gif
-file39=C:\mysql\Docs\Flags\ireland.gif
-file28=C:\mysql\Docs\Flags\germany.eps
-file17=C:\mysql\Docs\Flags\croatia.gif
-file1=C:\mysql\Docs\Flags\argentina.gif
-file29=C:\mysql\Docs\Flags\germany.gif
-file18=C:\mysql\Docs\Flags\czech-republic.eps
-file2=C:\mysql\Docs\Flags\australia.eps
-file19=C:\mysql\Docs\Flags\czech-republic.gif
-file3=C:\mysql\Docs\Flags\australia.gif
-file80=C:\mysql\Docs\Flags\usa.eps
-file4=C:\mysql\Docs\Flags\austria.eps
-file81=C:\mysql\Docs\Flags\argentina.eps
-file70=C:\mysql\Docs\Flags\spain.eps
-file5=C:\mysql\Docs\Flags\austria.gif
-file71=C:\mysql\Docs\Flags\spain.gif
-file60=C:\mysql\Docs\Flags\russia.eps
-file6=C:\mysql\Docs\Flags\brazil.eps
-file72=C:\mysql\Docs\Flags\sweden.eps
-file61=C:\mysql\Docs\Flags\russia.gif
-file50=C:\mysql\Docs\Flags\latvia.eps
-file7=C:\mysql\Docs\Flags\brazil.gif
-file73=C:\mysql\Docs\Flags\sweden.gif
-file62=C:\mysql\Docs\Flags\singapore.eps
-file51=C:\mysql\Docs\Flags\latvia.gif
-file40=C:\mysql\Docs\Flags\island.eps
-file8=C:\mysql\Docs\Flags\bulgaria.eps
-file74=C:\mysql\Docs\Flags\switzerland.eps
-file63=C:\mysql\Docs\Flags\singapore.gif
-file52=C:\mysql\Docs\Flags\netherlands.eps
-file41=C:\mysql\Docs\Flags\island.gif
-file30=C:\mysql\Docs\Flags\great-britain.eps
-file9=C:\mysql\Docs\Flags\bulgaria.gif
-file75=C:\mysql\Docs\Flags\switzerland.gif
-file64=C:\mysql\Docs\Flags\south-africa.eps
-file53=C:\mysql\Docs\Flags\netherlands.gif
-file42=C:\mysql\Docs\Flags\israel.eps
-file31=C:\mysql\Docs\Flags\great-britain.gif
-file20=C:\mysql\Docs\Flags\denmark.eps
-file76=C:\mysql\Docs\Flags\taiwan.eps
-file65=C:\mysql\Docs\Flags\south-africa.gif
-file54=C:\mysql\Docs\Flags\poland.eps
-file43=C:\mysql\Docs\Flags\israel.gif
-file32=C:\mysql\Docs\Flags\greece.eps
-file21=C:\mysql\Docs\Flags\denmark.gif
-file10=C:\mysql\Docs\Flags\canada.eps
-fulldirectory=
-file77=C:\mysql\Docs\Flags\taiwan.gif
-file66=C:\mysql\Docs\Flags\south-africa1.eps
-file55=C:\mysql\Docs\Flags\poland.gif
-file44=C:\mysql\Docs\Flags\italy.eps
-file33=C:\mysql\Docs\Flags\greece.gif
-file22=C:\mysql\Docs\Flags\estonia.eps
-file11=C:\mysql\Docs\Flags\canada.gif
-file78=C:\mysql\Docs\Flags\ukraine.eps
-file67=C:\mysql\Docs\Flags\south-africa1.gif
-file56=C:\mysql\Docs\Flags\portugal.eps
-file45=C:\mysql\Docs\Flags\italy.gif
-file34=C:\mysql\Docs\Flags\hungary.eps
-file23=C:\mysql\Docs\Flags\estonia.gif
-file12=C:\mysql\Docs\Flags\chile.eps
-file79=C:\mysql\Docs\Flags\ukraine.gif
-file68=C:\mysql\Docs\Flags\south-korea.eps
-file57=C:\mysql\Docs\Flags\portugal.gif
-file46=C:\mysql\Docs\Flags\japan.eps
-file35=C:\mysql\Docs\Flags\hungary.gif
-file24=C:\mysql\Docs\Flags\finland.eps
-file13=C:\mysql\Docs\Flags\chile.gif
-file69=C:\mysql\Docs\Flags\south-korea.gif
-file58=C:\mysql\Docs\Flags\romania.eps
-file47=C:\mysql\Docs\Flags\japan.gif
-file36=C:\mysql\Docs\Flags\iceland.eps
-file25=C:\mysql\Docs\Flags\finland.gif
-file14=C:\mysql\Docs\Flags\china.eps
-
-[Docs]
-file0=C:\mysql\Docs\manual_toc.html
-file1=C:\mysql\Docs\manual.html
-SubDir0=Docs\Flags
-fulldirectory=
-
-[TopDir]
-SubDir0=Docs
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/File Groups/Grant Tables.fgl b/VC++Files/InstallShield/3.23.XXcom/File Groups/Grant Tables.fgl
deleted file mode 100644
index 178065a7003..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/File Groups/Grant Tables.fgl
+++ /dev/null
@@ -1,36 +0,0 @@
-[data\test]
-fulldirectory=
-
-[data\mysql]
-file15=C:\mysql\data\mysql\func.frm
-file16=C:\mysql\data\mysql\func.MYD
-file0=C:\mysql\data\mysql\columns_priv.frm
-file17=C:\mysql\data\mysql\func.MYI
-file1=C:\mysql\data\mysql\columns_priv.MYD
-file2=C:\mysql\data\mysql\columns_priv.MYI
-file3=C:\mysql\data\mysql\db.frm
-file4=C:\mysql\data\mysql\db.MYD
-file5=C:\mysql\data\mysql\db.MYI
-file6=C:\mysql\data\mysql\host.frm
-file7=C:\mysql\data\mysql\host.MYD
-file8=C:\mysql\data\mysql\host.MYI
-file9=C:\mysql\data\mysql\tables_priv.frm
-file10=C:\mysql\data\mysql\tables_priv.MYD
-fulldirectory=
-file11=C:\mysql\data\mysql\tables_priv.MYI
-file12=C:\mysql\data\mysql\user.frm
-file13=C:\mysql\data\mysql\user.MYD
-file14=C:\mysql\data\mysql\user.MYI
-
-[TopDir]
-SubDir0=data
-
-[data]
-SubDir0=data\mysql
-SubDir1=data\test
-fulldirectory=
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/File Groups/Servers.fgl b/VC++Files/InstallShield/3.23.XXcom/File Groups/Servers.fgl
deleted file mode 100644
index 6f91a474d80..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/File Groups/Servers.fgl
+++ /dev/null
@@ -1,183 +0,0 @@
-[share\polish]
-file0=C:\mysql\share\polish\errmsg.sys
-file1=C:\mysql\share\polish\errmsg.txt
-fulldirectory=
-
-[share\dutch]
-file0=C:\mysql\share\dutch\errmsg.sys
-file1=C:\mysql\share\dutch\errmsg.txt
-fulldirectory=
-
-[share\spanish]
-file0=C:\mysql\share\spanish\errmsg.sys
-file1=C:\mysql\share\spanish\errmsg.txt
-fulldirectory=
-
-[share\english]
-file0=C:\mysql\share\english\errmsg.sys
-file1=C:\mysql\share\english\errmsg.txt
-fulldirectory=
-
-[bin]
-file0=C:\mysql\bin\mysqld-opt.exe
-file1=C:\mysql\bin\mysqld-max.exe
-file2=C:\mysql\bin\mysqld-max-nt.exe
-file3=C:\mysql\bin\mysqld-nt.exe
-file4=C:\mysql\bin\mysqld.exe
-fulldirectory=
-
-[share\korean]
-file0=C:\mysql\share\korean\errmsg.sys
-file1=C:\mysql\share\korean\errmsg.txt
-fulldirectory=
-
-[share\charsets]
-file15=C:\mysql\share\charsets\latin1.conf
-file16=C:\mysql\share\charsets\latin2.conf
-file0=C:\mysql\share\charsets\win1251ukr.conf
-file17=C:\mysql\share\charsets\latin5.conf
-file1=C:\mysql\share\charsets\cp1257.conf
-file18=C:\mysql\share\charsets\Readme
-file2=C:\mysql\share\charsets\croat.conf
-file19=C:\mysql\share\charsets\swe7.conf
-file3=C:\mysql\share\charsets\danish.conf
-file4=C:\mysql\share\charsets\dec8.conf
-file5=C:\mysql\share\charsets\dos.conf
-file6=C:\mysql\share\charsets\estonia.conf
-file7=C:\mysql\share\charsets\german1.conf
-file8=C:\mysql\share\charsets\greek.conf
-file9=C:\mysql\share\charsets\hebrew.conf
-file20=C:\mysql\share\charsets\usa7.conf
-file21=C:\mysql\share\charsets\win1250.conf
-file10=C:\mysql\share\charsets\hp8.conf
-fulldirectory=
-file22=C:\mysql\share\charsets\win1251.conf
-file11=C:\mysql\share\charsets\hungarian.conf
-file23=C:\mysql\share\charsets\cp1251.conf
-file12=C:\mysql\share\charsets\Index
-file13=C:\mysql\share\charsets\koi8_ru.conf
-file14=C:\mysql\share\charsets\koi8_ukr.conf
-
-[share\ukrainian]
-file0=C:\mysql\share\ukrainian\errmsg.sys
-file1=C:\mysql\share\ukrainian\errmsg.txt
-fulldirectory=
-
-[share\hungarian]
-file0=C:\mysql\share\hungarian\errmsg.sys
-file1=C:\mysql\share\hungarian\errmsg.txt
-fulldirectory=
-
-[share\german]
-file0=C:\mysql\share\german\errmsg.sys
-file1=C:\mysql\share\german\errmsg.txt
-fulldirectory=
-
-[share\portuguese]
-file0=C:\mysql\share\portuguese\errmsg.sys
-file1=C:\mysql\share\portuguese\errmsg.txt
-fulldirectory=
-
-[share\estonian]
-file0=C:\mysql\share\estonian\errmsg.sys
-file1=C:\mysql\share\estonian\errmsg.txt
-fulldirectory=
-
-[share\romanian]
-file0=C:\mysql\share\romanian\errmsg.sys
-file1=C:\mysql\share\romanian\errmsg.txt
-fulldirectory=
-
-[share\french]
-file0=C:\mysql\share\french\errmsg.sys
-file1=C:\mysql\share\french\errmsg.txt
-fulldirectory=
-
-[share\swedish]
-file0=C:\mysql\share\swedish\errmsg.sys
-file1=C:\mysql\share\swedish\errmsg.txt
-fulldirectory=
-
-[share\slovak]
-file0=C:\mysql\share\slovak\errmsg.sys
-file1=C:\mysql\share\slovak\errmsg.txt
-fulldirectory=
-
-[share\greek]
-file0=C:\mysql\share\greek\errmsg.sys
-file1=C:\mysql\share\greek\errmsg.txt
-fulldirectory=
-
-[TopDir]
-file0=C:\mysql\my-small.cnf
-file1=C:\mysql\my-large.cnf
-file2=C:\mysql\my-medium.cnf
-file3=C:\mysql\my-huge.cnf
-SubDir0=bin
-SubDir1=share
-
-[share]
-SubDir8=share\hungarian
-SubDir9=share\charsets
-SubDir20=share\spanish
-SubDir21=share\swedish
-SubDir10=share\italian
-SubDir22=share\ukrainian
-SubDir11=share\japanese
-SubDir12=share\korean
-SubDir13=share\norwegian
-SubDir14=share\norwegian-ny
-SubDir15=share\polish
-SubDir16=share\portuguese
-SubDir0=share\czech
-SubDir17=share\romanian
-SubDir1=share\danish
-SubDir18=share\russian
-SubDir2=share\dutch
-SubDir19=share\slovak
-SubDir3=share\english
-fulldirectory=
-SubDir4=share\estonian
-SubDir5=share\french
-SubDir6=share\german
-SubDir7=share\greek
-
-[share\norwegian-ny]
-file0=C:\mysql\share\norwegian-ny\errmsg.sys
-file1=C:\mysql\share\norwegian-ny\errmsg.txt
-fulldirectory=
-
-[share\danish]
-file0=C:\mysql\share\danish\errmsg.sys
-file1=C:\mysql\share\danish\errmsg.txt
-fulldirectory=
-
-[share\czech]
-file0=C:\mysql\share\czech\errmsg.sys
-file1=C:\mysql\share\czech\errmsg.txt
-fulldirectory=
-
-[General]
-Type=FILELIST
-Version=1.00.000
-
-[share\russian]
-file0=C:\mysql\share\russian\errmsg.sys
-file1=C:\mysql\share\russian\errmsg.txt
-fulldirectory=
-
-[share\norwegian]
-file0=C:\mysql\share\norwegian\errmsg.sys
-file1=C:\mysql\share\norwegian\errmsg.txt
-fulldirectory=
-
-[share\japanese]
-file0=C:\mysql\share\japanese\errmsg.sys
-file1=C:\mysql\share\japanese\errmsg.txt
-fulldirectory=
-
-[share\italian]
-file0=C:\mysql\share\italian\errmsg.sys
-file1=C:\mysql\share\italian\errmsg.txt
-fulldirectory=
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/MySQL 3.23.com.ipr b/VC++Files/InstallShield/3.23.XXcom/MySQL 3.23.com.ipr
deleted file mode 100644
index 811d69717d8..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/MySQL 3.23.com.ipr
+++ /dev/null
@@ -1,51 +0,0 @@
-[Language]
-LanguageSupport0=0009
-
-[OperatingSystem]
-OSSupport=0000000000010010
-
-[Data]
-CurrentMedia=
-set_mifserial=
-ProductName=MySQL Servers and Clients
-CurrentComponentDef=Default.cdf
-set_dlldebug=No
-AppExe=
-DevEnvironment=Microsoft Visual C++ 6
-set_mif=No
-set_testmode=No
-Instructions=Instructions.txt
-EmailAddresss=
-SummaryText=
-Department=
-Type=Database Application
-Author=
-HomeURL=
-InstallRoot=C:\MySQL-Install\3.23.XXcom
-set_level=Level 3
-InstallationGUID=40744a4d-efed-4cff-84a9-9e6389550f5c
-Version=1.00.000
-set_miffile=Status.mif
-set_args=
-set_maxerr=50
-Notes=Notes.txt
-CurrentFileGroupDef=Default.fdf
-set_dllcmdline=
-set_warnaserr=No
-Copyright=
-set_preproc=
-Category=
-CurrentPlatform=
-set_compileb4build=No
-set_crc=Yes
-set_maxwarn=50
-Description=Description.txt
-CompanyName=MySQL
-CurrentLanguage=English
-
-[MediaInfo]
-
-[General]
-Type=INSTALLMAIN
-Version=1.10.000
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/Registry Entries/Default.rge b/VC++Files/InstallShield/3.23.XXcom/Registry Entries/Default.rge
deleted file mode 100644
index 537dfd82e48..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Registry Entries/Default.rge
+++ /dev/null
@@ -1,4 +0,0 @@
-[General]
-Type=REGISTRYDATA
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.dbg b/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.dbg
deleted file mode 100644
index 0c6d4e6b708..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.dbg
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.ino b/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.ino
deleted file mode 100644
index 204d8ea0f36..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.ino
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.ins b/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.ins
deleted file mode 100644
index 759009b5c84..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.ins
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.obs b/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.obs
deleted file mode 100644
index 5fcfcb62c4e..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.obs
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.rul b/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.rul
deleted file mode 100644
index 0db8417a62c..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Script Files/Setup.rul
+++ /dev/null
@@ -1,641 +0,0 @@
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IIIIIII SSSSSS
-// II SS InstallShield (R)
-// II SSSSSS (c) 1996-1997, InstallShield Software Corporation
-// II SS (c) 1990-1996, InstallShield Corporation
-// IIIIIII SSSSSS All Rights Reserved.
-//
-//
-// This code is generated as a starting setup template. You should
-// modify it to provide all necessary steps for your setup.
-//
-//
-// File Name: Setup.rul
-//
-// Description: InstallShield script
-//
-// Comments: This template script performs a basic setup on a
-// Windows 95 or Windows NT 4.0 platform. With minor
-// modifications, this template can be adapted to create
-// new, customized setups.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-
- // Include header file
-#include "sdlang.h"
-#include "sddialog.h"
-
-////////////////////// string defines ////////////////////////////
-
-#define UNINST_LOGFILE_NAME "Uninst.isu"
-
-//////////////////// installation declarations ///////////////////
-
- // ----- DLL prototypes -----
-
-
- // your DLL prototypes
-
-
- // ---- script prototypes -----
-
- // generated
- prototype ShowDialogs();
- prototype MoveFileData();
- prototype HandleMoveDataError( NUMBER );
- prototype ProcessBeforeDataMove();
- prototype ProcessAfterDataMove();
- prototype SetupRegistry();
- prototype SetupFolders();
- prototype CleanUpInstall();
- prototype SetupInstall();
- prototype SetupScreen();
- prototype CheckRequirements();
- prototype DialogShowSdWelcome();
- prototype DialogShowSdShowInfoList();
- prototype DialogShowSdAskDestPath();
- prototype DialogShowSdSetupType();
- prototype DialogShowSdComponentDialog2();
- prototype DialogShowSdFinishReboot();
-
- // your prototypes
-
-
- // ----- global variables ------
-
- // generated
- BOOL bWinNT, bIsShellExplorer, bInstallAborted, bIs32BitSetup;
- STRING svDir;
- STRING svName, svCompany, svSerial;
- STRING szAppPath;
- STRING svSetupType;
-
-
- // your global variables
-
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// MAIN PROGRAM
-//
-// The setup begins here by hiding the visible setup
-// window. This is done to allow all the titles, images, etc. to
-// be established before showing the main window. The following
-// logic then performs the setup in a series of steps.
-//
-///////////////////////////////////////////////////////////////////////////////
-program
- Disable( BACKGROUND );
-
- CheckRequirements();
-
- SetupInstall();
-
- SetupScreen();
-
- if (ShowDialogs()<0) goto end_install;
-
- if (ProcessBeforeDataMove()<0) goto end_install;
-
- if (MoveFileData()<0) goto end_install;
-
- if (ProcessAfterDataMove()<0) goto end_install;
-
- if (SetupRegistry()<0) goto end_install;
-
- if (SetupFolders()<0) goto end_install;
-
-
- end_install:
-
- CleanUpInstall();
-
- // If an unrecoverable error occurred, clean up the partial installation.
- // Otherwise, exit normally.
-
- if (bInstallAborted) then
- abort;
- endif;
-
-endprogram
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: ShowDialogs //
-// //
-// Purpose: This function manages the display and navigation //
-// the standard dialogs that exist in a setup. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function ShowDialogs()
- NUMBER nResult;
- begin
-
- Dlg_Start:
- // beginning of dialogs label
-
- Dlg_SdWelcome:
- nResult = DialogShowSdWelcome();
- if (nResult = BACK) goto Dlg_Start;
-
- Dlg_SdShowInfoList:
- nResult = DialogShowSdShowInfoList();
- if (nResult = BACK) goto Dlg_SdWelcome;
-
- Dlg_SdAskDestPath:
- nResult = DialogShowSdAskDestPath();
- if (nResult = BACK) goto Dlg_SdShowInfoList;
-
- Dlg_SdSetupType:
- nResult = DialogShowSdSetupType();
- if (nResult = BACK) goto Dlg_SdAskDestPath;
-
- Dlg_SdComponentDialog2:
- if ((nResult = BACK) && (svSetupType != "Custom") && (svSetupType != "")) then
- goto Dlg_SdSetupType;
- endif;
- nResult = DialogShowSdComponentDialog2();
- if (nResult = BACK) goto Dlg_SdSetupType;
-
- return 0;
-
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: ProcessBeforeDataMove //
-// //
-// Purpose: This function performs any necessary operations prior to the //
-// actual data move operation. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function ProcessBeforeDataMove()
- STRING svLogFile;
- NUMBER nResult;
- begin
-
- InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );
-
- svLogFile = UNINST_LOGFILE_NAME;
-
- nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
- if (nResult < 0) then
- MessageBox( @ERROR_UNINSTSETUP, WARNING );
- endif;
-
- szAppPath = TARGETDIR; // TODO : if your application .exe is in a subdir of TARGETDIR then add subdir
-
- if ((bIs32BitSetup) && (bIsShellExplorer)) then
- RegDBSetItem( REGDB_APPPATH, szAppPath );
- RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
- RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
- endif;
-
- // TODO : update any items you want to process before moving the data
- //
-
- return 0;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: MoveFileData //
-// //
-// Purpose: This function handles the data movement for //
-// the setup. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function MoveFileData()
- NUMBER nResult, nDisk;
- begin
-
- nDisk = 1;
- SetStatusWindow( 0, "" );
- Disable( DIALOGCACHE );
- Enable( STATUS );
- StatusUpdate( ON, 100 );
- nResult = ComponentMoveData( MEDIA, nDisk, 0 );
-
- HandleMoveDataError( nResult );
-
- Disable( STATUS );
-
- return nResult;
-
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: HandleMoveDataError //
-// //
-// Purpose: This function handles the error (if any) during the move data //
-// operation. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function HandleMoveDataError( nResult )
- STRING szErrMsg, svComponent , svFileGroup , svFile;
- begin
-
- svComponent = "";
- svFileGroup = "";
- svFile = "";
-
- switch (nResult)
- case 0:
- return 0;
- default:
- ComponentError ( MEDIA , svComponent , svFileGroup , svFile , nResult );
- szErrMsg = @ERROR_MOVEDATA + "\n\n" +
- @ERROR_COMPONENT + " " + svComponent + "\n" +
- @ERROR_FILEGROUP + " " + svFileGroup + "\n" +
- @ERROR_FILE + " " + svFile;
- SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult );
- bInstallAborted = TRUE;
- return nResult;
- endswitch;
-
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: ProcessAfterDataMove //
-// //
-// Purpose: This function performs any necessary operations needed after //
-// all data has been moved. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function ProcessAfterDataMove()
- begin
-
- // TODO : update self-registered files and other processes that
- // should be performed after the data has been moved.
-
-
- return 0;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: SetupRegistry //
-// //
-// Purpose: This function makes the registry entries for this setup. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function SetupRegistry()
- NUMBER nResult;
-
- begin
-
- // TODO : Add all your registry entry keys here
- //
- //
- // RegDBCreateKeyEx, RegDBSetKeyValueEx....
- //
-
- nResult = CreateRegistrySet( "" );
-
- return nResult;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// Function: SetupFolders
-//
-// Purpose: This function creates all the folders and shortcuts for the
-// setup. This includes program groups and items for Windows 3.1.
-//
-///////////////////////////////////////////////////////////////////////////////
-function SetupFolders()
- NUMBER nResult;
-
- begin
-
-
- // TODO : Add all your folder (program group) along with shortcuts (program items)
- //
- //
- // CreateProgramFolder, AddFolderIcon....
- //
-
- nResult = CreateShellObjects( "" );
-
- return nResult;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: CleanUpInstall //
-// //
-// Purpose: This cleans up the setup. Anything that should //
-// be released or deleted at the end of the setup should //
-// be done here. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function CleanUpInstall()
- begin
-
-
- if (bInstallAborted) then
- return 0;
- endif;
-
- DialogShowSdFinishReboot();
-
- if (BATCH_INSTALL) then // ensure locked files are properly written
- CommitSharedFiles(0);
- endif;
-
- return 0;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: SetupInstall //
-// //
-// Purpose: This will setup the installation. Any general initialization //
-// needed for the installation should be performed here. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function SetupInstall()
- begin
-
- Enable( CORECOMPONENTHANDLING );
-
- bInstallAborted = FALSE;
-
- if (bIs32BitSetup) then
- svDir = "C:\\mysql"; //PROGRAMFILES ^ @COMPANY_NAME ^ @PRODUCT_NAME;
- else
- svDir = "C:\\mysql"; //PROGRAMFILES ^ @COMPANY_NAME16 ^ @PRODUCT_NAME16; // use shorten names
- endif;
-
- TARGETDIR = svDir;
-
- SdProductName( @PRODUCT_NAME );
-
- Enable( DIALOGCACHE );
-
- return 0;
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: SetupScreen //
-// //
-// Purpose: This function establishes the screen look. This includes //
-// colors, fonts, and text to be displayed. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function SetupScreen()
- begin
-
- Enable( FULLWINDOWMODE );
- Enable( INDVFILESTATUS );
- SetTitle( @TITLE_MAIN, 24, WHITE );
-
- SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION ); // Caption bar text.
-
- Enable( BACKGROUND );
-
- Delay( 1 );
- end;
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: CheckRequirements //
-// //
-// Purpose: This function checks all minimum requirements for the //
-// application being installed. If any fail, then the user //
-// is informed and the setup is terminated. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function CheckRequirements()
- NUMBER nvDx, nvDy, nvResult;
- STRING svResult;
-
- begin
-
- bWinNT = FALSE;
- bIsShellExplorer = FALSE;
-
- // Check screen resolution.
- GetExtents( nvDx, nvDy );
-
- if (nvDy < 480) then
- MessageBox( @ERROR_VGARESOLUTION, WARNING );
- abort;
- endif;
-
- // set 'setup' operation mode
- bIs32BitSetup = TRUE;
- GetSystemInfo( ISTYPE, nvResult, svResult );
- if (nvResult = 16) then
- bIs32BitSetup = FALSE; // running 16-bit setup
- return 0; // no additional information required
- endif;
-
- // --- 32-bit testing after this point ---
-
- // Determine the target system's operating system.
- GetSystemInfo( OS, nvResult, svResult );
-
- if (nvResult = IS_WINDOWSNT) then
- // Running Windows NT.
- bWinNT = TRUE;
-
- // Check to see if the shell being used is EXPLORER shell.
- if (GetSystemInfo( OSMAJOR, nvResult, svResult ) = 0) then
- if (nvResult >= 4) then
- bIsShellExplorer = TRUE;
- endif;
- endif;
-
- elseif (nvResult = IS_WINDOWS95 ) then
- bIsShellExplorer = TRUE;
-
- endif;
-
-end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdWelcome //
-// //
-// Purpose: This function handles the standard welcome dialog. //
-// //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdWelcome()
- NUMBER nResult;
- STRING szTitle, szMsg;
- begin
-
- szTitle = "";
- szMsg = "";
- nResult = SdWelcome( szTitle, szMsg );
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdShowInfoList //
-// //
-// Purpose: This function displays the general information list dialog. //
-// //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdShowInfoList()
- NUMBER nResult;
- LIST list;
- STRING szTitle, szMsg, szFile;
- begin
-
- szFile = SUPPORTDIR ^ "infolist.txt";
-
- list = ListCreate( STRINGLIST );
- ListReadFromFile( list, szFile );
- szTitle = "";
- szMsg = " ";
- nResult = SdShowInfoList( szTitle, szMsg, list );
-
- ListDestroy( list );
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdAskDestPath //
-// //
-// Purpose: This function asks the user for the destination directory. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdAskDestPath()
- NUMBER nResult;
- STRING szTitle, szMsg;
- begin
-
- szTitle = "";
- szMsg = "";
- nResult = SdAskDestPath( szTitle, szMsg, svDir, 0 );
-
- TARGETDIR = svDir;
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdSetupType //
-// //
-// Purpose: This function displays the standard setup type dialog. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdSetupType()
- NUMBER nResult, nType;
- STRING szTitle, szMsg;
- begin
-
- switch (svSetupType)
- case "Typical":
- nType = TYPICAL;
- case "Custom":
- nType = CUSTOM;
- case "Compact":
- nType = COMPACT;
- case "":
- svSetupType = "Typical";
- nType = TYPICAL;
- endswitch;
-
- szTitle = "";
- szMsg = "";
- nResult = SetupType( szTitle, szMsg, "", nType, 0 );
-
- switch (nResult)
- case COMPACT:
- svSetupType = "Compact";
- case TYPICAL:
- svSetupType = "Typical";
- case CUSTOM:
- svSetupType = "Custom";
- endswitch;
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdComponentDialog2 //
-// //
-// Purpose: This function displays the custom component dialog. //
-// //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdComponentDialog2()
- NUMBER nResult;
- STRING szTitle, szMsg;
- begin
-
- if ((svSetupType != "Custom") && (svSetupType != "")) then
- return 0;
- endif;
-
- szTitle = "";
- szMsg = "";
- nResult = SdComponentDialog2( szTitle, szMsg, svDir, "" );
-
- return nResult;
- end;
-
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Function: DialogShowSdFinishReboot //
-// //
-// Purpose: This function will show the last dialog of the product. //
-// It will allow the user to reboot and/or show some readme text. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-function DialogShowSdFinishReboot()
- NUMBER nResult, nDefOptions;
- STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
- NUMBER bOpt1, bOpt2;
- begin
-/*
- if (!BATCH_INSTALL) then
- bOpt1 = FALSE;
- bOpt2 = FALSE;
- szMsg1 = "";
- szMsg2 = "";
- szOption1 = "";
- szOption2 = "";
- nResult = SdFinish( szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2 );
- return 0;
- endif;
-
- nDefOptions = SYS_BOOTMACHINE;
- szTitle = "";
- szMsg1 = "";
- szMsg2 = "";
- nResult = SdFinishReboot( szTitle, szMsg1, nDefOptions, szMsg2, 0 );
-*/
- return nResult;
- end;
-
- // --- include script file section ---
-
-#include "sddialog.rul"
-
-
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt b/VC++Files/InstallShield/3.23.XXcom/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
deleted file mode 100644
index 2f561d29d81..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-This is a release of MySQL 3.23.56 for Win32.
-
-NOTE: If you install MySQL in a folder other than
-C:\MYSQL or you intend to start MySQL on NT/Win2000
-as a service, you must create a file named C:\MY.CNF
-or \Windows\my.ini or \winnt\my.ini with the following
-information::
-
-[mysqld]
-basedir=E:/installation-path/
-datadir=E:/data-path/
-
-After your have installed MySQL, the installation
-directory which contains the files named 'my-size.cnf'.
-You can use this as a starting point for your own
-C:\my.cnf file.
-
-If you have any problems, you can mail them to
-win32@lists.mysql.com after you have consulted the
-MySQL manual and the MySQL mailing list archive
-(http://www.mysql.com/documentation/index.html)
-
-On behalf of the MySQL AB gang,
-Michael Widenius \ No newline at end of file
diff --git a/VC++Files/InstallShield/3.23.XXcom/Setup Files/Uncompressed Files/Language Independent/OS Independent/SETUP.BMP b/VC++Files/InstallShield/3.23.XXcom/Setup Files/Uncompressed Files/Language Independent/OS Independent/SETUP.BMP
deleted file mode 100644
index 3229d50c9bf..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Setup Files/Uncompressed Files/Language Independent/OS Independent/SETUP.BMP
+++ /dev/null
Binary files differ
diff --git a/VC++Files/InstallShield/3.23.XXcom/Shell Objects/Default.shl b/VC++Files/InstallShield/3.23.XXcom/Shell Objects/Default.shl
deleted file mode 100644
index 187cb651307..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Shell Objects/Default.shl
+++ /dev/null
@@ -1,12 +0,0 @@
-[Data]
-Folder3=<FOLDER_STARTUP>
-Group0=Main
-Group1=Startup
-Folder0=<FOLDER_DESKTOP>
-Folder1=<FOLDER_STARTMENU>
-Folder2=<FOLDER_PROGRAMS>
-
-[Info]
-Type=ShellObject
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/String Tables/0009-English/value.shl b/VC++Files/InstallShield/3.23.XXcom/String Tables/0009-English/value.shl
deleted file mode 100644
index dd998365667..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/String Tables/0009-English/value.shl
+++ /dev/null
@@ -1,23 +0,0 @@
-[Data]
-TITLE_MAIN=MySQL Commercial Servers and Clients 3.23.56
-ERROR_COMPONENT=Component:
-COMPANY_NAME=MySQL AB
-COMPANY_NAME16=Company
-ERROR_FILEGROUP=File Group:
-ERROR_MOVEDATA=An error occurred during the move data process: %d
-PRODUCT_VERSION=3.23.56
-UNINST_KEY=MySQL Commercial Servers and Clients 3.23.56
-TITLE_CAPTIONBAR=MySQL Commercial Servers and Clients 3.23.56 Setup
-PRODUCT_NAME16=Product
-ERROR_FILE=File:
-ERROR_VGARESOLUTION=This program requires VGA or better resolution.
-PRODUCT_KEY=yourapp.Exe
-UNINST_DISPLAY_NAME=MySQL Commercial Servers and Clients 3.23.56
-ERROR_UNINSTSETUP=unInstaller setup failed to initialize. You may not be able to uninstall this product.
-PRODUCT_NAME=MySQL Commercial Servers and Clients 3.23.56
-
-[General]
-Language=0009
-Type=STRINGTABLESPECIFIC
-Version=1.00.000
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/String Tables/Default.shl b/VC++Files/InstallShield/3.23.XXcom/String Tables/Default.shl
deleted file mode 100644
index f197667992e..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/String Tables/Default.shl
+++ /dev/null
@@ -1,74 +0,0 @@
-[TITLE_MAIN]
-Comment=
-
-[ERROR_COMPONENT]
-Comment=
-
-[COMPANY_NAME]
-Comment=
-
-[COMPANY_NAME16]
-Comment=
-
-[ERROR_FILEGROUP]
-Comment=
-
-[ERROR_MOVEDATA]
-Comment=
-
-[PRODUCT_VERSION]
-Comment=
-
-[UNINST_KEY]
-Comment=
-
-[Language]
-Lang0=0009
-CurrentLang=0
-
-[TITLE_CAPTIONBAR]
-Comment=
-
-[PRODUCT_NAME16]
-Comment=
-
-[Data]
-Entry0=ERROR_VGARESOLUTION
-Entry1=TITLE_MAIN
-Entry2=TITLE_CAPTIONBAR
-Entry3=UNINST_KEY
-Entry4=UNINST_DISPLAY_NAME
-Entry5=COMPANY_NAME
-Entry6=PRODUCT_NAME
-Entry7=PRODUCT_VERSION
-Entry8=PRODUCT_KEY
-Entry10=ERROR_UNINSTSETUP
-Entry9=ERROR_MOVEDATA
-Entry11=COMPANY_NAME16
-Entry12=PRODUCT_NAME16
-Entry13=ERROR_COMPONENT
-Entry14=ERROR_FILEGROUP
-Entry15=ERROR_FILE
-
-[ERROR_FILE]
-Comment=
-
-[ERROR_VGARESOLUTION]
-Comment=
-
-[PRODUCT_KEY]
-Comment=
-
-[UNINST_DISPLAY_NAME]
-Comment=
-
-[General]
-Type=STRINGTABLE
-Version=1.00.000
-
-[ERROR_UNINSTSETUP]
-Comment=
-
-[PRODUCT_NAME]
-Comment=
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/Text Substitutions/Build.tsb b/VC++Files/InstallShield/3.23.XXcom/Text Substitutions/Build.tsb
deleted file mode 100644
index 0478df14bff..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Text Substitutions/Build.tsb
+++ /dev/null
@@ -1,56 +0,0 @@
-[<HKCR>]
-KeyType=4
-Value=
-
-[<HKUS>]
-KeyType=4
-Value=
-
-[<PROGRAMFILES>]
-KeyType=4
-Value=
-
-[<WINSYSDIR>]
-KeyType=4
-Value=
-
-[<COMMONFILES>]
-KeyType=4
-Value=
-
-[<WINDIR>]
-KeyType=4
-Value=
-
-[Data]
-Key0=<PROGRAMFILES>
-Key1=<COMMONFILES>
-Key2=<WINDIR>
-Key3=<WINSYSDIR>
-Key4=<HKLM>
-Key5=<HKCU>
-Key6=<HKCC>
-Key7=<HKDD>
-Key8=<HKUS>
-Key9=<HKCR>
-
-[General]
-Type=TEXTSUB
-Version=1.00.000
-
-[<HKCU>]
-KeyType=4
-Value=
-
-[<HKLM>]
-KeyType=4
-Value=
-
-[<HKDD>]
-KeyType=4
-Value=
-
-[<HKCC>]
-KeyType=4
-Value=
-
diff --git a/VC++Files/InstallShield/3.23.XXcom/Text Substitutions/Setup.tsb b/VC++Files/InstallShield/3.23.XXcom/Text Substitutions/Setup.tsb
deleted file mode 100644
index 258173c7a48..00000000000
--- a/VC++Files/InstallShield/3.23.XXcom/Text Substitutions/Setup.tsb
+++ /dev/null
@@ -1,76 +0,0 @@
-[<HKCR>]
-KeyType=4
-Value=
-
-[<HKUS>]
-KeyType=4
-Value=
-
-[<SRCDIR>]
-KeyType=4
-Value=
-
-[<PROGRAMFILES>]
-KeyType=4
-Value=
-
-[<TARGETDIR>]
-KeyType=4
-Value=
-
-[<WINSYSDIR>]
-KeyType=4
-Value=
-
-[<COMMONFILES>]
-KeyType=4
-Value=
-
-[<WINDIR>]
-KeyType=4
-Value=
-
-[Data]
-Key0=<PROGRAMFILES>
-Key1=<COMMONFILES>
-Key2=<WINDIR>
-Key3=<WINSYSDIR>
-Key4=<TARGETDIR>
-Key10=<HKDD>
-Key5=<SUPPORTDIR>
-Key11=<HKUS>
-Key6=<SRCDIR>
-Key12=<HKCR>
-Key7=<HKLM>
-Key13=<SHELL_OBJECT_FOLDER>
-Key8=<HKCU>
-Key9=<HKCC>
-
-[<SHELL_OBJECT_FOLDER>]
-KeyType=4
-Value=
-
-[<SUPPORTDIR>]
-KeyType=4
-Value=
-
-[General]
-Type=TEXTSUB
-Version=1.00.000
-
-[<HKCU>]
-KeyType=4
-Value=
-
-[<HKLM>]
-KeyType=4
-Value=
-
-[<HKDD>]
-KeyType=4
-Value=
-
-[<HKCC>]
-KeyType=4
-Value=
-
diff --git a/VC++Files/InstallShield/4.0.XX-classic/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt b/VC++Files/InstallShield/4.0.XX-classic/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
index acad9353244..e5a6f6ac433 100755
--- a/VC++Files/InstallShield/4.0.XX-classic/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
+++ b/VC++Files/InstallShield/4.0.XX-classic/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
@@ -1,4 +1,4 @@
-This is a release of MySQL Classic 4.0.11a-gamma for Win32.
+This is a release of MySQL Classic @VERSION@ for Win32.
NOTE: If you install MySQL in a folder other than
C:\MYSQL or you intend to start MySQL on NT/Win2000
@@ -22,4 +22,4 @@ MySQL manual and the MySQL mailing list archive
(http://www.mysql.com/documentation/index.html)
On behalf of the MySQL AB gang,
-Michael Widenius \ No newline at end of file
+Michael Widenius
diff --git a/VC++Files/InstallShield/4.0.XX-classic/String Tables/0009-English/value.shl b/VC++Files/InstallShield/4.0.XX-classic/String Tables/0009-English/value.shl
index 9359ce70202..5f767a63f43 100755
--- a/VC++Files/InstallShield/4.0.XX-classic/String Tables/0009-English/value.shl
+++ b/VC++Files/InstallShield/4.0.XX-classic/String Tables/0009-English/value.shl
@@ -1,23 +1,23 @@
[Data]
-TITLE_MAIN=MySQL Classic Servers and Clients 4.0.11a-gamma
+TITLE_MAIN=MySQL Classic Servers and Clients @VERSION@
COMPANY_NAME=MySQL AB
ERROR_COMPONENT=Component:
COMPANY_NAME16=Company
-PRODUCT_VERSION=MySQL Classic Servers and Clients 4.0.11a-gamma
+PRODUCT_VERSION=MySQL Classic Servers and Clients @VERSION@
ERROR_MOVEDATA=An error occurred during the move data process: %d
ERROR_FILEGROUP=File Group:
-UNINST_KEY=MySQL Classic Servers and Clients 4.0.11a-gamma
-TITLE_CAPTIONBAR=MySQL Classic Servers and Clients 4.0.11a-gamma
+UNINST_KEY=MySQL Classic Servers and Clients @VERSION@
+TITLE_CAPTIONBAR=MySQL Classic Servers and Clients @VERSION@
PRODUCT_NAME16=Product
ERROR_VGARESOLUTION=This program requires VGA or better resolution.
ERROR_FILE=File:
-UNINST_DISPLAY_NAME=MySQL Classic Servers and Clients 4.0.11a-gamma
+UNINST_DISPLAY_NAME=MySQL Classic Servers and Clients @VERSION@
PRODUCT_KEY=yourapp.Exe
-PRODUCT_NAME=MySQL Classic Servers and Clients 4.0.11a-gamma
+PRODUCT_NAME=MySQL Classic Servers and Clients @VERSION@
ERROR_UNINSTSETUP=unInstaller setup failed to initialize. You may not be able to uninstall this product.
[General]
Language=0009
Type=STRINGTABLESPECIFIC
-Version=1.00.000
+Version=@VERSION@
diff --git a/VC++Files/InstallShield/4.0.XX-gpl/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt b/VC++Files/InstallShield/4.0.XX-gpl/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
index c91cb20740d..acdf4f48618 100755
--- a/VC++Files/InstallShield/4.0.XX-gpl/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
+++ b/VC++Files/InstallShield/4.0.XX-gpl/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
@@ -1,4 +1,4 @@
-This is a release of MySQL 4.0.11a-gamma for Win32.
+This is a release of MySQL @VERSION@ for Win32.
NOTE: If you install MySQL in a folder other than
C:\MYSQL or you intend to start MySQL on NT/Win2000
@@ -22,4 +22,4 @@ MySQL manual and the MySQL mailing list archive
(http://www.mysql.com/documentation/index.html)
On behalf of the MySQL AB gang,
-Michael Widenius \ No newline at end of file
+Michael Widenius
diff --git a/VC++Files/InstallShield/4.0.XX-gpl/String Tables/0009-English/value.shl b/VC++Files/InstallShield/4.0.XX-gpl/String Tables/0009-English/value.shl
index ccd18e688eb..0a6c33be42b 100755
--- a/VC++Files/InstallShield/4.0.XX-gpl/String Tables/0009-English/value.shl
+++ b/VC++Files/InstallShield/4.0.XX-gpl/String Tables/0009-English/value.shl
@@ -1,23 +1,23 @@
[Data]
-TITLE_MAIN=MySQL Servers and Clients 4.0.11a-gamma
+TITLE_MAIN=MySQL Servers and Clients @VERSION@
COMPANY_NAME=MySQL AB
ERROR_COMPONENT=Component:
COMPANY_NAME16=Company
-PRODUCT_VERSION=MySQL Servers and Clients 4.0.11a-gamma
+PRODUCT_VERSION=MySQL Servers and Clients @VERSION@
ERROR_MOVEDATA=An error occurred during the move data process: %d
ERROR_FILEGROUP=File Group:
-UNINST_KEY=MySQL Servers and Clients 4.0.11a-gamma
-TITLE_CAPTIONBAR=MySQL Servers and Clients 4.0.11a-gamma
+UNINST_KEY=MySQL Servers and Clients @VERSION@
+TITLE_CAPTIONBAR=MySQL Servers and Clients @VERSION@
PRODUCT_NAME16=Product
ERROR_VGARESOLUTION=This program requires VGA or better resolution.
ERROR_FILE=File:
-UNINST_DISPLAY_NAME=MySQL Servers and Clients 4.0.11a-gamma
+UNINST_DISPLAY_NAME=MySQL Servers and Clients @VERSION@
PRODUCT_KEY=yourapp.Exe
-PRODUCT_NAME=MySQL Servers and Clients 4.0.11a-gamma
+PRODUCT_NAME=MySQL Servers and Clients @VERSION@
ERROR_UNINSTSETUP=unInstaller setup failed to initialize. You may not be able to uninstall this product.
[General]
Language=0009
Type=STRINGTABLESPECIFIC
-Version=1.00.000
+Version=@VERSION@
diff --git a/VC++Files/InstallShield/4.0.XX-pro/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt b/VC++Files/InstallShield/4.0.XX-pro/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
index 18d7995fd50..52ccf8e11a9 100755
--- a/VC++Files/InstallShield/4.0.XX-pro/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
+++ b/VC++Files/InstallShield/4.0.XX-pro/Setup Files/Compressed Files/Language Independent/OS Independent/infolist.txt
@@ -1,4 +1,4 @@
-This is a release of MySQL Pro 4.0.11a-gamma for Win32.
+This is a release of MySQL Pro @VERSION@ for Win32.
NOTE: If you install MySQL in a folder other than
C:\MYSQL or you intend to start MySQL on NT/Win2000
@@ -22,4 +22,4 @@ MySQL manual and the MySQL mailing list archive
(http://www.mysql.com/documentation/index.html)
On behalf of the MySQL AB gang,
-Michael Widenius \ No newline at end of file
+Michael Widenius
diff --git a/VC++Files/InstallShield/4.0.XX-pro/String Tables/0009-English/value.shl b/VC++Files/InstallShield/4.0.XX-pro/String Tables/0009-English/value.shl
index c1dd3707afb..61b2e6fb50f 100755
--- a/VC++Files/InstallShield/4.0.XX-pro/String Tables/0009-English/value.shl
+++ b/VC++Files/InstallShield/4.0.XX-pro/String Tables/0009-English/value.shl
@@ -1,23 +1,23 @@
[Data]
-TITLE_MAIN=MySQL Pro Servers and Clients 4.0.11a-gamma
+TITLE_MAIN=MySQL Pro Servers and Clients @VERSION@
COMPANY_NAME=MySQL AB
ERROR_COMPONENT=Component:
COMPANY_NAME16=Company
-PRODUCT_VERSION=MySQL Pro Servers and Clients 4.0.11a-gamma
+PRODUCT_VERSION=MySQL Pro Servers and Clients @VERSION@
ERROR_MOVEDATA=An error occurred during the move data process: %d
ERROR_FILEGROUP=File Group:
-UNINST_KEY=MySQL Pro Servers and Clients 4.0.11a-gamma
-TITLE_CAPTIONBAR=MySQL Pro Servers and Clients 4.0.11a-gamma
+UNINST_KEY=MySQL Pro Servers and Clients @VERSION@
+TITLE_CAPTIONBAR=MySQL Pro Servers and Clients @VERSION@
PRODUCT_NAME16=Product
ERROR_VGARESOLUTION=This program requires VGA or better resolution.
ERROR_FILE=File:
-UNINST_DISPLAY_NAME=MySQL Pro Servers and Clients 4.0.11a-gamma
+UNINST_DISPLAY_NAME=MySQL Pro Servers and Clients @VERSION@
PRODUCT_KEY=yourapp.Exe
-PRODUCT_NAME=MySQL Pro Servers and Clients 4.0.11a-gamma
+PRODUCT_NAME=MySQL Pro Servers and Clients @VERSION@
ERROR_UNINSTSETUP=unInstaller setup failed to initialize. You may not be able to uninstall this product.
[General]
Language=0009
Type=STRINGTABLESPECIFIC
-Version=1.00.000
+Version=@VERSION@
diff --git a/VC++Files/libmysql/libmysql.def b/VC++Files/libmysql/libmysql.def
new file mode 100755
index 00000000000..726a53864f3
--- /dev/null
+++ b/VC++Files/libmysql/libmysql.def
@@ -0,0 +1,94 @@
+LIBRARY LIBMYSQL
+DESCRIPTION 'MySQL 3.23 Client Library'
+VERSION 2.5
+EXPORTS
+ mysql_affected_rows
+ mysql_close
+ mysql_connect
+ mysql_create_db
+ mysql_data_seek
+ mysql_debug
+ mysql_drop_db
+ mysql_dump_debug_info
+ mysql_eof
+ mysql_errno
+ mysql_error
+ mysql_escape_string
+ mysql_fetch_field
+ mysql_fetch_field_direct
+ mysql_fetch_fields
+ mysql_fetch_lengths
+ mysql_fetch_row
+ mysql_field_count
+ mysql_field_seek
+ mysql_field_tell
+ mysql_free_result
+ mysql_get_client_info
+ mysql_get_host_info
+ mysql_get_proto_info
+ mysql_get_server_info
+ mysql_info
+ mysql_init
+ mysql_insert_id
+ mysql_kill
+ mysql_list_dbs
+ mysql_list_fields
+ mysql_list_processes
+ mysql_list_tables
+ mysql_num_fields
+ mysql_num_rows
+ mysql_odbc_escape_string
+ mysql_options
+ mysql_ping
+ mysql_query
+ mysql_real_connect
+ mysql_real_query
+ mysql_refresh
+ mysql_row_seek
+ mysql_row_tell
+ mysql_select_db
+ mysql_shutdown
+ mysql_stat
+ mysql_store_result
+ mysql_thread_id
+ mysql_use_result
+ bmove_upp
+ delete_dynamic
+ _dig_vec
+ init_dynamic_array
+ insert_dynamic
+ int2str
+ is_prefix
+ list_add
+ list_delete
+ max_allowed_packet
+ my_casecmp
+ my_init
+ my_end
+ my_strdup
+ my_malloc
+ my_memdup
+ my_no_flags_free
+ my_realloc
+ my_thread_end
+ my_thread_init
+ net_buffer_length
+ set_dynamic
+ strcend
+ strdup_root
+ strfill
+ strinstr
+ strmake
+ strmov
+ strxmov
+ myodbc_remove_escape
+ mysql_thread_safe
+ mysql_character_set_name
+ mysql_change_user
+ mysql_send_query
+ mysql_read_query_result
+ mysql_real_escape_string
+ load_defaults
+ free_defaults
+
+
diff --git a/VC++Files/libmysqltest/myTest-package.dsp b/VC++Files/libmysqltest/myTest-package.dsp
new file mode 100644
index 00000000000..a5c73d447b3
--- /dev/null
+++ b/VC++Files/libmysqltest/myTest-package.dsp
@@ -0,0 +1,92 @@
+# Microsoft Developer Studio Project File - Name="myTest" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=myTest - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "myTest.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "myTest.mak" CFG="myTest - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "myTest - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "myTest - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=xicl6.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "myTest - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "release"
+# PROP Intermediate_Dir "release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /G6 /W3 /O2 /I "..\..\include" /D "NDEBUG" /D "DBUG_UFF" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=xilink6.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ..\..\lib\opt\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\lib_release"
+
+!ELSEIF "$(CFG)" == "myTest - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "debug"
+# PROP Intermediate_Dir "debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "..\..\include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /Fr /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=xilink6.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ..\..\lib\debug\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /pdbtype:sept /libpath:"..\lib_debug"
+
+!ENDIF
+
+# Begin Target
+
+# Name "myTest - Win32 Release"
+# Name "myTest - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\Mytest.c
+# End Source File
+# End Target
+# End Project
diff --git a/VC++Files/mysqlshutdown/mysql.ico b/VC++Files/mysqlshutdown/mysql.ico
new file mode 100644
index 00000000000..1fe0b7115bb
--- /dev/null
+++ b/VC++Files/mysqlshutdown/mysql.ico
Binary files differ
diff --git a/VC++Files/mysqlshutdown/mysqlshutdown.c b/VC++Files/mysqlshutdown/mysqlshutdown.c
index e770149604d..ccaf4a00eda 100644
--- a/VC++Files/mysqlshutdown/mysqlshutdown.c
+++ b/VC++Files/mysqlshutdown/mysqlshutdown.c
@@ -1,198 +1,198 @@
-/****************************************************************************
- MySqlShutdown - shutdown MySQL on system shutdown (Win95/98)
- ----------------------------------------------------------------------------
- Revision History :
- Version Author Date Description
- 001.00 Irena 21-12-99
-*****************************************************************************/
-#include <windows.h>
-
-//-----------------------------------------------------------------------
-// Local data
-//-----------------------------------------------------------------------
-static char szAppName[] = "MySqlShutdown";
-static HINSTANCE hInstance;
-
-#define MYWM_NOTIFYICON (WM_APP+100)
-
-//-----------------------------------------------------------------------
-// Exported functions
-//-----------------------------------------------------------------------
-LRESULT CALLBACK MainWindowProc (HWND, UINT, WPARAM, LPARAM);
-
-//-----------------------------------------------------------------------
-// Local functions
-//-----------------------------------------------------------------------
-static BOOL InitAppClass (HINSTANCE hInstance);
-
-BOOL TrayMessageAdd(HWND hWnd, DWORD dwMessage)
-{
- BOOL res;
- HICON hIcon =LoadIcon (hInstance, "MySql");
- char *szTip="MySql Shutdown";
- NOTIFYICONDATA tnd;
-
- tnd.cbSize = sizeof(NOTIFYICONDATA);
- tnd.hWnd = hWnd;
- tnd.uID = 101;
-
- tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
- tnd.uCallbackMessage = MYWM_NOTIFYICON;
- tnd.hIcon = hIcon;
- strcpy(tnd.szTip, szTip);
- res = Shell_NotifyIcon(dwMessage, &tnd);
-
- if (hIcon) DestroyIcon(hIcon);
-
- return res;
-}
-
-//-----------------------------------------------------------------------
-// Name: WinMain
-// Purpose: Main application entry point
-//-----------------------------------------------------------------------
-
-int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
-{ HWND hWnd;
- MSG Msg;
-
- hInstance=hInst;
- // Register application class if needed
- if (InitAppClass (hInstance) == FALSE) return (0);
-
-
- hWnd = CreateWindow (szAppName, "MySql",
- WS_OVERLAPPEDWINDOW|WS_MINIMIZE,
- 0, 0,
- GetSystemMetrics(SM_CXSCREEN)/4,
- GetSystemMetrics(SM_CYSCREEN)/4,
- 0, 0, hInstance, NULL);
-
- if(!hWnd)
- {
- return (0);
- }
- ShowWindow (hWnd, SW_HIDE);
- UpdateWindow (hWnd);
- while (GetMessage (&Msg, 0, 0, 0))
- { TranslateMessage (&Msg);
- DispatchMessage (&Msg);
- }
- return ((int) (Msg.wParam));
-}
-
-//-----------------------------------------------------------------------
-// Name: InitAppClass
-// Purpose: Register the main application window class
-//-----------------------------------------------------------------------
-static BOOL InitAppClass (HINSTANCE hInstance)
-{
- WNDCLASS cls;
-
- if (GetClassInfo (hInstance, szAppName, &cls) == 0)
- {
- cls.style = CS_HREDRAW | CS_VREDRAW ;;
- cls.lpfnWndProc = (WNDPROC) MainWindowProc;
- cls.cbClsExtra = 0;
- cls.cbWndExtra = sizeof(HWND);
- cls.hInstance = hInstance;
- cls.hIcon = LoadIcon (hInstance, "MySql");
- cls.hCursor = LoadCursor (NULL, IDC_ARROW);
- cls.hbrBackground = GetStockObject (WHITE_BRUSH) ;
- cls.lpszMenuName = 0; //szAppName;
- cls.lpszClassName = szAppName;
- return RegisterClass (&cls);
- }
- return (TRUE);
-}
-//-----------------------------------------------------------------------
-// Name: MainWindowProc
-// Purpose: Window procedure for main application window.
-//-----------------------------------------------------------------------
-LRESULT CALLBACK MainWindowProc (HWND hWnd, UINT Msg,WPARAM wParam, LPARAM lParam)
-{
- static RECT rect ;
- HDC hdc ;
- PAINTSTRUCT ps ;
- static BOOL bShutdown=FALSE;
-
- switch (Msg)
- {
- case WM_CREATE:
- TrayMessageAdd(hWnd, NIM_ADD);
- return TRUE;
-/***************
- case WM_SYSCOMMAND:
- if(wParam==SC_CLOSE)
- { HANDLE hEventShutdown;
-
- bShutdown=TRUE;
- InvalidateRect(hWnd,NULL,TRUE);
- ShowWindow (hWnd, SW_NORMAL);
- UpdateWindow(hWnd);
- hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
- if(hEventShutdown)
- {
- SetEvent(hEventShutdown);
- CloseHandle(hEventShutdown);
- Sleep(1000);
- MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
- }
- TrayMessageAdd(hWnd, NIM_DELETE);
- }
- break;
-**************/
- case WM_DESTROY:
- TrayMessageAdd(hWnd, NIM_DELETE);
- PostQuitMessage (0);
- return 0;
- case WM_SIZE:
- GetClientRect (hWnd, &rect) ;
- return 0 ;
-
- case WM_PAINT:
- hdc = BeginPaint (hWnd, &ps) ;
- if(bShutdown)
- DrawText (hdc, "MySql shutdown in progress...",
- -1, &rect, DT_WORDBREAK) ;
- EndPaint (hWnd, &ps) ;
- return 0 ;
- case WM_QUERYENDSESSION: //Shutdown MySql
- { HANDLE hEventShutdown;
-
- bShutdown=TRUE;
- InvalidateRect(hWnd,NULL,TRUE);
- ShowWindow (hWnd, SW_NORMAL);
- UpdateWindow(hWnd);
- hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
- if(hEventShutdown)
- {
- SetEvent(hEventShutdown);
- CloseHandle(hEventShutdown);
- Sleep(1000);
- MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
- }
- }
- return 1;
-
- case MYWM_NOTIFYICON:
- switch (lParam)
- {
- case WM_LBUTTONDOWN:
- case WM_RBUTTONDOWN:
- ShowWindow(hWnd, SW_SHOWNORMAL);
- SetForegroundWindow(hWnd); // make us come to the front
- break;
- default:
- break;
- }
- break;
-
- }
- return DefWindowProc (hWnd, Msg, wParam, lParam);
-}
-
-
-// ----------------------- The end ------------------------------------------
-
-
+/****************************************************************************
+ MySqlShutdown - shutdown MySQL on system shutdown (Win95/98)
+ ----------------------------------------------------------------------------
+ Revision History :
+ Version Author Date Description
+ 001.00 Irena 21-12-99
+*****************************************************************************/
+#include <windows.h>
+
+//-----------------------------------------------------------------------
+// Local data
+//-----------------------------------------------------------------------
+static char szAppName[] = "MySqlShutdown";
+static HINSTANCE hInstance;
+
+#define MYWM_NOTIFYICON (WM_APP+100)
+
+//-----------------------------------------------------------------------
+// Exported functions
+//-----------------------------------------------------------------------
+LRESULT CALLBACK MainWindowProc (HWND, UINT, WPARAM, LPARAM);
+
+//-----------------------------------------------------------------------
+// Local functions
+//-----------------------------------------------------------------------
+static BOOL InitAppClass (HINSTANCE hInstance);
+
+BOOL TrayMessageAdd(HWND hWnd, DWORD dwMessage)
+{
+ BOOL res;
+ HICON hIcon =LoadIcon (hInstance, "MySql");
+ char *szTip="MySql Shutdown";
+ NOTIFYICONDATA tnd;
+
+ tnd.cbSize = sizeof(NOTIFYICONDATA);
+ tnd.hWnd = hWnd;
+ tnd.uID = 101;
+
+ tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
+ tnd.uCallbackMessage = MYWM_NOTIFYICON;
+ tnd.hIcon = hIcon;
+ strcpy(tnd.szTip, szTip);
+ res = Shell_NotifyIcon(dwMessage, &tnd);
+
+ if (hIcon) DestroyIcon(hIcon);
+
+ return res;
+}
+
+//-----------------------------------------------------------------------
+// Name: WinMain
+// Purpose: Main application entry point
+//-----------------------------------------------------------------------
+
+int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
+{ HWND hWnd;
+ MSG Msg;
+
+ hInstance=hInst;
+ // Register application class if needed
+ if (InitAppClass (hInstance) == FALSE) return (0);
+
+
+ hWnd = CreateWindow (szAppName, "MySql",
+ WS_OVERLAPPEDWINDOW|WS_MINIMIZE,
+ 0, 0,
+ GetSystemMetrics(SM_CXSCREEN)/4,
+ GetSystemMetrics(SM_CYSCREEN)/4,
+ 0, 0, hInstance, NULL);
+
+ if(!hWnd)
+ {
+ return (0);
+ }
+ ShowWindow (hWnd, SW_HIDE);
+ UpdateWindow (hWnd);
+ while (GetMessage (&Msg, 0, 0, 0))
+ { TranslateMessage (&Msg);
+ DispatchMessage (&Msg);
+ }
+ return ((int) (Msg.wParam));
+}
+
+//-----------------------------------------------------------------------
+// Name: InitAppClass
+// Purpose: Register the main application window class
+//-----------------------------------------------------------------------
+static BOOL InitAppClass (HINSTANCE hInstance)
+{
+ WNDCLASS cls;
+
+ if (GetClassInfo (hInstance, szAppName, &cls) == 0)
+ {
+ cls.style = CS_HREDRAW | CS_VREDRAW ;;
+ cls.lpfnWndProc = (WNDPROC) MainWindowProc;
+ cls.cbClsExtra = 0;
+ cls.cbWndExtra = sizeof(HWND);
+ cls.hInstance = hInstance;
+ cls.hIcon = LoadIcon (hInstance, "MySql");
+ cls.hCursor = LoadCursor (NULL, IDC_ARROW);
+ cls.hbrBackground = GetStockObject (WHITE_BRUSH) ;
+ cls.lpszMenuName = 0; //szAppName;
+ cls.lpszClassName = szAppName;
+ return RegisterClass (&cls);
+ }
+ return (TRUE);
+}
+//-----------------------------------------------------------------------
+// Name: MainWindowProc
+// Purpose: Window procedure for main application window.
+//-----------------------------------------------------------------------
+LRESULT CALLBACK MainWindowProc (HWND hWnd, UINT Msg,WPARAM wParam, LPARAM lParam)
+{
+ static RECT rect ;
+ HDC hdc ;
+ PAINTSTRUCT ps ;
+ static BOOL bShutdown=FALSE;
+
+ switch (Msg)
+ {
+ case WM_CREATE:
+ TrayMessageAdd(hWnd, NIM_ADD);
+ return TRUE;
+/***************
+ case WM_SYSCOMMAND:
+ if(wParam==SC_CLOSE)
+ { HANDLE hEventShutdown;
+
+ bShutdown=TRUE;
+ InvalidateRect(hWnd,NULL,TRUE);
+ ShowWindow (hWnd, SW_NORMAL);
+ UpdateWindow(hWnd);
+ hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
+ if(hEventShutdown)
+ {
+ SetEvent(hEventShutdown);
+ CloseHandle(hEventShutdown);
+ Sleep(1000);
+ MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
+ }
+ TrayMessageAdd(hWnd, NIM_DELETE);
+ }
+ break;
+**************/
+ case WM_DESTROY:
+ TrayMessageAdd(hWnd, NIM_DELETE);
+ PostQuitMessage (0);
+ return 0;
+ case WM_SIZE:
+ GetClientRect (hWnd, &rect) ;
+ return 0 ;
+
+ case WM_PAINT:
+ hdc = BeginPaint (hWnd, &ps) ;
+ if(bShutdown)
+ DrawText (hdc, "MySql shutdown in progress...",
+ -1, &rect, DT_WORDBREAK) ;
+ EndPaint (hWnd, &ps) ;
+ return 0 ;
+ case WM_QUERYENDSESSION: //Shutdown MySql
+ { HANDLE hEventShutdown;
+
+ bShutdown=TRUE;
+ InvalidateRect(hWnd,NULL,TRUE);
+ ShowWindow (hWnd, SW_NORMAL);
+ UpdateWindow(hWnd);
+ hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
+ if(hEventShutdown)
+ {
+ SetEvent(hEventShutdown);
+ CloseHandle(hEventShutdown);
+ Sleep(1000);
+ MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
+ }
+ }
+ return 1;
+
+ case MYWM_NOTIFYICON:
+ switch (lParam)
+ {
+ case WM_LBUTTONDOWN:
+ case WM_RBUTTONDOWN:
+ ShowWindow(hWnd, SW_SHOWNORMAL);
+ SetForegroundWindow(hWnd); // make us come to the front
+ break;
+ default:
+ break;
+ }
+ break;
+
+ }
+ return DefWindowProc (hWnd, Msg, wParam, lParam);
+}
+
+
+// ----------------------- The end ------------------------------------------
+
+
diff --git a/VC++Files/mysqlshutdown/mysqlshutdown.rc b/VC++Files/mysqlshutdown/mysqlshutdown.rc
index 01babed1c98..6837f863a81 100644
--- a/VC++Files/mysqlshutdown/mysqlshutdown.rc
+++ b/VC++Files/mysqlshutdown/mysqlshutdown.rc
@@ -1,2 +1,2 @@
-MySql ICON DISCARDABLE "MYSQL.ICO"
-
+MySql ICON DISCARDABLE "MYSQL.ICO"
+
diff --git a/VC++Files/mysqlwatch/mysqlwatch.c b/VC++Files/mysqlwatch/mysqlwatch.c
index 2aba6814869..2a1f62b4394 100644
--- a/VC++Files/mysqlwatch/mysqlwatch.c
+++ b/VC++Files/mysqlwatch/mysqlwatch.c
@@ -1,745 +1,745 @@
-/****************************************************************************
- MySqlWatch - WinNT service program MySQL
- - Re-start MySql server in case of failure
-*****************************************************************************/
-#include <windows.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <process.h>
-#include <tchar.h>
-
-
-// name of the executable
-#define SZAPPNAME "mysqlwatch"
-// internal name of the service
-#define SZSERVICENAME "MySqlWatch"
-// displayed name of the service
-#define SZSERVICEDISPLAYNAME "MySqlWatch"
-// list of service dependencies - "dep1\0dep2\0\0"
-#define SZDEPENDENCIES ""
-
-
-
-VOID ServiceStart(DWORD dwArgc, LPTSTR *lpszArgv);
-VOID ServiceStop(void);
-BOOL ReportStatusToSCMgr(DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint);
-void AddToMessageLog(LPTSTR lpszMsg);
-
-// internal variables
-SERVICE_STATUS ssStatus; // current status of the service
-SERVICE_STATUS_HANDLE sshStatusHandle;
-DWORD dwErr = 0;
-BOOL bDebug = FALSE;
-TCHAR szErr[256];
-
-// internal function prototypes
-void WINAPI service_ctrl(DWORD dwCtrlCode);
-void WINAPI service_main(DWORD dwArgc, LPTSTR *lpszArgv);
-void CmdInstallService(void);
-void CmdRemoveService(void);
-void CmdDebugService(int argc, char **argv);
-BOOL WINAPI ControlHandler ( DWORD dwCtrlType );
-LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize );
-
-//
-// FUNCTION: main
-//
-// PURPOSE: entrypoint for service
-//
-// PARAMETERS:
-// argc - number of command line arguments
-// argv - array of command line arguments
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-// main() either performs the command line task, or
-// call StartServiceCtrlDispatcher to register the
-// main service thread. When the this call returns,
-// the service has stopped, so exit.
-//
-void main(int argc, char **argv)
-{
- SERVICE_TABLE_ENTRY dispatchTable[] =
- {
- { TEXT(SZSERVICENAME), (LPSERVICE_MAIN_FUNCTION)service_main },
- { NULL, NULL }
- };
-
- if ( (argc > 1) &&
- ((*argv[1] == '-') || (*argv[1] == '/')) )
- {
- if ( stricmp( "install", argv[1]+1 ) == 0 )
- {
- CmdInstallService();
- }
- else if ( stricmp( "remove", argv[1]+1 ) == 0 )
- {
- CmdRemoveService();
- }
- else if ( stricmp( "debug", argv[1]+1 ) == 0 )
- {
- bDebug = TRUE;
- CmdDebugService(argc, argv);
- }
- else
- {
- goto dispatch;
- }
- exit(0);
- }
-
- // if it doesn't match any of the above parameters
- // the service control manager may be starting the service
- // so we must call StartServiceCtrlDispatcher
- dispatch:
- // this is just to be friendly
- printf( "%s -install to install the service\n", SZAPPNAME );
- printf( "%s -remove to remove the service\n", SZAPPNAME );
- printf( "%s -debug <params> to run as a console app for debugging\n", SZAPPNAME );
- printf( "\nStartServiceCtrlDispatcher being called.\n" );
- printf( "This may take several seconds. Please wait.\n" );
-
- if (!StartServiceCtrlDispatcher(dispatchTable))
- AddToMessageLog(TEXT("StartServiceCtrlDispatcher failed."));
-}
-
-
-
-//
-// FUNCTION: service_main
-//
-// PURPOSE: To perform actual initialization of the service
-//
-// PARAMETERS:
-// dwArgc - number of command line arguments
-// lpszArgv - array of command line arguments
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-// This routine performs the service initialization and then calls
-// the user defined ServiceStart() routine to perform majority
-// of the work.
-//
-void WINAPI service_main(DWORD dwArgc, LPTSTR *lpszArgv)
-{
-
- // register our service control handler:
- //
- sshStatusHandle = RegisterServiceCtrlHandler( TEXT(SZSERVICENAME), service_ctrl);
-
- if (!sshStatusHandle)
- goto cleanup;
-
- // SERVICE_STATUS members that don't change in example
- //
- ssStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
- ssStatus.dwServiceSpecificExitCode = 0;
-
-
- // report the status to the service control manager.
- //
- if (!ReportStatusToSCMgr(
- SERVICE_START_PENDING, // service state
- NO_ERROR, // exit code
- 3000)) // wait hint
- goto cleanup;
-
-
- ServiceStart( dwArgc, lpszArgv );
-
-cleanup:
-
- // try to report the stopped status to the service control manager.
- //
- if (sshStatusHandle)
- ReportStatusToSCMgr(
- SERVICE_STOPPED,
- dwErr,
- 0);
-
- return;
-}
-
-
-
-//
-// FUNCTION: service_ctrl
-//
-// PURPOSE: This function is called by the SCM whenever
-// ControlService() is called on this service.
-//
-// PARAMETERS:
-// dwCtrlCode - type of control requested
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-void WINAPI service_ctrl(DWORD dwCtrlCode)
-{
- // Handle the requested control code.
- //
- switch(dwCtrlCode)
- {
- // Stop the service.
- //
- case SERVICE_CONTROL_STOP:
- ssStatus.dwCurrentState = SERVICE_STOP_PENDING;
- ServiceStop();
- break;
-
- // Update the service status.
- //
- case SERVICE_CONTROL_INTERROGATE:
- break;
-
- // invalid control code
- //
- default:
- break;
-
- }
-
- ReportStatusToSCMgr(ssStatus.dwCurrentState, NO_ERROR, 0);
-
-}
-
-
-
-//
-// FUNCTION: ReportStatusToSCMgr()
-//
-// PURPOSE: Sets the current status of the service and
-// reports it to the Service Control Manager
-//
-// PARAMETERS:
-// dwCurrentState - the state of the service
-// dwWin32ExitCode - error code to report
-// dwWaitHint - worst case estimate to next checkpoint
-//
-// RETURN VALUE:
-// TRUE - success
-// FALSE - failure
-//
-// COMMENTS:
-//
-BOOL ReportStatusToSCMgr(DWORD dwCurrentState,
- DWORD dwWin32ExitCode,
- DWORD dwWaitHint)
-{
- static DWORD dwCheckPoint = 1;
- BOOL fResult = TRUE;
-
-
- if ( !bDebug ) // when debugging we don't report to the SCM
- {
- if (dwCurrentState == SERVICE_START_PENDING)
- ssStatus.dwControlsAccepted = 0;
- else
- ssStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
-
- ssStatus.dwCurrentState = dwCurrentState;
- ssStatus.dwWin32ExitCode = dwWin32ExitCode;
- ssStatus.dwWaitHint = dwWaitHint;
-
- if ( ( dwCurrentState == SERVICE_RUNNING ) ||
- ( dwCurrentState == SERVICE_STOPPED ) )
- ssStatus.dwCheckPoint = 0;
- else
- ssStatus.dwCheckPoint = dwCheckPoint++;
-
-
- // Report the status of the service to the service control manager.
- //
- if (!(fResult = SetServiceStatus( sshStatusHandle, &ssStatus))) {
- AddToMessageLog(TEXT("SetServiceStatus"));
- }
- }
- return fResult;
-}
-
-
-
-//
-// FUNCTION: AddToMessageLog(LPTSTR lpszMsg)
-//
-// PURPOSE: Allows any thread to log an error message
-//
-// PARAMETERS:
-// lpszMsg - text for message
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-void AddToMessageLog(LPTSTR lpszMsg)
-{
- TCHAR szMsg[256];
- HANDLE hEventSource;
- LPTSTR lpszStrings[2];
-
-
- if ( !bDebug )
- {
- dwErr = GetLastError();
-
- // Use event logging to log the error.
- //
- hEventSource = RegisterEventSource(NULL, TEXT(SZSERVICENAME));
-
- _stprintf(szMsg, TEXT("%s error: %d"), TEXT(SZSERVICENAME), dwErr);
- lpszStrings[0] = szMsg;
- lpszStrings[1] = lpszMsg;
-
- if (hEventSource != NULL) {
- ReportEvent(hEventSource, // handle of event source
- EVENTLOG_ERROR_TYPE, // event type
- 0, // event category
- 0, // event ID
- NULL, // current user's SID
- 2, // strings in lpszStrings
- 0, // no bytes of raw data
- lpszStrings, // array of error strings
- NULL); // no raw data
-
- DeregisterEventSource(hEventSource);
- }
- }
-}
-
-
-
-
-///////////////////////////////////////////////////////////////////
-//
-// The following code handles service installation and removal
-//
-
-
-//
-// FUNCTION: CmdInstallService()
-//
-// PURPOSE: Installs the service
-//
-// PARAMETERS:
-// none
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-void CmdInstallService()
-{
- SC_HANDLE schService;
- SC_HANDLE schSCManager;
-
- TCHAR szPath[512];
-
- if ( GetModuleFileName( NULL, szPath, 512 ) == 0 )
- {
- _tprintf(TEXT("Unable to install %s - %s\n"), TEXT(SZSERVICEDISPLAYNAME), GetLastErrorText(szErr, 256));
- return;
- }
-
- schSCManager = OpenSCManager(
- NULL, // machine (NULL == local)
- NULL, // database (NULL == default)
- SC_MANAGER_ALL_ACCESS // access required
- );
- if ( schSCManager )
- {
- schService = CreateService(
- schSCManager, // SCManager database
- TEXT(SZSERVICENAME), // name of service
- TEXT(SZSERVICEDISPLAYNAME), // name to display
- SERVICE_ALL_ACCESS, // desired access
- SERVICE_WIN32_OWN_PROCESS, // service type
- SERVICE_DEMAND_START, // start type
- SERVICE_ERROR_NORMAL, // error control type
- szPath, // service's binary
- NULL, // no load ordering group
- NULL, // no tag identifier
- TEXT(SZDEPENDENCIES), // dependencies
- NULL, // LocalSystem account
- NULL); // no password
-
- if ( schService )
- {
- _tprintf(TEXT("%s installed.\n"), TEXT(SZSERVICEDISPLAYNAME) );
- CloseServiceHandle(schService);
- }
- else
- {
- _tprintf(TEXT("CreateService failed - %s\n"), GetLastErrorText(szErr, 256));
- }
-
- CloseServiceHandle(schSCManager);
- }
- else
- _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
-}
-
-
-
-//
-// FUNCTION: CmdRemoveService()
-//
-// PURPOSE: Stops and removes the service
-//
-// PARAMETERS:
-// none
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-void CmdRemoveService()
-{
- SC_HANDLE schService;
- SC_HANDLE schSCManager;
-
- schSCManager = OpenSCManager(
- NULL, // machine (NULL == local)
- NULL, // database (NULL == default)
- SC_MANAGER_ALL_ACCESS // access required
- );
- if ( schSCManager )
- {
- schService = OpenService(schSCManager, TEXT(SZSERVICENAME), SERVICE_ALL_ACCESS);
-
- if (schService)
- {
- // try to stop the service
- if ( ControlService( schService, SERVICE_CONTROL_STOP, &ssStatus ) )
- {
- _tprintf(TEXT("Stopping %s."), TEXT(SZSERVICEDISPLAYNAME));
- Sleep( 1000 );
-
- while( QueryServiceStatus( schService, &ssStatus ) )
- {
- if ( ssStatus.dwCurrentState == SERVICE_STOP_PENDING )
- {
- _tprintf(TEXT("."));
- Sleep( 1000 );
- }
- else
- break;
- }
-
- if ( ssStatus.dwCurrentState == SERVICE_STOPPED )
- _tprintf(TEXT("\n%s stopped.\n"), TEXT(SZSERVICEDISPLAYNAME) );
- else
- _tprintf(TEXT("\n%s failed to stop.\n"), TEXT(SZSERVICEDISPLAYNAME) );
-
- }
-
- // now remove the service
- if( DeleteService(schService) )
- _tprintf(TEXT("%s removed.\n"), TEXT(SZSERVICEDISPLAYNAME) );
- else
- _tprintf(TEXT("DeleteService failed - %s\n"), GetLastErrorText(szErr,256));
-
-
- CloseServiceHandle(schService);
- }
- else
- _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
-
- CloseServiceHandle(schSCManager);
- }
- else
- _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
-}
-
-
-
-
-
-//
-// FUNCTION: CmdRestartService()
-//
-// PURPOSE: Stops and removes the service
-//
-// PARAMETERS:
-// none
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-void CmdRestartService(char *szServiceName)
-{
- SC_HANDLE schService;
- SC_HANDLE schSCManager;
-
- schSCManager = OpenSCManager(
- NULL, // machine (NULL == local)
- NULL, // database (NULL == default)
- SC_MANAGER_ALL_ACCESS // access required
- );
- if ( schSCManager )
- {
- schService = OpenService(schSCManager, TEXT(szServiceName), SERVICE_ALL_ACCESS);
- if (schService)
- {
- if(! ControlService( schService, SERVICE_CONTROL_INTERROGATE, &ssStatus ) )
- //if(QueryServiceStatus( schService, &ssStatus )==0)
- {
- if(GetLastError()==ERROR_SERVICE_NOT_ACTIVE)
- {
-
- //AddToMessageLog(TEXT("Start service..."));
- StartService( schService, 0,NULL);
- }
- else
- { ;
- //AddToMessageLog(TEXT("QueryService..."));
- //AddToMessageLog(TEXT(GetLastErrorText(szErr,256)));
- }
- }
- CloseServiceHandle(schService);
- }
- else
- { _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
- AddToMessageLog(TEXT("OpenService..."));
- AddToMessageLog(TEXT(GetLastErrorText(szErr,256)));
-
- }
- CloseServiceHandle(schSCManager);
- }
- else
- { _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
- AddToMessageLog(TEXT("OpenSCMManager.."));
-
- }
-}
-
-
-
-
-///////////////////////////////////////////////////////////////////
-//
-// The following code is for running the service as a console app
-//
-
-
-//
-// FUNCTION: CmdDebugService(int argc, char ** argv)
-//
-// PURPOSE: Runs the service as a console application
-//
-// PARAMETERS:
-// argc - number of command line arguments
-// argv - array of command line arguments
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-void CmdDebugService(int argc, char ** argv)
-{
- DWORD dwArgc;
- LPTSTR *lpszArgv;
-
-#ifdef UNICODE
- lpszArgv = CommandLineToArgvW(GetCommandLineW(), &(dwArgc) );
-#else
- dwArgc = (DWORD) argc;
- lpszArgv = argv;
-#endif
-
- _tprintf(TEXT("Debugging %s.\n"), TEXT(SZSERVICEDISPLAYNAME));
-
- SetConsoleCtrlHandler( ControlHandler, TRUE );
-
- ServiceStart( dwArgc, lpszArgv );
-}
-
-
-//
-// FUNCTION: ControlHandler ( DWORD dwCtrlType )
-//
-// PURPOSE: Handled console control events
-//
-// PARAMETERS:
-// dwCtrlType - type of control event
-//
-// RETURN VALUE:
-// True - handled
-// False - unhandled
-//
-// COMMENTS:
-//
-BOOL WINAPI ControlHandler ( DWORD dwCtrlType )
-{
- switch( dwCtrlType )
- {
- case CTRL_BREAK_EVENT: // use Ctrl+C or Ctrl+Break to simulate
- case CTRL_C_EVENT: // SERVICE_CONTROL_STOP in debug mode
- _tprintf(TEXT("Stopping %s.\n"), TEXT(SZSERVICEDISPLAYNAME));
- ServiceStop();
- return TRUE;
- break;
-
- }
- return FALSE;
-}
-
-//
-// FUNCTION: GetLastErrorText
-//
-// PURPOSE: copies error message text to string
-//
-// PARAMETERS:
-// lpszBuf - destination buffer
-// dwSize - size of buffer
-//
-// RETURN VALUE:
-// destination buffer
-//
-// COMMENTS:
-//
-LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize )
-{
- DWORD dwRet;
- LPTSTR lpszTemp = NULL;
-
- dwRet = FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_ARGUMENT_ARRAY,
- NULL,
- GetLastError(),
- LANG_NEUTRAL,
- (LPTSTR)&lpszTemp,
- 0,
- NULL );
-
- // supplied buffer is not long enough
- if ( !dwRet || ( (long)dwSize < (long)dwRet+14 ) )
- lpszBuf[0] = TEXT('\0');
- else
- {
- lpszTemp[lstrlen(lpszTemp)-2] = TEXT('\0'); //remove cr and newline character
- _stprintf( lpszBuf, TEXT("%s (0x%x)"), lpszTemp, GetLastError() );
- }
-
- if ( lpszTemp )
- LocalFree((HLOCAL) lpszTemp );
-
- return lpszBuf;
-}
-
-//-------------------------------------------------
-// this event is signalled when the
-// service should end
-//-------------------------------------------------
-HANDLE hServerStopEvent = NULL;
-
-
-//-------------------------------------------------
-// FUNCTION: ServiceStart
-//
-// PURPOSE: Actual code of the service
-// that does the work.
-//-------------------------------------------------
-void ServiceStart (DWORD dwArgc, LPTSTR *lpszArgv)
-{
- DWORD dwWait,dwTimeout=1000*60*1;
-
- if (!ReportStatusToSCMgr(
- SERVICE_START_PENDING, // service state
- NO_ERROR, // exit code
- 3000)) // wait hint
- goto cleanup;
-
- // create the event object. The control handler function signals
- // this event when it receives the "stop" control code.
- //
- hServerStopEvent = CreateEvent(
- NULL, // no security attributes
- TRUE, // manual reset event
- FALSE, // not-signalled
- NULL); // no name
-
- if ( hServerStopEvent == NULL) goto cleanup;
-
-
- // report the status to the service control manager.
- //
- if (!ReportStatusToSCMgr(
- SERVICE_START_PENDING, // service state
- NO_ERROR, // exit code
- 3000)) // wait hint
- goto cleanup;
-
-
-
- // report the status to the service control manager.
- //
- if (!ReportStatusToSCMgr(
- SERVICE_START_PENDING, // service state
- NO_ERROR, // exit code
- 3000)) // wait hint
- goto cleanup;
-
-
-
- // report the status to the service control manager.
- //
- if (!ReportStatusToSCMgr(
- SERVICE_RUNNING, // service state
- NO_ERROR, // exit code
- 0)) // wait hint
- goto cleanup;
-
- //
- // End of initialization
- // Service is now running, perform work until shutdown
- //
-
- while ( 1 )
- {
-
- dwWait = WaitForSingleObject( hServerStopEvent, dwTimeout);
- if(dwWait==WAIT_FAILED)
- {
- AddToMessageLog(TEXT("Error in WaitForSingleObject"));
- break;
- }
- else if(dwWait==WAIT_TIMEOUT)
- {
- CmdRestartService("MySql");
- }
- else
- { break; //shutdown
- }
-
- }
-
- cleanup:
-
- if (hServerStopEvent)
- CloseHandle(hServerStopEvent);
-
-}
-
-
-//-------------------------------------------------
-// FUNCTION: ServiceStop
-//
-// PURPOSE: Stops the service
-//-------------------------------------------------
-void ServiceStop()
-{
- if ( hServerStopEvent )
- SetEvent(hServerStopEvent);
-}
-//-the end ----------------------------------------
+/****************************************************************************
+ MySqlWatch - WinNT service program MySQL
+ - Re-start MySql server in case of failure
+*****************************************************************************/
+#include <windows.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <process.h>
+#include <tchar.h>
+
+
+// name of the executable
+#define SZAPPNAME "mysqlwatch"
+// internal name of the service
+#define SZSERVICENAME "MySqlWatch"
+// displayed name of the service
+#define SZSERVICEDISPLAYNAME "MySqlWatch"
+// list of service dependencies - "dep1\0dep2\0\0"
+#define SZDEPENDENCIES ""
+
+
+
+VOID ServiceStart(DWORD dwArgc, LPTSTR *lpszArgv);
+VOID ServiceStop(void);
+BOOL ReportStatusToSCMgr(DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint);
+void AddToMessageLog(LPTSTR lpszMsg);
+
+// internal variables
+SERVICE_STATUS ssStatus; // current status of the service
+SERVICE_STATUS_HANDLE sshStatusHandle;
+DWORD dwErr = 0;
+BOOL bDebug = FALSE;
+TCHAR szErr[256];
+
+// internal function prototypes
+void WINAPI service_ctrl(DWORD dwCtrlCode);
+void WINAPI service_main(DWORD dwArgc, LPTSTR *lpszArgv);
+void CmdInstallService(void);
+void CmdRemoveService(void);
+void CmdDebugService(int argc, char **argv);
+BOOL WINAPI ControlHandler ( DWORD dwCtrlType );
+LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize );
+
+//
+// FUNCTION: main
+//
+// PURPOSE: entrypoint for service
+//
+// PARAMETERS:
+// argc - number of command line arguments
+// argv - array of command line arguments
+//
+// RETURN VALUE:
+// none
+//
+// COMMENTS:
+// main() either performs the command line task, or
+// call StartServiceCtrlDispatcher to register the
+// main service thread. When the this call returns,
+// the service has stopped, so exit.
+//
+void main(int argc, char **argv)
+{
+ SERVICE_TABLE_ENTRY dispatchTable[] =
+ {
+ { TEXT(SZSERVICENAME), (LPSERVICE_MAIN_FUNCTION)service_main },
+ { NULL, NULL }
+ };
+
+ if ( (argc > 1) &&
+ ((*argv[1] == '-') || (*argv[1] == '/')) )
+ {
+ if ( stricmp( "install", argv[1]+1 ) == 0 )
+ {
+ CmdInstallService();
+ }
+ else if ( stricmp( "remove", argv[1]+1 ) == 0 )
+ {
+ CmdRemoveService();
+ }
+ else if ( stricmp( "debug", argv[1]+1 ) == 0 )
+ {
+ bDebug = TRUE;
+ CmdDebugService(argc, argv);
+ }
+ else
+ {
+ goto dispatch;
+ }
+ exit(0);
+ }
+
+ // if it doesn't match any of the above parameters
+ // the service control manager may be starting the service
+ // so we must call StartServiceCtrlDispatcher
+ dispatch:
+ // this is just to be friendly
+ printf( "%s -install to install the service\n", SZAPPNAME );
+ printf( "%s -remove to remove the service\n", SZAPPNAME );
+ printf( "%s -debug <params> to run as a console app for debugging\n", SZAPPNAME );
+ printf( "\nStartServiceCtrlDispatcher being called.\n" );
+ printf( "This may take several seconds. Please wait.\n" );
+
+ if (!StartServiceCtrlDispatcher(dispatchTable))
+ AddToMessageLog(TEXT("StartServiceCtrlDispatcher failed."));
+}
+
+
+
+//
+// FUNCTION: service_main
+//
+// PURPOSE: To perform actual initialization of the service
+//
+// PARAMETERS:
+// dwArgc - number of command line arguments
+// lpszArgv - array of command line arguments
+//
+// RETURN VALUE:
+// none
+//
+// COMMENTS:
+// This routine performs the service initialization and then calls
+// the user defined ServiceStart() routine to perform majority
+// of the work.
+//
+void WINAPI service_main(DWORD dwArgc, LPTSTR *lpszArgv)
+{
+
+ // register our service control handler:
+ //
+ sshStatusHandle = RegisterServiceCtrlHandler( TEXT(SZSERVICENAME), service_ctrl);
+
+ if (!sshStatusHandle)
+ goto cleanup;
+
+ // SERVICE_STATUS members that don't change in example
+ //
+ ssStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
+ ssStatus.dwServiceSpecificExitCode = 0;
+
+
+ // report the status to the service control manager.
+ //
+ if (!ReportStatusToSCMgr(
+ SERVICE_START_PENDING, // service state
+ NO_ERROR, // exit code
+ 3000)) // wait hint
+ goto cleanup;
+
+
+ ServiceStart( dwArgc, lpszArgv );
+
+cleanup:
+
+ // try to report the stopped status to the service control manager.
+ //
+ if (sshStatusHandle)
+ ReportStatusToSCMgr(
+ SERVICE_STOPPED,
+ dwErr,
+ 0);
+
+ return;
+}
+
+
+
+//
+// FUNCTION: service_ctrl
+//
+// PURPOSE: This function is called by the SCM whenever
+// ControlService() is called on this service.
+//
+// PARAMETERS:
+// dwCtrlCode - type of control requested
+//
+// RETURN VALUE:
+// none
+//
+// COMMENTS:
+//
+void WINAPI service_ctrl(DWORD dwCtrlCode)
+{
+ // Handle the requested control code.
+ //
+ switch(dwCtrlCode)
+ {
+ // Stop the service.
+ //
+ case SERVICE_CONTROL_STOP:
+ ssStatus.dwCurrentState = SERVICE_STOP_PENDING;
+ ServiceStop();
+ break;
+
+ // Update the service status.
+ //
+ case SERVICE_CONTROL_INTERROGATE:
+ break;
+
+ // invalid control code
+ //
+ default:
+ break;
+
+ }
+
+ ReportStatusToSCMgr(ssStatus.dwCurrentState, NO_ERROR, 0);
+
+}
+
+
+
+//
+// FUNCTION: ReportStatusToSCMgr()
+//
+// PURPOSE: Sets the current status of the service and
+// reports it to the Service Control Manager
+//
+// PARAMETERS:
+// dwCurrentState - the state of the service
+// dwWin32ExitCode - error code to report
+// dwWaitHint - worst case estimate to next checkpoint
+//
+// RETURN VALUE:
+// TRUE - success
+// FALSE - failure
+//
+// COMMENTS:
+//
+BOOL ReportStatusToSCMgr(DWORD dwCurrentState,
+ DWORD dwWin32ExitCode,
+ DWORD dwWaitHint)
+{
+ static DWORD dwCheckPoint = 1;
+ BOOL fResult = TRUE;
+
+
+ if ( !bDebug ) // when debugging we don't report to the SCM
+ {
+ if (dwCurrentState == SERVICE_START_PENDING)
+ ssStatus.dwControlsAccepted = 0;
+ else
+ ssStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
+
+ ssStatus.dwCurrentState = dwCurrentState;
+ ssStatus.dwWin32ExitCode = dwWin32ExitCode;
+ ssStatus.dwWaitHint = dwWaitHint;
+
+ if ( ( dwCurrentState == SERVICE_RUNNING ) ||
+ ( dwCurrentState == SERVICE_STOPPED ) )
+ ssStatus.dwCheckPoint = 0;
+ else
+ ssStatus.dwCheckPoint = dwCheckPoint++;
+
+
+ // Report the status of the service to the service control manager.
+ //
+ if (!(fResult = SetServiceStatus( sshStatusHandle, &ssStatus))) {
+ AddToMessageLog(TEXT("SetServiceStatus"));
+ }
+ }
+ return fResult;
+}
+
+
+
+//
+// FUNCTION: AddToMessageLog(LPTSTR lpszMsg)
+//
+// PURPOSE: Allows any thread to log an error message
+//
+// PARAMETERS:
+// lpszMsg - text for message
+//
+// RETURN VALUE:
+// none
+//
+// COMMENTS:
+//
+void AddToMessageLog(LPTSTR lpszMsg)
+{
+ TCHAR szMsg[256];
+ HANDLE hEventSource;
+ LPTSTR lpszStrings[2];
+
+
+ if ( !bDebug )
+ {
+ dwErr = GetLastError();
+
+ // Use event logging to log the error.
+ //
+ hEventSource = RegisterEventSource(NULL, TEXT(SZSERVICENAME));
+
+ _stprintf(szMsg, TEXT("%s error: %d"), TEXT(SZSERVICENAME), dwErr);
+ lpszStrings[0] = szMsg;
+ lpszStrings[1] = lpszMsg;
+
+ if (hEventSource != NULL) {
+ ReportEvent(hEventSource, // handle of event source
+ EVENTLOG_ERROR_TYPE, // event type
+ 0, // event category
+ 0, // event ID
+ NULL, // current user's SID
+ 2, // strings in lpszStrings
+ 0, // no bytes of raw data
+ lpszStrings, // array of error strings
+ NULL); // no raw data
+
+ DeregisterEventSource(hEventSource);
+ }
+ }
+}
+
+
+
+
+///////////////////////////////////////////////////////////////////
+//
+// The following code handles service installation and removal
+//
+
+
+//
+// FUNCTION: CmdInstallService()
+//
+// PURPOSE: Installs the service
+//
+// PARAMETERS:
+// none
+//
+// RETURN VALUE:
+// none
+//
+// COMMENTS:
+//
+void CmdInstallService()
+{
+ SC_HANDLE schService;
+ SC_HANDLE schSCManager;
+
+ TCHAR szPath[512];
+
+ if ( GetModuleFileName( NULL, szPath, 512 ) == 0 )
+ {
+ _tprintf(TEXT("Unable to install %s - %s\n"), TEXT(SZSERVICEDISPLAYNAME), GetLastErrorText(szErr, 256));
+ return;
+ }
+
+ schSCManager = OpenSCManager(
+ NULL, // machine (NULL == local)
+ NULL, // database (NULL == default)
+ SC_MANAGER_ALL_ACCESS // access required
+ );
+ if ( schSCManager )
+ {
+ schService = CreateService(
+ schSCManager, // SCManager database
+ TEXT(SZSERVICENAME), // name of service
+ TEXT(SZSERVICEDISPLAYNAME), // name to display
+ SERVICE_ALL_ACCESS, // desired access
+ SERVICE_WIN32_OWN_PROCESS, // service type
+ SERVICE_DEMAND_START, // start type
+ SERVICE_ERROR_NORMAL, // error control type
+ szPath, // service's binary
+ NULL, // no load ordering group
+ NULL, // no tag identifier
+ TEXT(SZDEPENDENCIES), // dependencies
+ NULL, // LocalSystem account
+ NULL); // no password
+
+ if ( schService )
+ {
+ _tprintf(TEXT("%s installed.\n"), TEXT(SZSERVICEDISPLAYNAME) );
+ CloseServiceHandle(schService);
+ }
+ else
+ {
+ _tprintf(TEXT("CreateService failed - %s\n"), GetLastErrorText(szErr, 256));
+ }
+
+ CloseServiceHandle(schSCManager);
+ }
+ else
+ _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
+}
+
+
+
+//
+// FUNCTION: CmdRemoveService()
+//
+// PURPOSE: Stops and removes the service
+//
+// PARAMETERS:
+// none
+//
+// RETURN VALUE:
+// none
+//
+// COMMENTS:
+//
+void CmdRemoveService()
+{
+ SC_HANDLE schService;
+ SC_HANDLE schSCManager;
+
+ schSCManager = OpenSCManager(
+ NULL, // machine (NULL == local)
+ NULL, // database (NULL == default)
+ SC_MANAGER_ALL_ACCESS // access required
+ );
+ if ( schSCManager )
+ {
+ schService = OpenService(schSCManager, TEXT(SZSERVICENAME), SERVICE_ALL_ACCESS);
+
+ if (schService)
+ {
+ // try to stop the service
+ if ( ControlService( schService, SERVICE_CONTROL_STOP, &ssStatus ) )
+ {
+ _tprintf(TEXT("Stopping %s."), TEXT(SZSERVICEDISPLAYNAME));
+ Sleep( 1000 );
+
+ while( QueryServiceStatus( schService, &ssStatus ) )
+ {
+ if ( ssStatus.dwCurrentState == SERVICE_STOP_PENDING )
+ {
+ _tprintf(TEXT("."));
+ Sleep( 1000 );
+ }
+ else
+ break;
+ }
+
+ if ( ssStatus.dwCurrentState == SERVICE_STOPPED )
+ _tprintf(TEXT("\n%s stopped.\n"), TEXT(SZSERVICEDISPLAYNAME) );
+ else
+ _tprintf(TEXT("\n%s failed to stop.\n"), TEXT(SZSERVICEDISPLAYNAME) );
+
+ }
+
+ // now remove the service
+ if( DeleteService(schService) )
+ _tprintf(TEXT("%s removed.\n"), TEXT(SZSERVICEDISPLAYNAME) );
+ else
+ _tprintf(TEXT("DeleteService failed - %s\n"), GetLastErrorText(szErr,256));
+
+
+ CloseServiceHandle(schService);
+ }
+ else
+ _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
+
+ CloseServiceHandle(schSCManager);
+ }
+ else
+ _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
+}
+
+
+
+
+
+//
+// FUNCTION: CmdRestartService()
+//
+// PURPOSE: Stops and removes the service
+//
+// PARAMETERS:
+// none
+//
+// RETURN VALUE:
+// none
+//
+// COMMENTS:
+//
+void CmdRestartService(char *szServiceName)
+{
+ SC_HANDLE schService;
+ SC_HANDLE schSCManager;
+
+ schSCManager = OpenSCManager(
+ NULL, // machine (NULL == local)
+ NULL, // database (NULL == default)
+ SC_MANAGER_ALL_ACCESS // access required
+ );
+ if ( schSCManager )
+ {
+ schService = OpenService(schSCManager, TEXT(szServiceName), SERVICE_ALL_ACCESS);
+ if (schService)
+ {
+ if(! ControlService( schService, SERVICE_CONTROL_INTERROGATE, &ssStatus ) )
+ //if(QueryServiceStatus( schService, &ssStatus )==0)
+ {
+ if(GetLastError()==ERROR_SERVICE_NOT_ACTIVE)
+ {
+
+ //AddToMessageLog(TEXT("Start service..."));
+ StartService( schService, 0,NULL);
+ }
+ else
+ { ;
+ //AddToMessageLog(TEXT("QueryService..."));
+ //AddToMessageLog(TEXT(GetLastErrorText(szErr,256)));
+ }
+ }
+ CloseServiceHandle(schService);
+ }
+ else
+ { _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
+ AddToMessageLog(TEXT("OpenService..."));
+ AddToMessageLog(TEXT(GetLastErrorText(szErr,256)));
+
+ }
+ CloseServiceHandle(schSCManager);
+ }
+ else
+ { _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
+ AddToMessageLog(TEXT("OpenSCMManager.."));
+
+ }
+}
+
+
+
+
+///////////////////////////////////////////////////////////////////
+//
+// The following code is for running the service as a console app
+//
+
+
+//
+// FUNCTION: CmdDebugService(int argc, char ** argv)
+//
+// PURPOSE: Runs the service as a console application
+//
+// PARAMETERS:
+// argc - number of command line arguments
+// argv - array of command line arguments
+//
+// RETURN VALUE:
+// none
+//
+// COMMENTS:
+//
+void CmdDebugService(int argc, char ** argv)
+{
+ DWORD dwArgc;
+ LPTSTR *lpszArgv;
+
+#ifdef UNICODE
+ lpszArgv = CommandLineToArgvW(GetCommandLineW(), &(dwArgc) );
+#else
+ dwArgc = (DWORD) argc;
+ lpszArgv = argv;
+#endif
+
+ _tprintf(TEXT("Debugging %s.\n"), TEXT(SZSERVICEDISPLAYNAME));
+
+ SetConsoleCtrlHandler( ControlHandler, TRUE );
+
+ ServiceStart( dwArgc, lpszArgv );
+}
+
+
+//
+// FUNCTION: ControlHandler ( DWORD dwCtrlType )
+//
+// PURPOSE: Handled console control events
+//
+// PARAMETERS:
+// dwCtrlType - type of control event
+//
+// RETURN VALUE:
+// True - handled
+// False - unhandled
+//
+// COMMENTS:
+//
+BOOL WINAPI ControlHandler ( DWORD dwCtrlType )
+{
+ switch( dwCtrlType )
+ {
+ case CTRL_BREAK_EVENT: // use Ctrl+C or Ctrl+Break to simulate
+ case CTRL_C_EVENT: // SERVICE_CONTROL_STOP in debug mode
+ _tprintf(TEXT("Stopping %s.\n"), TEXT(SZSERVICEDISPLAYNAME));
+ ServiceStop();
+ return TRUE;
+ break;
+
+ }
+ return FALSE;
+}
+
+//
+// FUNCTION: GetLastErrorText
+//
+// PURPOSE: copies error message text to string
+//
+// PARAMETERS:
+// lpszBuf - destination buffer
+// dwSize - size of buffer
+//
+// RETURN VALUE:
+// destination buffer
+//
+// COMMENTS:
+//
+LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize )
+{
+ DWORD dwRet;
+ LPTSTR lpszTemp = NULL;
+
+ dwRet = FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_ARGUMENT_ARRAY,
+ NULL,
+ GetLastError(),
+ LANG_NEUTRAL,
+ (LPTSTR)&lpszTemp,
+ 0,
+ NULL );
+
+ // supplied buffer is not long enough
+ if ( !dwRet || ( (long)dwSize < (long)dwRet+14 ) )
+ lpszBuf[0] = TEXT('\0');
+ else
+ {
+ lpszTemp[lstrlen(lpszTemp)-2] = TEXT('\0'); //remove cr and newline character
+ _stprintf( lpszBuf, TEXT("%s (0x%x)"), lpszTemp, GetLastError() );
+ }
+
+ if ( lpszTemp )
+ LocalFree((HLOCAL) lpszTemp );
+
+ return lpszBuf;
+}
+
+//-------------------------------------------------
+// this event is signalled when the
+// service should end
+//-------------------------------------------------
+HANDLE hServerStopEvent = NULL;
+
+
+//-------------------------------------------------
+// FUNCTION: ServiceStart
+//
+// PURPOSE: Actual code of the service
+// that does the work.
+//-------------------------------------------------
+void ServiceStart (DWORD dwArgc, LPTSTR *lpszArgv)
+{
+ DWORD dwWait,dwTimeout=1000*60*1;
+
+ if (!ReportStatusToSCMgr(
+ SERVICE_START_PENDING, // service state
+ NO_ERROR, // exit code
+ 3000)) // wait hint
+ goto cleanup;
+
+ // create the event object. The control handler function signals
+ // this event when it receives the "stop" control code.
+ //
+ hServerStopEvent = CreateEvent(
+ NULL, // no security attributes
+ TRUE, // manual reset event
+ FALSE, // not-signalled
+ NULL); // no name
+
+ if ( hServerStopEvent == NULL) goto cleanup;
+
+
+ // report the status to the service control manager.
+ //
+ if (!ReportStatusToSCMgr(
+ SERVICE_START_PENDING, // service state
+ NO_ERROR, // exit code
+ 3000)) // wait hint
+ goto cleanup;
+
+
+
+ // report the status to the service control manager.
+ //
+ if (!ReportStatusToSCMgr(
+ SERVICE_START_PENDING, // service state
+ NO_ERROR, // exit code
+ 3000)) // wait hint
+ goto cleanup;
+
+
+
+ // report the status to the service control manager.
+ //
+ if (!ReportStatusToSCMgr(
+ SERVICE_RUNNING, // service state
+ NO_ERROR, // exit code
+ 0)) // wait hint
+ goto cleanup;
+
+ //
+ // End of initialization
+ // Service is now running, perform work until shutdown
+ //
+
+ while ( 1 )
+ {
+
+ dwWait = WaitForSingleObject( hServerStopEvent, dwTimeout);
+ if(dwWait==WAIT_FAILED)
+ {
+ AddToMessageLog(TEXT("Error in WaitForSingleObject"));
+ break;
+ }
+ else if(dwWait==WAIT_TIMEOUT)
+ {
+ CmdRestartService("MySql");
+ }
+ else
+ { break; //shutdown
+ }
+
+ }
+
+ cleanup:
+
+ if (hServerStopEvent)
+ CloseHandle(hServerStopEvent);
+
+}
+
+
+//-------------------------------------------------
+// FUNCTION: ServiceStop
+//
+// PURPOSE: Stops the service
+//-------------------------------------------------
+void ServiceStop()
+{
+ if ( hServerStopEvent )
+ SetEvent(hServerStopEvent);
+}
+//-the end ----------------------------------------
diff --git a/VC++Files/thr_test/thr_test.c b/VC++Files/thr_test/thr_test.c
index d66b24bc0fc..3427eed8441 100644
--- a/VC++Files/thr_test/thr_test.c
+++ b/VC++Files/thr_test/thr_test.c
@@ -1,250 +1,250 @@
-/* Testing of thread creation to find memory allocation bug
-** This is coded to use as few extern functions as possible!
-**
-** The program must be compiled to be multithreaded !
-**
-** The problem is that when this program is run it will allocate more and more
-** memory, so there is a memory leak in the thread handling. The problem is how
-** to avoid is !
-**
-** It looks like the bug is that the std library doesn't free thread
-** specific variables if one uses a thread variable.
-** If one compiles this program with -DREMOVE_BUG
-** there is no memory leaks anymore!
-**
-** This program is tested with Microsofts VC++ 5.0, but BC5.2 is also
-** reported to have this bug.
-*/
-
-#include <windows.h>
-#include <process.h>
-#include <stdio.h>
-
-#define TEST_COUNT 100000
-
-/*****************************************************************************
-** The following is to emulate the posix thread interface
-*****************************************************************************/
-
-typedef HANDLE pthread_t;
-typedef struct thread_attr {
- DWORD dwStackSize ;
- DWORD dwCreatingFlag ;
- int priority ;
-} pthread_attr_t ;
-typedef struct { int dummy; } pthread_condattr_t;
-typedef struct {
- unsigned int msg;
- pthread_t thread;
- DWORD thread_id;
-} pthread_cond_t;
-typedef CRITICAL_SECTION pthread_mutex_t;
-
-#define pthread_mutex_init(A,B) InitializeCriticalSection(A)
-#define pthread_mutex_lock(A) (EnterCriticalSection(A),0)
-#define pthread_mutex_unlock(A) LeaveCriticalSection(A)
-#define pthread_mutex_destroy(A) DeleteCriticalSection(A)
-#define pthread_handler_decl(A,B) unsigned __cdecl A(void *B)
-typedef unsigned (__cdecl *pthread_handler)(void *);
-#define pthread_self() GetCurrentThread()
-
-static unsigned int thread_count;
-static pthread_cond_t COND_thread_count;
-static pthread_mutex_t LOCK_thread_count;
-
-pthread_mutex_t THR_LOCK_malloc,THR_LOCK_open,THR_LOCK_keycache,
- THR_LOCK_lock,THR_LOCK_isam;
-/*
-** We have tried to use '_beginthreadex' instead of '_beginthread' here
-** but in this case the program leaks about 512 characters for each
-** created thread !
-*/
-
-int pthread_create(pthread_t *thread_id, pthread_attr_t *attr,
- pthread_handler func, void *param)
-{
- HANDLE hThread;
-
- hThread=(HANDLE)_beginthread(func,
- attr->dwStackSize ? attr->dwStackSize :
- 65535,param);
- if ((long) hThread == -1L)
- {
- return(errno ? errno : -1);
- }
- *thread_id=hThread;
- return(0);
-}
-
-void pthread_exit(unsigned A)
-{
- _endthread();
-}
-
-/*
-** The following simple implementation of conds works as long as
-** only one thread uses pthread_cond_wait at a time.
-** This is coded very carefully to work with thr_lock.
-*/
-
-static unsigned int WIN32_WAIT_SIGNAL= 30000; /* Start message to use */
-
-int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr)
-{
- cond->msg=WIN32_WAIT_SIGNAL++;
- cond->thread=(pthread_t) pthread_self(); /* For global conds */
-//IRENA
- cond->thread_id=GetCurrentThreadId();
- return 0;
-}
-
-
-int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
-{
- MSG msg ;
- unsigned int msgCode=cond->msg;
-
- cond->thread=(pthread_t) pthread_self();
-//IRENA
-//??? cond->thread_id=GetCurrentThreadId();
- //VOID(ReleaseMutex(*mutex));
-
- LeaveCriticalSection(mutex);
- do
- {
- WaitMessage() ;
- if (!PeekMessage(&msg, NULL, 1, 65534,PM_REMOVE))
- {
- return errno=GetLastError() ;
- }
- } while (msg.message != msgCode) ;
- EnterCriticalSection(mutex);
- return 0 ;
-}
-
-
-int pthread_cond_signal(pthread_cond_t *cond)
-{
-
- if (!PostThreadMessage(cond->thread_id, cond->msg, 0,0))
- {
- return errno=GetLastError() ;
- }
- return 0 ;
-}
-
-int pthread_attr_init(pthread_attr_t *connect_att)
-{
- connect_att->dwStackSize = 0;
- connect_att->dwCreatingFlag = 0;
- connect_att->priority = 0;
- return 0;
-}
-
-int pthread_attr_setstacksize(pthread_attr_t *connect_att,DWORD stack)
-{
- connect_att->dwStackSize=stack;
- return 0;
-}
-
-int pthread_attr_setprio(pthread_attr_t *connect_att,int priority)
-{
- connect_att->priority=priority;
- return 0;
-}
-
-int pthread_attr_destroy(pthread_attr_t *connect_att)
-{
- return 0;
-}
-
-/* from my_pthread.c */
-
-#ifndef REMOVE_BUG
-
-__declspec(thread) int THR_KEY_my_errno;
-
-int _my_errno(void)
-{
- return THR_KEY_my_errno;
-}
-#endif
-
-/*****************************************************************************
-** The test program
-*****************************************************************************/
-
-pthread_handler_decl(test_thread,arg)
-{
- pthread_mutex_lock(&LOCK_thread_count);
- thread_count--;
- pthread_cond_signal(&COND_thread_count); /* Tell main we are ready */
- pthread_mutex_unlock(&LOCK_thread_count);
- pthread_exit(0);
- return 0;
-}
-
-int main(int argc,char **argv)
-{
- pthread_t tid;
- pthread_attr_t thr_attr;
- int i,error;
-
- if ((error=pthread_cond_init(&COND_thread_count,NULL)))
- {
- fprintf(stderr,"Got error: %d from pthread_cond_init (errno: %d)",
- error,errno);
- exit(1);
- }
- pthread_mutex_init(&LOCK_thread_count,NULL);
- if ((error=pthread_attr_init(&thr_attr)))
- {
- fprintf(stderr,"Got error: %d from pthread_attr_init (errno: %d)",
- error,errno);
- exit(1);
- }
- if ((error=pthread_attr_setstacksize(&thr_attr,65536L)))
- {
- fprintf(stderr,"Got error: %d from pthread_attr_setstacksize (errno: %d)",
- error,errno);
- exit(1);
- }
-
- printf("Init ok. Creating %d threads\n",TEST_COUNT);
- for (i=1 ; i <= TEST_COUNT ; i++)
- {
- int *param= &i;
- if ((i % 100) == 0)
- {
- printf("%8d",i);
- fflush(stdout);
- }
- if ((error=pthread_mutex_lock(&LOCK_thread_count)))
- {
- fprintf(stderr,"\nGot error: %d from pthread_mutex_lock (errno: %d)",
- error,errno);
- exit(1);
- }
- if ((error=pthread_create(&tid,&thr_attr,test_thread,(void*) param)))
- {
- fprintf(stderr,"\nGot error: %d from pthread_create (errno: %d)\n",
- error,errno);
- pthread_mutex_unlock(&LOCK_thread_count);
- exit(1);
- }
- thread_count++;
- pthread_mutex_unlock(&LOCK_thread_count);
-
- if ((error=pthread_mutex_lock(&LOCK_thread_count)))
- fprintf(stderr,"\nGot error: %d from pthread_mutex_lock\n",error);
- while (thread_count)
- {
- if ((error=pthread_cond_wait(&COND_thread_count,&LOCK_thread_count)))
- fprintf(stderr,"\nGot error: %d from pthread_cond_wait\n",error);
- }
- pthread_mutex_unlock(&LOCK_thread_count);
- }
- pthread_attr_destroy(&thr_attr);
- printf("\nend\n");
- return 0;
-}
+/* Testing of thread creation to find memory allocation bug
+** This is coded to use as few extern functions as possible!
+**
+** The program must be compiled to be multithreaded !
+**
+** The problem is that when this program is run it will allocate more and more
+** memory, so there is a memory leak in the thread handling. The problem is how
+** to avoid is !
+**
+** It looks like the bug is that the std library doesn't free thread
+** specific variables if one uses a thread variable.
+** If one compiles this program with -DREMOVE_BUG
+** there is no memory leaks anymore!
+**
+** This program is tested with Microsofts VC++ 5.0, but BC5.2 is also
+** reported to have this bug.
+*/
+
+#include <windows.h>
+#include <process.h>
+#include <stdio.h>
+
+#define TEST_COUNT 100000
+
+/*****************************************************************************
+** The following is to emulate the posix thread interface
+*****************************************************************************/
+
+typedef HANDLE pthread_t;
+typedef struct thread_attr {
+ DWORD dwStackSize ;
+ DWORD dwCreatingFlag ;
+ int priority ;
+} pthread_attr_t ;
+typedef struct { int dummy; } pthread_condattr_t;
+typedef struct {
+ unsigned int msg;
+ pthread_t thread;
+ DWORD thread_id;
+} pthread_cond_t;
+typedef CRITICAL_SECTION pthread_mutex_t;
+
+#define pthread_mutex_init(A,B) InitializeCriticalSection(A)
+#define pthread_mutex_lock(A) (EnterCriticalSection(A),0)
+#define pthread_mutex_unlock(A) LeaveCriticalSection(A)
+#define pthread_mutex_destroy(A) DeleteCriticalSection(A)
+#define pthread_handler_decl(A,B) unsigned __cdecl A(void *B)
+typedef unsigned (__cdecl *pthread_handler)(void *);
+#define pthread_self() GetCurrentThread()
+
+static unsigned int thread_count;
+static pthread_cond_t COND_thread_count;
+static pthread_mutex_t LOCK_thread_count;
+
+pthread_mutex_t THR_LOCK_malloc,THR_LOCK_open,THR_LOCK_keycache,
+ THR_LOCK_lock,THR_LOCK_isam;
+/*
+** We have tried to use '_beginthreadex' instead of '_beginthread' here
+** but in this case the program leaks about 512 characters for each
+** created thread !
+*/
+
+int pthread_create(pthread_t *thread_id, pthread_attr_t *attr,
+ pthread_handler func, void *param)
+{
+ HANDLE hThread;
+
+ hThread=(HANDLE)_beginthread(func,
+ attr->dwStackSize ? attr->dwStackSize :
+ 65535,param);
+ if ((long) hThread == -1L)
+ {
+ return(errno ? errno : -1);
+ }
+ *thread_id=hThread;
+ return(0);
+}
+
+void pthread_exit(unsigned A)
+{
+ _endthread();
+}
+
+/*
+** The following simple implementation of conds works as long as
+** only one thread uses pthread_cond_wait at a time.
+** This is coded very carefully to work with thr_lock.
+*/
+
+static unsigned int WIN32_WAIT_SIGNAL= 30000; /* Start message to use */
+
+int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr)
+{
+ cond->msg=WIN32_WAIT_SIGNAL++;
+ cond->thread=(pthread_t) pthread_self(); /* For global conds */
+//IRENA
+ cond->thread_id=GetCurrentThreadId();
+ return 0;
+}
+
+
+int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
+{
+ MSG msg ;
+ unsigned int msgCode=cond->msg;
+
+ cond->thread=(pthread_t) pthread_self();
+//IRENA
+//??? cond->thread_id=GetCurrentThreadId();
+ //VOID(ReleaseMutex(*mutex));
+
+ LeaveCriticalSection(mutex);
+ do
+ {
+ WaitMessage() ;
+ if (!PeekMessage(&msg, NULL, 1, 65534,PM_REMOVE))
+ {
+ return errno=GetLastError() ;
+ }
+ } while (msg.message != msgCode) ;
+ EnterCriticalSection(mutex);
+ return 0 ;
+}
+
+
+int pthread_cond_signal(pthread_cond_t *cond)
+{
+
+ if (!PostThreadMessage(cond->thread_id, cond->msg, 0,0))
+ {
+ return errno=GetLastError() ;
+ }
+ return 0 ;
+}
+
+int pthread_attr_init(pthread_attr_t *connect_att)
+{
+ connect_att->dwStackSize = 0;
+ connect_att->dwCreatingFlag = 0;
+ connect_att->priority = 0;
+ return 0;
+}
+
+int pthread_attr_setstacksize(pthread_attr_t *connect_att,DWORD stack)
+{
+ connect_att->dwStackSize=stack;
+ return 0;
+}
+
+int pthread_attr_setprio(pthread_attr_t *connect_att,int priority)
+{
+ connect_att->priority=priority;
+ return 0;
+}
+
+int pthread_attr_destroy(pthread_attr_t *connect_att)
+{
+ return 0;
+}
+
+/* from my_pthread.c */
+
+#ifndef REMOVE_BUG
+
+__declspec(thread) int THR_KEY_my_errno;
+
+int _my_errno(void)
+{
+ return THR_KEY_my_errno;
+}
+#endif
+
+/*****************************************************************************
+** The test program
+*****************************************************************************/
+
+pthread_handler_decl(test_thread,arg)
+{
+ pthread_mutex_lock(&LOCK_thread_count);
+ thread_count--;
+ pthread_cond_signal(&COND_thread_count); /* Tell main we are ready */
+ pthread_mutex_unlock(&LOCK_thread_count);
+ pthread_exit(0);
+ return 0;
+}
+
+int main(int argc,char **argv)
+{
+ pthread_t tid;
+ pthread_attr_t thr_attr;
+ int i,error;
+
+ if ((error=pthread_cond_init(&COND_thread_count,NULL)))
+ {
+ fprintf(stderr,"Got error: %d from pthread_cond_init (errno: %d)",
+ error,errno);
+ exit(1);
+ }
+ pthread_mutex_init(&LOCK_thread_count,NULL);
+ if ((error=pthread_attr_init(&thr_attr)))
+ {
+ fprintf(stderr,"Got error: %d from pthread_attr_init (errno: %d)",
+ error,errno);
+ exit(1);
+ }
+ if ((error=pthread_attr_setstacksize(&thr_attr,65536L)))
+ {
+ fprintf(stderr,"Got error: %d from pthread_attr_setstacksize (errno: %d)",
+ error,errno);
+ exit(1);
+ }
+
+ printf("Init ok. Creating %d threads\n",TEST_COUNT);
+ for (i=1 ; i <= TEST_COUNT ; i++)
+ {
+ int *param= &i;
+ if ((i % 100) == 0)
+ {
+ printf("%8d",i);
+ fflush(stdout);
+ }
+ if ((error=pthread_mutex_lock(&LOCK_thread_count)))
+ {
+ fprintf(stderr,"\nGot error: %d from pthread_mutex_lock (errno: %d)",
+ error,errno);
+ exit(1);
+ }
+ if ((error=pthread_create(&tid,&thr_attr,test_thread,(void*) param)))
+ {
+ fprintf(stderr,"\nGot error: %d from pthread_create (errno: %d)\n",
+ error,errno);
+ pthread_mutex_unlock(&LOCK_thread_count);
+ exit(1);
+ }
+ thread_count++;
+ pthread_mutex_unlock(&LOCK_thread_count);
+
+ if ((error=pthread_mutex_lock(&LOCK_thread_count)))
+ fprintf(stderr,"\nGot error: %d from pthread_mutex_lock\n",error);
+ while (thread_count)
+ {
+ if ((error=pthread_cond_wait(&COND_thread_count,&LOCK_thread_count)))
+ fprintf(stderr,"\nGot error: %d from pthread_cond_wait\n",error);
+ }
+ pthread_mutex_unlock(&LOCK_thread_count);
+ }
+ pthread_attr_destroy(&thr_attr);
+ printf("\nend\n");
+ return 0;
+}