iis: Moves installer to InstallerHelper

To organize the folder the Installer application was
renamed to installer helper. It is not the real
installer, it is just an helper which is executed
during the installation phase.
This commit is contained in:
Felipe \\\"Zimmerle\\\" Costa 2013-11-06 15:08:47 -06:00 committed by Felipe Zimmerle
parent 8c3b8d81b6
commit 6adf25667d
11 changed files with 6993 additions and 6978 deletions

View File

@ -1,96 +1,100 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32"> <ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectGuid>{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}</ProjectGuid> <ProjectGuid>{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>Installer</RootNamespace> <RootNamespace>Installer</RootNamespace>
</PropertyGroup> <ProjectName>InstallerHelper</ProjectName>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<ConfigurationType>Application</ConfigurationType> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries> <ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet> <UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup> <CharacterSet>Unicode</CharacterSet>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PlatformToolset>v120</PlatformToolset>
<ConfigurationType>Application</ConfigurationType> </PropertyGroup>
<UseDebugLibraries>false</UseDebugLibraries> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<WholeProgramOptimization>true</WholeProgramOptimization> <ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet> <UseDebugLibraries>false</UseDebugLibraries>
<UseOfMfc>Static</UseOfMfc> <WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup> <CharacterSet>Unicode</CharacterSet>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <UseOfMfc>Static</UseOfMfc>
<ImportGroup Label="ExtensionSettings"> <PlatformToolset>v120</PlatformToolset>
</ImportGroup> </PropertyGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<LinkIncremental>true</LinkIncremental> </ImportGroup>
</PropertyGroup> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental> <LinkIncremental>true</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile> <LinkIncremental>false</LinkIncremental>
<PrecompiledHeader>Use</PrecompiledHeader> </PropertyGroup>
<WarningLevel>Level3</WarningLevel> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Optimization>Disabled</Optimization> <ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PrecompiledHeader>Use</PrecompiledHeader>
</ClCompile> <WarningLevel>Level3</WarningLevel>
<Link> <Optimization>Disabled</Optimization>
<SubSystem>Console</SubSystem> <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<GenerateDebugInformation>true</GenerateDebugInformation> <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
</Link> </ClCompile>
</ItemDefinitionGroup> <Link>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <SubSystem>Console</SubSystem>
<ClCompile> <GenerateDebugInformation>true</GenerateDebugInformation>
<WarningLevel>Level3</WarningLevel> </Link>
<PrecompiledHeader>Use</PrecompiledHeader> </ItemDefinitionGroup>
<Optimization>MaxSpeed</Optimization> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<FunctionLevelLinking>true</FunctionLevelLinking> <ClCompile>
<IntrinsicFunctions>true</IntrinsicFunctions> <WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PrecompiledHeader>Use</PrecompiledHeader>
</ClCompile> <Optimization>MaxSpeed</Optimization>
<Link> <FunctionLevelLinking>true</FunctionLevelLinking>
<SubSystem>Console</SubSystem> <IntrinsicFunctions>true</IntrinsicFunctions>
<GenerateDebugInformation>true</GenerateDebugInformation> <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnableCOMDATFolding>true</EnableCOMDATFolding> </ClCompile>
<OptimizeReferences>true</OptimizeReferences> <Link>
<AdditionalDependencies>ole32.lib;oleaut32.lib;advapi32.lib</AdditionalDependencies> <SubSystem>Console</SubSystem>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> <EnableCOMDATFolding>true</EnableCOMDATFolding>
</ItemDefinitionGroup> <OptimizeReferences>true</OptimizeReferences>
<ItemGroup> <AdditionalDependencies>ole32.lib;oleaut32.lib;advapi32.lib</AdditionalDependencies>
<None Include="ReadMe.txt" /> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</ItemGroup> </Link>
<ItemGroup> </ItemDefinitionGroup>
<ClInclude Include="stdafx.h" /> <ItemGroup>
<ClInclude Include="targetver.h" /> <None Include="ReadMe.txt" />
<ClInclude Include="XUnzip.h" /> </ItemGroup>
</ItemGroup> <ItemGroup>
<ItemGroup> <ClInclude Include="stdafx.h" />
<ClCompile Include="Installer.cpp" /> <ClInclude Include="targetver.h" />
<ClCompile Include="stdafx.cpp"> <ClInclude Include="XUnzip.h" />
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> </ItemGroup>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> <ItemGroup>
</ClCompile> <ClCompile Include="Installer.cpp" />
<ClCompile Include="XUnzip.cpp" /> <ClCompile Include="stdafx.cpp">
</ItemGroup> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<ImportGroup Label="ExtensionTargets"> </ClCompile>
</ImportGroup> <ClCompile Include="XUnzip.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project> </Project>

View File

@ -1,42 +1,42 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup> <ItemGroup>
<Filter Include="Source Files"> <Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter> </Filter>
<Filter Include="Header Files"> <Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter> </Filter>
<Filter Include="Resource Files"> <Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter> </Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="ReadMe.txt" /> <None Include="ReadMe.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="stdafx.h"> <ClInclude Include="stdafx.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="targetver.h"> <ClInclude Include="targetver.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="XUnzip.h"> <ClInclude Include="XUnzip.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Installer.cpp"> <ClCompile Include="Installer.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="XUnzip.cpp"> <ClCompile Include="XUnzip.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,40 +1,40 @@
======================================================================== ========================================================================
CONSOLE APPLICATION : Installer Project Overview CONSOLE APPLICATION : Installer Project Overview
======================================================================== ========================================================================
AppWizard has created this Installer application for you. AppWizard has created this Installer application for you.
This file contains a summary of what you will find in each of the files that This file contains a summary of what you will find in each of the files that
make up your Installer application. make up your Installer application.
Installer.vcxproj Installer.vcxproj
This is the main project file for VC++ projects generated using an Application Wizard. This is the main project file for VC++ projects generated using an Application Wizard.
It contains information about the version of Visual C++ that generated the file, and It contains information about the version of Visual C++ that generated the file, and
information about the platforms, configurations, and project features selected with the information about the platforms, configurations, and project features selected with the
Application Wizard. Application Wizard.
Installer.vcxproj.filters Installer.vcxproj.filters
This is the filters file for VC++ projects generated using an Application Wizard. This is the filters file for VC++ projects generated using an Application Wizard.
It contains information about the association between the files in your project It contains information about the association between the files in your project
and the filters. This association is used in the IDE to show grouping of files with and the filters. This association is used in the IDE to show grouping of files with
similar extensions under a specific node (for e.g. ".cpp" files are associated with the similar extensions under a specific node (for e.g. ".cpp" files are associated with the
"Source Files" filter). "Source Files" filter).
Installer.cpp Installer.cpp
This is the main application source file. This is the main application source file.
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
Other standard files: Other standard files:
StdAfx.h, StdAfx.cpp StdAfx.h, StdAfx.cpp
These files are used to build a precompiled header (PCH) file These files are used to build a precompiled header (PCH) file
named Installer.pch and a precompiled types file named StdAfx.obj. named Installer.pch and a precompiled types file named StdAfx.obj.
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
Other notes: Other notes:
AppWizard uses "TODO:" comments to indicate parts of the source code you AppWizard uses "TODO:" comments to indicate parts of the source code you
should add to or customize. should add to or customize.
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

View File

@ -1,382 +1,382 @@
// XUnzip.h Version 1.3 // XUnzip.h Version 1.3
// //
// Authors: Mark Adler et al. (see below) // Authors: Mark Adler et al. (see below)
// //
// Modified by: Lucian Wischik // Modified by: Lucian Wischik
// lu@wischik.com // lu@wischik.com
// //
// Version 1.0 - Turned C files into just a single CPP file // Version 1.0 - Turned C files into just a single CPP file
// - Made them compile cleanly as C++ files // - Made them compile cleanly as C++ files
// - Gave them simpler APIs // - Gave them simpler APIs
// - Added the ability to zip/unzip directly in memory without // - Added the ability to zip/unzip directly in memory without
// any intermediate files // any intermediate files
// //
// Modified by: Hans Dietrich // Modified by: Hans Dietrich
// hdietrich@gmail.com // hdietrich@gmail.com
// //
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// Lucian Wischik's comments: // Lucian Wischik's comments:
// -------------------------- // --------------------------
// THIS FILE is almost entirely based upon code by info-zip. // THIS FILE is almost entirely based upon code by info-zip.
// It has been modified by Lucian Wischik. // It has been modified by Lucian Wischik.
// The original code may be found at http://www.info-zip.org // The original code may be found at http://www.info-zip.org
// The original copyright text follows. // The original copyright text follows.
// //
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// Original authors' comments: // Original authors' comments:
// --------------------------- // ---------------------------
// This is version 2002-Feb-16 of the Info-ZIP copyright and license. The // This is version 2002-Feb-16 of the Info-ZIP copyright and license. The
// definitive version of this document should be available at // definitive version of this document should be available at
// ftp://ftp.info-zip.org/pub/infozip/license.html indefinitely. // ftp://ftp.info-zip.org/pub/infozip/license.html indefinitely.
// //
// Copyright (c) 1990-2002 Info-ZIP. All rights reserved. // Copyright (c) 1990-2002 Info-ZIP. All rights reserved.
// //
// For the purposes of this copyright and license, "Info-ZIP" is defined as // For the purposes of this copyright and license, "Info-ZIP" is defined as
// the following set of individuals: // the following set of individuals:
// //
// Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois, // Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois,
// Jean-loup Gailly, Hunter Goatley, Ian Gorman, Chris Herborth, Dirk Haase, // Jean-loup Gailly, Hunter Goatley, Ian Gorman, Chris Herborth, Dirk Haase,
// Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz, // Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz,
// David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko, // David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko,
// Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs, // Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs,
// Kai Uwe Rommel, Steve Salisbury, Dave Smith, Christian Spieler, // Kai Uwe Rommel, Steve Salisbury, Dave Smith, Christian Spieler,
// Antoine Verheijen, Paul von Behren, Rich Wales, Mike White // Antoine Verheijen, Paul von Behren, Rich Wales, Mike White
// //
// This software is provided "as is", without warranty of any kind, express // This software is provided "as is", without warranty of any kind, express
// or implied. In no event shall Info-ZIP or its contributors be held liable // or implied. In no event shall Info-ZIP or its contributors be held liable
// for any direct, indirect, incidental, special or consequential damages // for any direct, indirect, incidental, special or consequential damages
// arising out of the use of or inability to use this software. // arising out of the use of or inability to use this software.
// //
// Permission is granted to anyone to use this software for any purpose, // Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it // including commercial applications, and to alter it and redistribute it
// freely, subject to the following restrictions: // freely, subject to the following restrictions:
// //
// 1. Redistributions of source code must retain the above copyright notice, // 1. Redistributions of source code must retain the above copyright notice,
// definition, disclaimer, and this list of conditions. // definition, disclaimer, and this list of conditions.
// //
// 2. Redistributions in binary form (compiled executables) must reproduce // 2. Redistributions in binary form (compiled executables) must reproduce
// the above copyright notice, definition, disclaimer, and this list of // the above copyright notice, definition, disclaimer, and this list of
// conditions in documentation and/or other materials provided with the // conditions in documentation and/or other materials provided with the
// distribution. The sole exception to this condition is redistribution // distribution. The sole exception to this condition is redistribution
// of a standard UnZipSFX binary as part of a self-extracting archive; // of a standard UnZipSFX binary as part of a self-extracting archive;
// that is permitted without inclusion of this license, as long as the // that is permitted without inclusion of this license, as long as the
// normal UnZipSFX banner has not been removed from the binary or disabled. // normal UnZipSFX banner has not been removed from the binary or disabled.
// //
// 3. Altered versions--including, but not limited to, ports to new // 3. Altered versions--including, but not limited to, ports to new
// operating systems, existing ports with new graphical interfaces, and // operating systems, existing ports with new graphical interfaces, and
// dynamic, shared, or static library versions--must be plainly marked // dynamic, shared, or static library versions--must be plainly marked
// as such and must not be misrepresented as being the original source. // as such and must not be misrepresented as being the original source.
// Such altered versions also must not be misrepresented as being // Such altered versions also must not be misrepresented as being
// Info-ZIP releases--including, but not limited to, labeling of the // Info-ZIP releases--including, but not limited to, labeling of the
// altered versions with the names "Info-ZIP" (or any variation thereof, // altered versions with the names "Info-ZIP" (or any variation thereof,
// including, but not limited to, different capitalizations), // including, but not limited to, different capitalizations),
// "Pocket UnZip", "WiZ" or "MacZip" without the explicit permission of // "Pocket UnZip", "WiZ" or "MacZip" without the explicit permission of
// Info-ZIP. Such altered versions are further prohibited from // Info-ZIP. Such altered versions are further prohibited from
// misrepresentative use of the Zip-Bugs or Info-ZIP e-mail addresses or // misrepresentative use of the Zip-Bugs or Info-ZIP e-mail addresses or
// of the Info-ZIP URL(s). // of the Info-ZIP URL(s).
// //
// 4. Info-ZIP retains the right to use the names "Info-ZIP", "Zip", "UnZip", // 4. Info-ZIP retains the right to use the names "Info-ZIP", "Zip", "UnZip",
// "UnZipSFX", "WiZ", "Pocket UnZip", "Pocket Zip", and "MacZip" for its // "UnZipSFX", "WiZ", "Pocket UnZip", "Pocket Zip", and "MacZip" for its
// own source and binary releases. // own source and binary releases.
// //
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#ifndef XUNZIP_H #ifndef XUNZIP_H
#define XUNZIP_H #define XUNZIP_H
#ifndef XZIP_H #ifndef XZIP_H
DECLARE_HANDLE(HZIP); // An HZIP identifies a zip file that has been opened DECLARE_HANDLE(HZIP); // An HZIP identifies a zip file that has been opened
#endif #endif
typedef DWORD ZRESULT; typedef DWORD ZRESULT;
// return codes from any of the zip functions. Listed later. // return codes from any of the zip functions. Listed later.
#define ZIP_HANDLE 1 #define ZIP_HANDLE 1
#define ZIP_FILENAME 2 #define ZIP_FILENAME 2
#define ZIP_MEMORY 3 #define ZIP_MEMORY 3
typedef struct typedef struct
{ int index; // index of this file within the zip { int index; // index of this file within the zip
char name[MAX_PATH]; // filename within the zip char name[MAX_PATH]; // filename within the zip
DWORD attr; // attributes, as in GetFileAttributes. DWORD attr; // attributes, as in GetFileAttributes.
FILETIME atime,ctime,mtime;// access, create, modify filetimes FILETIME atime,ctime,mtime;// access, create, modify filetimes
long comp_size; // sizes of item, compressed and uncompressed. These long comp_size; // sizes of item, compressed and uncompressed. These
long unc_size; // may be -1 if not yet known (e.g. being streamed in) long unc_size; // may be -1 if not yet known (e.g. being streamed in)
} ZIPENTRY; } ZIPENTRY;
typedef struct typedef struct
{ int index; // index of this file within the zip { int index; // index of this file within the zip
TCHAR name[MAX_PATH]; // filename within the zip TCHAR name[MAX_PATH]; // filename within the zip
DWORD attr; // attributes, as in GetFileAttributes. DWORD attr; // attributes, as in GetFileAttributes.
FILETIME atime,ctime,mtime;// access, create, modify filetimes FILETIME atime,ctime,mtime;// access, create, modify filetimes
long comp_size; // sizes of item, compressed and uncompressed. These long comp_size; // sizes of item, compressed and uncompressed. These
long unc_size; // may be -1 if not yet known (e.g. being streamed in) long unc_size; // may be -1 if not yet known (e.g. being streamed in)
} ZIPENTRYW; } ZIPENTRYW;
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// OpenZip() // OpenZip()
// //
// Purpose: Open an existing zip archive file // Purpose: Open an existing zip archive file
// //
// Parameters: z - archive file name if flags is ZIP_FILENAME; for other // Parameters: z - archive file name if flags is ZIP_FILENAME; for other
// uses see below // uses see below
// len - for memory (ZIP_MEMORY) should be the buffer size; // len - for memory (ZIP_MEMORY) should be the buffer size;
// for other uses, should be 0 // for other uses, should be 0
// flags - indicates usage, see below; for files, this will be // flags - indicates usage, see below; for files, this will be
// ZIP_FILENAME // ZIP_FILENAME
// //
// Returns: HZIP - non-zero if zip archive opened ok, otherwise 0 // Returns: HZIP - non-zero if zip archive opened ok, otherwise 0
// //
HZIP OpenZip(void *rd, void *z, unsigned int len, DWORD flags); HZIP OpenZip(void *rd, void *z, unsigned int len, DWORD flags);
// OpenZip - opens a zip file and returns a handle with which you can // OpenZip - opens a zip file and returns a handle with which you can
// subsequently examine its contents. You can open a zip file from: // subsequently examine its contents. You can open a zip file from:
// from a pipe: OpenZip(hpipe_read,0, ZIP_HANDLE); // from a pipe: OpenZip(hpipe_read,0, ZIP_HANDLE);
// from a file (by handle): OpenZip(hfile,0, ZIP_HANDLE); // from a file (by handle): OpenZip(hfile,0, ZIP_HANDLE);
// from a file (by name): OpenZip("c:\\test.zip",0, ZIP_FILENAME); // from a file (by name): OpenZip("c:\\test.zip",0, ZIP_FILENAME);
// from a memory block: OpenZip(bufstart, buflen, ZIP_MEMORY); // from a memory block: OpenZip(bufstart, buflen, ZIP_MEMORY);
// If the file is opened through a pipe, then items may only be // If the file is opened through a pipe, then items may only be
// accessed in increasing order, and an item may only be unzipped once, // accessed in increasing order, and an item may only be unzipped once,
// although GetZipItem can be called immediately before and after unzipping // although GetZipItem can be called immediately before and after unzipping
// it. If it's opened i n any other way, then full random access is possible. // it. If it's opened i n any other way, then full random access is possible.
// Note: pipe input is not yet implemented. // Note: pipe input is not yet implemented.
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// GetZipItem() // GetZipItem()
// //
// Purpose: Get information about an item in an open zip archive // Purpose: Get information about an item in an open zip archive
// //
// Parameters: hz - handle of open zip archive // Parameters: hz - handle of open zip archive
// index - index number (0 based) of item in zip // index - index number (0 based) of item in zip
// ze - pointer to a ZIPENTRY (if ANSI) or ZIPENTRYW struct // ze - pointer to a ZIPENTRY (if ANSI) or ZIPENTRYW struct
// (if Unicode) // (if Unicode)
// //
// Returns: ZRESULT - ZR_OK if success, otherwise some other value // Returns: ZRESULT - ZR_OK if success, otherwise some other value
// //
#ifdef _UNICODE #ifdef _UNICODE
#define GetZipItem GetZipItemW #define GetZipItem GetZipItemW
#else #else
#define GetZipItem GetZipItemA #define GetZipItem GetZipItemA
#endif #endif
ZRESULT GetZipItemA(HZIP hz, int index, ZIPENTRY *ze); ZRESULT GetZipItemA(HZIP hz, int index, ZIPENTRY *ze);
ZRESULT GetZipItemW(HZIP hz, int index, ZIPENTRYW *ze); ZRESULT GetZipItemW(HZIP hz, int index, ZIPENTRYW *ze);
// GetZipItem - call this to get information about an item in the zip. // GetZipItem - call this to get information about an item in the zip.
// If index is -1 and the file wasn't opened through a pipe, // If index is -1 and the file wasn't opened through a pipe,
// then it returns information about the whole zipfile // then it returns information about the whole zipfile
// (and in particular ze.index returns the number of index items). // (and in particular ze.index returns the number of index items).
// Note: the item might be a directory (ze.attr & FILE_ATTRIBUTE_DIRECTORY) // Note: the item might be a directory (ze.attr & FILE_ATTRIBUTE_DIRECTORY)
// See below for notes on what happens when you unzip such an item. // See below for notes on what happens when you unzip such an item.
// Note: if you are opening the zip through a pipe, then random access // Note: if you are opening the zip through a pipe, then random access
// is not possible and GetZipItem(-1) fails and you can't discover the number // is not possible and GetZipItem(-1) fails and you can't discover the number
// of items except by calling GetZipItem on each one of them in turn, // of items except by calling GetZipItem on each one of them in turn,
// starting at 0, until eventually the call fails. Also, in the event that // starting at 0, until eventually the call fails. Also, in the event that
// you are opening through a pipe and the zip was itself created into a pipe, // you are opening through a pipe and the zip was itself created into a pipe,
// then then comp_size and sometimes unc_size as well may not be known until // then then comp_size and sometimes unc_size as well may not be known until
// after the item has been unzipped. // after the item has been unzipped.
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// FindZipItem() // FindZipItem()
// //
// Purpose: Find item by name and return information about it // Purpose: Find item by name and return information about it
// //
// Parameters: hz - handle of open zip archive // Parameters: hz - handle of open zip archive
// name - name of file to look for inside zip archive // name - name of file to look for inside zip archive
// ic - TRUE = case insensitive // ic - TRUE = case insensitive
// index - pointer to index number returned, or -1 // index - pointer to index number returned, or -1
// ze - pointer to a ZIPENTRY (if ANSI) or ZIPENTRYW struct // ze - pointer to a ZIPENTRY (if ANSI) or ZIPENTRYW struct
// (if Unicode) // (if Unicode)
// //
// Returns: ZRESULT - ZR_OK if success, otherwise some other value // Returns: ZRESULT - ZR_OK if success, otherwise some other value
// //
#ifdef _UNICODE #ifdef _UNICODE
#define FindZipItem FindZipItemW #define FindZipItem FindZipItemW
#else #else
#define FindZipItem FindZipItemA #define FindZipItem FindZipItemA
#endif #endif
ZRESULT FindZipItemA(HZIP hz, const TCHAR *name, bool ic, int *index, ZIPENTRY *ze); ZRESULT FindZipItemA(HZIP hz, const TCHAR *name, bool ic, int *index, ZIPENTRY *ze);
ZRESULT FindZipItemW(HZIP hz, const TCHAR *name, bool ic, int *index, ZIPENTRYW *ze); ZRESULT FindZipItemW(HZIP hz, const TCHAR *name, bool ic, int *index, ZIPENTRYW *ze);
// FindZipItem - finds an item by name. ic means 'insensitive to case'. // FindZipItem - finds an item by name. ic means 'insensitive to case'.
// It returns the index of the item, and returns information about it. // It returns the index of the item, and returns information about it.
// If nothing was found, then index is set to -1 and the function returns // If nothing was found, then index is set to -1 and the function returns
// an error code. // an error code.
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// UnzipItem() // UnzipItem()
// //
// Purpose: Find item by index and unzip it // Purpose: Find item by index and unzip it
// //
// Parameters: hz - handle of open zip archive // Parameters: hz - handle of open zip archive
// index - index number of file to unzip // index - index number of file to unzip
// dst - target file name of unzipped file // dst - target file name of unzipped file
// len - for memory (ZIP_MEMORY. length of buffer; // len - for memory (ZIP_MEMORY. length of buffer;
// otherwise 0 // otherwise 0
// flags - indicates usage, see below; for files, this will be // flags - indicates usage, see below; for files, this will be
// ZIP_FILENAME // ZIP_FILENAME
// //
// Returns: ZRESULT - ZR_OK if success, otherwise some other value // Returns: ZRESULT - ZR_OK if success, otherwise some other value
// //
ZRESULT UnzipItem(HZIP hz, int index, void *dst, unsigned int len, DWORD flags); ZRESULT UnzipItem(HZIP hz, int index, void *dst, unsigned int len, DWORD flags);
// UnzipItem - given an index to an item, unzips it. You can unzip to: // UnzipItem - given an index to an item, unzips it. You can unzip to:
// to a pipe: UnzipItem(hz,i, hpipe_write,0,ZIP_HANDLE); // to a pipe: UnzipItem(hz,i, hpipe_write,0,ZIP_HANDLE);
// to a file (by handle): UnzipItem(hz,i, hfile,0,ZIP_HANDLE); // to a file (by handle): UnzipItem(hz,i, hfile,0,ZIP_HANDLE);
// to a file (by name): UnzipItem(hz,i, ze.name,0,ZIP_FILENAME); // to a file (by name): UnzipItem(hz,i, ze.name,0,ZIP_FILENAME);
// to a memory block: UnzipItem(hz,i, buf,buflen,ZIP_MEMORY); // to a memory block: UnzipItem(hz,i, buf,buflen,ZIP_MEMORY);
// In the final case, if the buffer isn't large enough to hold it all, // In the final case, if the buffer isn't large enough to hold it all,
// then the return code indicates that more is yet to come. If it was // then the return code indicates that more is yet to come. If it was
// large enough, and you want to know precisely how big, GetZipItem. // large enough, and you want to know precisely how big, GetZipItem.
// Note: zip files are normally stored with relative pathnames. If you // Note: zip files are normally stored with relative pathnames. If you
// unzip with ZIP_FILENAME a relative pathname then the item gets created // unzip with ZIP_FILENAME a relative pathname then the item gets created
// relative to the current directory - it first ensures that all necessary // relative to the current directory - it first ensures that all necessary
// subdirectories have been created. Also, the item may itself be a directory. // subdirectories have been created. Also, the item may itself be a directory.
// If you unzip a directory with ZIP_FILENAME, then the directory gets created. // If you unzip a directory with ZIP_FILENAME, then the directory gets created.
// If you unzip it to a handle or a memory block, then nothing gets created // If you unzip it to a handle or a memory block, then nothing gets created
// and it emits 0 bytes. // and it emits 0 bytes.
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// CloseZip() // CloseZip()
// //
// Purpose: Close an open zip archive // Purpose: Close an open zip archive
// //
// Parameters: hz - handle to an open zip archive // Parameters: hz - handle to an open zip archive
// //
// Returns: ZRESULT - ZR_OK if success, otherwise some other value // Returns: ZRESULT - ZR_OK if success, otherwise some other value
// //
ZRESULT CloseZip(HZIP hz); ZRESULT CloseZip(HZIP hz);
// CloseZip - the zip handle must be closed with this function. // CloseZip - the zip handle must be closed with this function.
unsigned int FormatZipMessage(ZRESULT code, char *buf,unsigned int len); unsigned int FormatZipMessage(ZRESULT code, char *buf,unsigned int len);
// FormatZipMessage - given an error code, formats it as a string. // FormatZipMessage - given an error code, formats it as a string.
// It returns the length of the error message. If buf/len points // It returns the length of the error message. If buf/len points
// to a real buffer, then it also writes as much as possible into there. // to a real buffer, then it also writes as much as possible into there.
// These are the result codes: // These are the result codes:
#define ZR_OK 0x00000000 // nb. the pseudo-code zr-recent is never returned, #define ZR_OK 0x00000000 // nb. the pseudo-code zr-recent is never returned,
#define ZR_RECENT 0x00000001 // but can be passed to FormatZipMessage. #define ZR_RECENT 0x00000001 // but can be passed to FormatZipMessage.
// The following come from general system stuff (e.g. files not openable) // The following come from general system stuff (e.g. files not openable)
#define ZR_GENMASK 0x0000FF00 #define ZR_GENMASK 0x0000FF00
#define ZR_NODUPH 0x00000100 // couldn't duplicate the handle #define ZR_NODUPH 0x00000100 // couldn't duplicate the handle
#define ZR_NOFILE 0x00000200 // couldn't create/open the file #define ZR_NOFILE 0x00000200 // couldn't create/open the file
#define ZR_NOALLOC 0x00000300 // failed to allocate some resource #define ZR_NOALLOC 0x00000300 // failed to allocate some resource
#define ZR_WRITE 0x00000400 // a general error writing to the file #define ZR_WRITE 0x00000400 // a general error writing to the file
#define ZR_NOTFOUND 0x00000500 // couldn't find that file in the zip #define ZR_NOTFOUND 0x00000500 // couldn't find that file in the zip
#define ZR_MORE 0x00000600 // there's still more data to be unzipped #define ZR_MORE 0x00000600 // there's still more data to be unzipped
#define ZR_CORRUPT 0x00000700 // the zipfile is corrupt or not a zipfile #define ZR_CORRUPT 0x00000700 // the zipfile is corrupt or not a zipfile
#define ZR_READ 0x00000800 // a general error reading the file #define ZR_READ 0x00000800 // a general error reading the file
// The following come from mistakes on the part of the caller // The following come from mistakes on the part of the caller
#define ZR_CALLERMASK 0x00FF0000 #define ZR_CALLERMASK 0x00FF0000
#define ZR_ARGS 0x00010000 // general mistake with the arguments #define ZR_ARGS 0x00010000 // general mistake with the arguments
#define ZR_NOTMMAP 0x00020000 // tried to ZipGetMemory, but that only works on mmap zipfiles, which yours wasn't #define ZR_NOTMMAP 0x00020000 // tried to ZipGetMemory, but that only works on mmap zipfiles, which yours wasn't
#define ZR_MEMSIZE 0x00030000 // the memory size is too small #define ZR_MEMSIZE 0x00030000 // the memory size is too small
#define ZR_FAILED 0x00040000 // the thing was already failed when you called this function #define ZR_FAILED 0x00040000 // the thing was already failed when you called this function
#define ZR_ENDED 0x00050000 // the zip creation has already been closed #define ZR_ENDED 0x00050000 // the zip creation has already been closed
#define ZR_MISSIZE 0x00060000 // the indicated input file size turned out mistaken #define ZR_MISSIZE 0x00060000 // the indicated input file size turned out mistaken
#define ZR_PARTIALUNZ 0x00070000 // the file had already been partially unzipped #define ZR_PARTIALUNZ 0x00070000 // the file had already been partially unzipped
#define ZR_ZMODE 0x00080000 // tried to mix creating/opening a zip #define ZR_ZMODE 0x00080000 // tried to mix creating/opening a zip
// The following come from bugs within the zip library itself // The following come from bugs within the zip library itself
#define ZR_BUGMASK 0xFF000000 #define ZR_BUGMASK 0xFF000000
#define ZR_NOTINITED 0x01000000 // initialisation didn't work #define ZR_NOTINITED 0x01000000 // initialisation didn't work
#define ZR_SEEK 0x02000000 // trying to seek in an unseekable file #define ZR_SEEK 0x02000000 // trying to seek in an unseekable file
#define ZR_NOCHANGE 0x04000000 // changed its mind on storage, but not allowed #define ZR_NOCHANGE 0x04000000 // changed its mind on storage, but not allowed
#define ZR_FLATE 0x05000000 // an internal error in the de/inflation code #define ZR_FLATE 0x05000000 // an internal error in the de/inflation code
// e.g. // e.g.
// //
// SetCurrentDirectory("c:\\docs\\stuff"); // SetCurrentDirectory("c:\\docs\\stuff");
// HZIP hz = OpenZip("c:\\stuff.zip",0,ZIP_FILENAME); // HZIP hz = OpenZip("c:\\stuff.zip",0,ZIP_FILENAME);
// ZIPENTRY ze; GetZipItem(hz,-1,&ze); int numitems=ze.index; // ZIPENTRY ze; GetZipItem(hz,-1,&ze); int numitems=ze.index;
// for (int i=0; i<numitems; i++) // for (int i=0; i<numitems; i++)
// { GetZipItem(hz,i,&ze); // { GetZipItem(hz,i,&ze);
// UnzipItem(hz,i,ze.name,0,ZIP_FILENAME); // UnzipItem(hz,i,ze.name,0,ZIP_FILENAME);
// } // }
// CloseZip(hz); // CloseZip(hz);
// //
// //
// HRSRC hrsrc = FindResource(hInstance,MAKEINTRESOURCE(1),RT_RCDATA); // HRSRC hrsrc = FindResource(hInstance,MAKEINTRESOURCE(1),RT_RCDATA);
// HANDLE hglob = LoadResource(hInstance,hrsrc); // HANDLE hglob = LoadResource(hInstance,hrsrc);
// void *zipbuf=LockResource(hglob); // void *zipbuf=LockResource(hglob);
// unsigned int ziplen=SizeofResource(hInstance,hrsrc); // unsigned int ziplen=SizeofResource(hInstance,hrsrc);
// HZIP hz = OpenZip(zipbuf, ziplen, ZIP_MEMORY); // HZIP hz = OpenZip(zipbuf, ziplen, ZIP_MEMORY);
// - unzip to a membuffer - // - unzip to a membuffer -
// ZIPENTRY ze; int i; FindZipItem(hz,"file.dat",&i,&ze); // ZIPENTRY ze; int i; FindZipItem(hz,"file.dat",&i,&ze);
// char *ibuf = new char[ze.unc_size]; // char *ibuf = new char[ze.unc_size];
// UnzipItem(hz,i, ibuf, ze.unc_size,ZIP_MEMORY); // UnzipItem(hz,i, ibuf, ze.unc_size,ZIP_MEMORY);
// delete[] buf; // delete[] buf;
// - unzip to a fixed membuff - // - unzip to a fixed membuff -
// ZIPENTRY ze; int i; FindZipItem(hz,"file.dat",&i,&ze); // ZIPENTRY ze; int i; FindZipItem(hz,"file.dat",&i,&ze);
// char ibuf[1024]; ZIPRESULT zr=ZR_MORE; unsigned long totsize=0; // char ibuf[1024]; ZIPRESULT zr=ZR_MORE; unsigned long totsize=0;
// while (zr==ZR_MORE) // while (zr==ZR_MORE)
// { zr = UnzipItem(hz,i, ibuf,1024,ZIP_MEMORY); // { zr = UnzipItem(hz,i, ibuf,1024,ZIP_MEMORY);
// unsigned long bufsize=1024; if (zr==ZR_OK) bufsize=ze.unc_size-totsize; // unsigned long bufsize=1024; if (zr==ZR_OK) bufsize=ze.unc_size-totsize;
// totsize+=bufsize; // totsize+=bufsize;
// } // }
// - unzip to a pipe - // - unzip to a pipe -
// HANDLE hthread=CreateWavReaderThread(&hread,&hwrite); // HANDLE hthread=CreateWavReaderThread(&hread,&hwrite);
// FindZipItem(hz,"sound.wav",&i,&ze); // FindZipItem(hz,"sound.wav",&i,&ze);
// UnzipItem(hz,i, hwrite,0,ZIP_HANDLE); // UnzipItem(hz,i, hwrite,0,ZIP_HANDLE);
// CloseHandle(hwrite); // CloseHandle(hwrite);
// WaitForSingleObject(hthread,INFINITE); // WaitForSingleObject(hthread,INFINITE);
// CloseHandle(hread); CloseHandle(hthread); // CloseHandle(hread); CloseHandle(hthread);
// - finished - // - finished -
// CloseZip(hz); // CloseZip(hz);
// // note: no need to free resources obtained through Find/Load/LockResource // // note: no need to free resources obtained through Find/Load/LockResource
// //
// //
// SetCurrentDirectory("c:\\docs\\pipedzipstuff"); // SetCurrentDirectory("c:\\docs\\pipedzipstuff");
// HANDLE hread,hwrite; CreatePipe(&hread,&hwrite); // HANDLE hread,hwrite; CreatePipe(&hread,&hwrite);
// CreateZipWriterThread(hwrite); // CreateZipWriterThread(hwrite);
// HZIP hz = OpenZip(hread,0,ZIP_HANDLE); // HZIP hz = OpenZip(hread,0,ZIP_HANDLE);
// for (int i=0; ; i++) // for (int i=0; ; i++)
// { ZIPENTRY ze; ZRESULT res = GetZipItem(hz,i,&ze); // { ZIPENTRY ze; ZRESULT res = GetZipItem(hz,i,&ze);
// if (res!=ZE_OK) break; // no more // if (res!=ZE_OK) break; // no more
// UnzipItem(hz,i, ze.name,0,ZIP_FILENAME); // UnzipItem(hz,i, ze.name,0,ZIP_FILENAME);
// } // }
// CloseZip(hz); // CloseZip(hz);
// //
// Now we indulge in a little skullduggery so that the code works whether // Now we indulge in a little skullduggery so that the code works whether
// the user has included just zip or both zip and unzip. // the user has included just zip or both zip and unzip.
// Idea: if header files for both zip and unzip are present, then presumably // Idea: if header files for both zip and unzip are present, then presumably
// the cpp files for zip and unzip are both present, so we will call // the cpp files for zip and unzip are both present, so we will call
// one or the other of them based on a dynamic choice. If the header file // one or the other of them based on a dynamic choice. If the header file
// for only one is present, then we will bind to that particular one. // for only one is present, then we will bind to that particular one.
HZIP OpenZipU(void *rd, void *z,unsigned int len,DWORD flags); HZIP OpenZipU(void *rd, void *z,unsigned int len,DWORD flags);
ZRESULT CloseZipU(HZIP hz); ZRESULT CloseZipU(HZIP hz);
unsigned int FormatZipMessageU(ZRESULT code, char *buf,unsigned int len); unsigned int FormatZipMessageU(ZRESULT code, char *buf,unsigned int len);
bool IsZipHandleU(HZIP hz); bool IsZipHandleU(HZIP hz);
#define OpenZip OpenZipU #define OpenZip OpenZipU
#ifdef XZIP_H #ifdef XZIP_H
#undef CloseZip #undef CloseZip
#define CloseZip(hz) (IsZipHandleU(hz)?CloseZipU(hz):CloseZipZ(hz)) #define CloseZip(hz) (IsZipHandleU(hz)?CloseZipU(hz):CloseZipZ(hz))
#else #else
#define CloseZip CloseZipU #define CloseZip CloseZipU
#define FormatZipMessage FormatZipMessageU #define FormatZipMessage FormatZipMessageU
#endif #endif
#endif //XUNZIP_H #endif //XUNZIP_H

View File

@ -1,8 +1,8 @@
// stdafx.cpp : source file that includes just the standard includes // stdafx.cpp : source file that includes just the standard includes
// Installer.pch will be the pre-compiled header // Installer.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information // stdafx.obj will contain the pre-compiled type information
#include "stdafx.h" #include "stdafx.h"
// TODO: reference any additional headers you need in STDAFX.H // TODO: reference any additional headers you need in STDAFX.H
// and not in this file // and not in this file

View File

@ -1,15 +1,15 @@
// stdafx.h : include file for standard system include files, // stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but // or project specific include files that are used frequently, but
// are changed infrequently // are changed infrequently
// //
#pragma once #pragma once
#include "targetver.h" #include "targetver.h"
#include <stdio.h> #include <stdio.h>
#include <tchar.h> #include <tchar.h>
// TODO: reference additional headers your program requires here // TODO: reference additional headers your program requires here

View File

@ -1,8 +1,8 @@
#pragma once #pragma once
// Including SDKDDKVer.h defines the highest available Windows platform. // Including SDKDDKVer.h defines the highest available Windows platform.
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
#include <SDKDDKVer.h> #include <SDKDDKVer.h>

View File

@ -1,8 +1,12 @@
 
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2010 # Visual Studio Express 2013 for Windows Desktop
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModSecurityIIS", "ModSecurityIIS.vcxproj", "{D1F7201F-064B-48AB-868C-FED22464841C}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModSecurityIIS", "ModSecurityIIS.vcxproj", "{D1F7201F-064B-48AB-868C-FED22464841C}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InstallerHelper", "InstallerHelper\InstallerHelper.vcxproj", "{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms Debug|Mixed Platforms = Debug|Mixed Platforms
@ -30,6 +34,20 @@ Global
{D1F7201F-064B-48AB-868C-FED22464841C}.Release|x64.Build.0 = Release|x64 {D1F7201F-064B-48AB-868C-FED22464841C}.Release|x64.Build.0 = Release|x64
{D1F7201F-064B-48AB-868C-FED22464841C}.Release|x86.ActiveCfg = Release|Win32 {D1F7201F-064B-48AB-868C-FED22464841C}.Release|x86.ActiveCfg = Release|Win32
{D1F7201F-064B-48AB-868C-FED22464841C}.Release|x86.Build.0 = Release|Win32 {D1F7201F-064B-48AB-868C-FED22464841C}.Release|x86.Build.0 = Release|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Debug|Win32.ActiveCfg = Debug|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Debug|Win32.Build.0 = Debug|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Debug|x64.ActiveCfg = Debug|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Debug|x86.ActiveCfg = Debug|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Debug|x86.Build.0 = Debug|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Release|Mixed Platforms.Build.0 = Release|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Release|Win32.ActiveCfg = Release|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Release|Win32.Build.0 = Release|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Release|x64.ActiveCfg = Release|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Release|x86.ActiveCfg = Release|Win32
{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}.Release|x86.Build.0 = Release|Win32
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerCommandArguments>"c:\Program Files (x86)\ModSecurity IIS" </LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>