Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7z465/CPP/Build.mak
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7z465/CPP/Build.mak (revision 38209)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7z465/CPP/Build.mak (revision 38209)
@@ -0,0 +1,73 @@
+MY_STATIC_LINK=1
+
+!IFDEF CPU
+!IFNDEF NO_BUFFEROVERFLOWU
+LIBS = $(LIBS) bufferoverflowU.lib
+!ENDIF
+!ENDIF
+
+
+!IFNDEF O
+!IFDEF CPU
+O=$(CPU)
+!ELSE
+O=O
+!ENDIF
+!ENDIF
+
+!IF "$(CPU)" != "IA64"
+!IF "$(CPU)" != "AMD64"
+MY_ML = ml
+!ELSE
+MY_ML = ml64
+!ENDIF
+!ENDIF
+
+COMPL_ASM = $(MY_ML) -c -Fo$O/ $**
+
+CFLAGS = $(CFLAGS) -nologo -c -Fo$O/ -WX -EHsc -Gr -Gy -GR- -D_CRT_SECURE_NO_WARNINGS
+
+!IFDEF MY_STATIC_LINK
+!IFNDEF MY_SINGLE_THREAD
+CFLAGS = $(CFLAGS) -MT
+!ENDIF
+!ELSE
+CFLAGS = $(CFLAGS) -MD
+!ENDIF
+
+!IFDEF NEW_COMPILER
+CFLAGS = $(CFLAGS) -W4 -GS- -Zc:forScope
+!ELSE
+CFLAGS = $(CFLAGS) -W3
+!ENDIF
+
+CFLAGS_O1 = $(CFLAGS) -O1 -Os
+CFLAGS_O2 = $(CFLAGS) -O1 -Os
+
+LFLAGS = $(LFLAGS) -nologo -OPT:REF -OPT:ICF
+
+!IFDEF DEF_FILE
+LFLAGS = $(LFLAGS) -DLL -DEF:$(DEF_FILE)
+!ENDIF
+
+PROGPATH = $O\$(PROG)
+
+COMPL_O1   = $(CPP) $(CFLAGS_O1) $**
+COMPL_O2   = $(CPP) $(CFLAGS_O2) $**
+COMPL_PCH  = $(CPP) $(CFLAGS_O1) -Yc"StdAfx.h" -Fp$O/a.pch $**
+COMPL      = $(CPP) $(CFLAGS_O1) -Yu"StdAfx.h" -Fp$O/a.pch $**
+
+all: $(PROGPATH)
+
+clean:
+	-del /Q $(PROGPATH) $O\*.exe $O\*.dll $O\*.obj $O\*.lib $O\*.exp $O\*.res $O\*.pch
+
+$O:
+	if not exist "$O" mkdir "$O"
+
+$(PROGPATH): $O $(OBJS) $(DEF_FILE)
+	link $(LFLAGS) -out:$(PROGPATH) $(OBJS) $(LIBS)
+$O\resource.res: $(*B).rc
+	rc -fo$@ $**
+$O\StdAfx.obj: $(*B).cpp
+	$(COMPL_PCH)
Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7za/7za.h
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7za/7za.h (revision 39000)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7za/7za.h (revision 39000)
@@ -0,0 +1,36 @@
+#ifndef NETWORKUPDATER_7ZA_H
+#define NETWORKUPDATER_7ZA_H
+
+#ifdef NU_EXTRACTER_7ZIP_ALONE
+NU_Error NUI_Extract(NUI_ThreadData* object) {
+    NU_Error error = NU_ERROR_SYSTEM;
+    TCHAR* extracter_path = NULL;
+    DWORD command_result = 0;
+    
+    extracter_path = NUI_PathAppendDup(object->temp_dir_path, _T("7za.exe"));
+
+    error = NUI_UnCab(object, NUI_DATA_7ZA_EXE, NUI_DATA_7ZA_EXE_SIZE);
+    if (error) {
+        goto clean_up;
+    }
+    
+    command_result = NUI_ExecuteCommand(
+        extracter_path,
+        _T("7za.exe x -y -oextracted ArchiveFile"),
+        object->temp_dir_path
+        );
+    if (command_result) {
+        error = NU_ERROR_INVALID_ARCHIVE;
+        goto clean_up;
+    }
+
+    error = NU_NO_ERROR;
+    
+clean_up:
+    free(extracter_path);
+    return error;
+}
+
+#endif /* NU_EXTRACTER_7ZIP_ALONE */
+#endif /* NETWORKUPDATER_7ZA_H */
+
Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7za/Makefile
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7za/Makefile (revision 38367)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7za/Makefile (revision 38367)
@@ -0,0 +1,2 @@
+7za.exe.inl: 7za.exe
+	ruby ../../carray.rb 7ZA_EXE 7za.exe 7za.exe.inl
Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/zlib-1.2.5/contrib/minizip/Makefile
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/zlib-1.2.5/contrib/minizip/Makefile (revision 38203)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/zlib-1.2.5/contrib/minizip/Makefile (revision 38203)
@@ -0,0 +1,25 @@
+CC=gcc
+CFLAGS=-Os -I../..
+
+UNZ_OBJS = miniunz.o unzip.o ioapi.o iowin32.o ../../libz.a
+ZIP_OBJS = minizip.o zip.o   ioapi.o iowin32.o ../../libz.a
+
+.c.o:
+	$(CC) -c $(CFLAGS) $*.c
+
+all: miniunz minizip
+
+miniunz:  $(UNZ_OBJS)
+	$(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) -s
+
+minizip:  $(ZIP_OBJS)
+	$(CC) $(CFLAGS) -o $@ $(ZIP_OBJS)
+
+test:	miniunz minizip
+	./minizip test readme.txt
+	./miniunz -l test.zip
+	mv readme.txt readme.old
+	./miniunz test.zip
+
+clean:
+	/bin/rm -f *.o *~ minizip miniunz
Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/zlib-1.2.5/win32/Makefile.gcc
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/zlib-1.2.5/win32/Makefile.gcc (revision 38198)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/zlib-1.2.5/win32/Makefile.gcc (revision 38198)
@@ -0,0 +1,164 @@
+# Makefile for zlib, derived from Makefile.dj2.
+# Modified for mingw32 by C. Spieler, 6/16/98.
+# Updated for zlib 1.2.x by Christian Spieler and Cosmin Truta, Mar-2003.
+# Last updated: 1-Aug-2003.
+# Tested under Cygwin and MinGW.
+
+# Copyright (C) 1995-2003 Jean-loup Gailly.
+# For conditions of distribution and use, see copyright notice in zlib.h
+
+# To compile, or to compile and test, type:
+#
+#   make -fmakefile.gcc;  make test testdll -fmakefile.gcc
+#
+# To use the asm code, type:
+#   cp contrib/asm?86/match.S ./match.S
+#   make LOC=-DASMV OBJA=match.o -fmakefile.gcc
+#
+# To install libz.a, zconf.h and zlib.h in the system directories, type:
+#
+#   make install -fmakefile.gcc
+
+# Note:
+# If the platform is *not* MinGW (e.g. it is Cygwin or UWIN),
+# the DLL name should be changed from "zlib1.dll".
+
+STATICLIB = libz.a
+SHAREDLIB = zlib1.dll
+IMPLIB    = libzdll.a
+
+#
+# Set to 1 if shared object needs to be installed
+#
+SHARED_MODE=0
+
+#LOC = -DASMV
+#LOC = -DDEBUG -g
+
+PREFIX =
+CC = $(PREFIX)gcc
+CFLAGS = $(LOC) -Os -Wall
+EXTRA_CFLAGS = -DNO_VIZ
+
+AS = $(CC)
+ASFLAGS = $(LOC) -Wall
+
+LD = $(CC)
+LDFLAGS = $(LOC)
+
+AR = $(PREFIX)ar
+ARFLAGS = rcs
+
+RC = $(PREFIX)windres
+RCFLAGS = --define GCC_WINDRES
+
+STRIP = $(PREFIX)strip
+
+CP = cp -fp
+# If GNU install is available, replace $(CP) with install.
+INSTALL = $(CP)
+RM = rm -f
+
+prefix = /usr/local
+exec_prefix = $(prefix)
+
+OBJS = adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o \
+       gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o
+OBJA =
+
+all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) example.exe minigzip.exe example_d.exe minigzip_d.exe
+
+test: example.exe minigzip.exe
+	./example
+	echo hello world | ./minigzip | ./minigzip -d
+
+testdll: example_d.exe minigzip_d.exe
+	./example_d
+	echo hello world | ./minigzip_d | ./minigzip_d -d
+
+.c.o:
+	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
+
+.S.o:
+	$(AS) $(ASFLAGS) -c -o $@ $<
+
+$(STATICLIB): $(OBJS) $(OBJA)
+	$(AR) $(ARFLAGS) $@ $(OBJS) $(OBJA)
+
+$(IMPLIB): $(SHAREDLIB)
+
+$(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
+	$(CC) -shared -Wl,--out-implib,$(IMPLIB) $(LDFLAGS) \
+	-o $@ win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
+	$(STRIP) $@
+
+example.exe: example.o $(STATICLIB)
+	$(LD) $(LDFLAGS) -o $@ example.o $(STATICLIB)
+	$(STRIP) $@
+
+minigzip.exe: minigzip.o $(STATICLIB)
+	$(LD) $(LDFLAGS) -o $@ minigzip.o $(STATICLIB)
+	$(STRIP) $@
+
+example_d.exe: example.o $(IMPLIB)
+	$(LD) $(LDFLAGS) -o $@ example.o $(IMPLIB)
+	$(STRIP) $@
+
+minigzip_d.exe: minigzip.o $(IMPLIB)
+	$(LD) $(LDFLAGS) -o $@ minigzip.o $(IMPLIB)
+	$(STRIP) $@
+
+zlibrc.o: win32/zlib1.rc
+	$(RC) $(RCFLAGS) -o $@ win32/zlib1.rc
+
+
+# BINARY_PATH, INCLUDE_PATH and LIBRARY_PATH must be set.
+
+.PHONY: install uninstall clean
+
+install: zlib.h zconf.h $(STATICLIB) $(IMPLIB)
+	-@mkdir -p $(INCLUDE_PATH)
+	-@mkdir -p $(LIBRARY_PATH)
+	-if [ "$(SHARED_MODE)" = "1" ]; then \
+		mkdir -p $(BINARY_PATH); \
+		$(INSTALL) $(SHAREDLIB) $(BINARY_PATH); \
+		$(INSTALL) $(IMPLIB) $(LIBRARY_PATH); \
+	fi
+	-$(INSTALL) zlib.h $(INCLUDE_PATH)
+	-$(INSTALL) zconf.h $(INCLUDE_PATH)
+	-$(INSTALL) $(STATICLIB) $(LIBRARY_PATH)
+
+uninstall:
+	-if [ "$(SHARED_MODE)" = "1" ]; then \
+		$(RM) $(BINARY_PATH)/$(SHAREDLIB); \
+		$(RM) $(LIBRARY_PATH)/$(IMPLIB); \
+	fi
+	-$(RM) $(INCLUDE_PATH)/zlib.h
+	-$(RM) $(INCLUDE_PATH)/zconf.h
+	-$(RM) $(LIBRARY_PATH)/$(STATICLIB)
+
+clean:
+	-$(RM) $(STATICLIB)
+	-$(RM) $(SHAREDLIB)
+	-$(RM) $(IMPLIB)
+	-$(RM) *.o
+	-$(RM) *.exe
+	-$(RM) foo.gz
+
+adler32.o: zlib.h zconf.h
+compress.o: zlib.h zconf.h
+crc32.o: crc32.h zlib.h zconf.h
+deflate.o: deflate.h zutil.h zlib.h zconf.h
+example.o: zlib.h zconf.h
+gzclose.o: zlib.h zconf.h gzguts.h
+gzlib.o: zlib.h zconf.h gzguts.h
+gzread.o: zlib.h zconf.h gzguts.h
+gzwrite.o: zlib.h zconf.h gzguts.h
+inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
+inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
+infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
+inftrees.o: zutil.h zlib.h zconf.h inftrees.h
+minigzip.o: zlib.h zconf.h
+trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
+uncompr.o: zlib.h zconf.h
+zutil.o: zutil.h zlib.h zconf.h
Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/modify.txt
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/modify.txt (revision 38199)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/modify.txt (revision 38199)
@@ -0,0 +1,9 @@
+*7zip
+CPP/Build.mak:
+MY_STATIC_LINK=yes
+-O2 -> -O1
+add -Os
+
+*minizip
+win32/Makefile.gcc: -O3 -> -Os
+contrib/minizip/Makefile: -O -> -Os, add -s
Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7zxa/7zxa.h
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7zxa/7zxa.h (revision 38391)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7zxa/7zxa.h (revision 38391)
@@ -0,0 +1,67 @@
+#ifndef NETWORKUPDATER_7ZXA_H
+#define NETWORKUPDATER_7ZXA_H
+
+#ifdef NU_EXTRACTER_7ZIP
+
+NU_Error NUI_Extract(NUI_ThreadData* object) {
+    NU_Error error = NU_ERROR_SYSTEM;
+    FILE* f = NULL;
+    TCHAR* seven_zip_exe_path = NULL;
+    TCHAR* seven_zip_dll_path = NULL;
+
+    seven_zip_exe_path   = NUI_PathAppendDup(object->temp_dir_path, _T("Client7z.exe"));
+    seven_zip_dll_path = NUI_PathAppendDup(object->temp_dir_path, _T("7z.dll"));
+
+    if (!seven_zip_exe_path || !seven_zip_dll_path) {
+        error = NU_ERROR_BAD_ALLOC;
+        goto clean_up;
+    }
+
+    _tfopen_s(&f, seven_zip_exe_path, _T("wb"));
+    if (!f) {
+        goto clean_up;
+    }
+    fwrite(NUI_DATA_CLIENT7Z_EXE, NUI_DATA_CLIENT7Z_EXE_SIZE, 1, f);
+    fclose(f);
+
+    _tfopen_s(&f, seven_zip_dll_path, _T("wb"));
+    if (!f) {
+        goto clean_up;
+    }
+    fwrite(NUI_DATA_7ZXA_DLL, NUI_DATA_7ZXA_DLL_SIZE, 1, f);
+    fclose(f);
+
+	if (!CreateDirectory(object->extracted_dir_path, NULL)) {
+		goto clean_up;
+	}
+
+    {
+        DWORD exit_code = 0;
+        STARTUPINFO si;
+        PROCESS_INFORMATION pi;
+        TCHAR command[] = _T("Client7z.exe x ../ArchiveFile");
+        memset(&si, 0, sizeof(si));
+        si.cb = sizeof(si);
+        memset(&pi, 0, sizeof(pi));
+        if (CreateProcess(seven_zip_exe_path, command, 
+                NULL, NULL, FALSE, 0, NULL, 
+				object->extracted_dir_path, &si, &pi)) {
+
+            WaitForSingleObject(pi.hProcess, INFINITE);
+            if (GetExitCodeProcess(pi.hProcess, &exit_code)) {
+                if (exit_code == EXIT_SUCCESS) {
+                    error = NU_NO_ERROR;
+                }
+            }
+        }
+		CloseHandle(pi.hThread);
+		CloseHandle(pi.hProcess);
+    }
+
+clean_up:
+    return error;
+}
+
+#endif /* NU_EXTRACTER_7ZIP */
+#endif /* NETWORKUPDATER_7ZXA_H */
+
Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7zxa/Makefile
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7zxa/Makefile (revision 38367)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/7zxa/Makefile (revision 38367)
@@ -0,0 +1,4 @@
+all: Client7z.exe 7zxa.dll
+	ruby ../../carray.rb CLIENT7Z_EXE Client7z.exe Client7z.exe.inl
+	ruby ../../carray.rb 7ZXA_DLL 7zxa.dll 7zxa.dll.inl
+
Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/miniunz/miniunz.h
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/miniunz/miniunz.h (revision 38391)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/miniunz/miniunz.h (revision 38391)
@@ -0,0 +1,59 @@
+#ifndef NETWORKUPDATER_MINIUNZ_H
+#define NETWORKUPDATER_MINIUNZ_H
+
+#ifdef NU_EXTRACTER_ZIP
+
+NU_Error NUI_Extract(NUI_ThreadData* object) {
+    NU_Error error = NU_ERROR_SYSTEM;
+    FILE* f = NULL;
+    TCHAR* miniunz_exe_path = NULL;
+
+    miniunz_exe_path   = NUI_PathAppendDup(object->temp_dir_path, _T("7z.exe"));
+
+    if (!miniunz_exe_path) {
+        error = NU_ERROR_BAD_ALLOC;
+        goto clean_up;
+    }
+
+    _tfopen_s(&f, miniunz_exe_path, _T("wb"));
+    if (!f) {
+        goto clean_up;
+    }
+    fwrite(NUI_MINIUNZ_EXE_DATA, NUI_MINIUNZ_EXE_DATA_SIZE, 1, f);
+    fclose(f);
+
+	if (!CreateDirectory(object->extracted_dir_path, NULL) {
+		goto clean_up;
+	}
+
+    {
+        DWORD exit_code = 0;
+        STARTUPINFO si;
+        PROCESS_INFORMATION pi;
+        TCHAR command[] = _T("miniunz.exe x ../ArchiveFile");
+        memset(&si, 0, sizeof(si));
+        si.cb = sizeof(si);
+        memset(&pi, 0, sizeof(pi));
+        if (CreateProcess(miniunz_exe_path, command, 
+                NULL, NULL, FALSE, 0, NULL, 
+				object->extracted_dir_path, &si, &pi)) {
+
+            WaitForSingleObject(pi.hProcess, INFINITE);
+            if (GetExitCodeProcess(pi.hProcess, &exit_code)) {
+                if (exit_code == EXIT_SUCCESS) {
+                    error = NU_NO_ERROR;
+                }
+            }
+        }
+		CloseHandle(pi.hThread);
+		CloseHandle(pi.hProcess);
+    }
+
+clean_up:
+    return error;
+}
+
+#endif /* NU_EXTRACTER_ZIP */
+#endif /* NETWORKUPDATER_7ZXA_H */
+
+
Index: /lang/c/NetworkUpdater/trunk/Build/msw/extracter/miniunz/Makefile
===================================================================
--- /lang/c/NetworkUpdater/trunk/Build/msw/extracter/miniunz/Makefile (revision 38367)
+++ /lang/c/NetworkUpdater/trunk/Build/msw/extracter/miniunz/Makefile (revision 38367)
@@ -0,0 +1,3 @@
+miniunz.exe.inl: miniunz.exe
+	ruby ../../carray.rb MINIUNZ_EXE $< $@
+
