You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cli-dev@httpd.apache.org by wr...@apache.org on 2004/07/16 18:27:18 UTC

svn commit: rev 22970 - in incubator/httpd/cli/trunk/mod_aspdotnet: . Apache.Web Apache.Web/Helpers installer mod msi_dll

Author: wrowe
Date: Fri Jul 16 09:27:17 2004
New Revision: 22970

Modified:
   incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Apache.Web.h   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Apache.Web.vcproj   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/AssemblyInfo.cpp   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Helpers/_gcA_gcA_gcString.cs   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Host.h   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/HostFactory.h   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/WorkerRequest.cpp   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/WorkerRequest.h   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/http_header_arrays.h   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/LICENSE   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/NOTICE   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/README   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/aspnet.conf   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer.isv   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/.cvsignore   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ActionText.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdminExecuteSequence.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdminUISequence.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdvtExecuteSequence.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdvtUISequence.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/AppId.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/AppSearch.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/BBControl.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Billboard.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Binary.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/BindImage.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/CCPSearch.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/CheckBox.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Class.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ComboBox.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/CompLocator.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Complus.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Component.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Condition.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Control.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ControlCondition.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ControlEvent.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/CreateFolder.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/CustomAction.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Dialog.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Directory.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/DrLocator.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/DuplicateFile.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Environment.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Error.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/EventMapping.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Extension.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Feature.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/FeatureComponents.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/File.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/FileSFPCatalog.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Font.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISComponentExtended.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDLLWrapper.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDependency.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDisk1File.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDynamicFile.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISFeatureMergeModules.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISInstallScriptAction.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLanguage.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLinkerLibrary.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLocalControl.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLocalDialog.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLogicalDisk.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLogicalDiskFeatures.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISMergeModule.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISObject.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISObjectProperty.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISPathVariable.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISProductConfiguration.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISProductConfigurationProperty.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISRelease.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISReleaseExtended.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISScriptFile.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISSelfReg.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISSetupFile.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISStorages.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISString.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISVRoot.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISVRootAppMaps.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Icon.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/IniFile.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/IniLocator.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallExecuteSequence.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallShield.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallUISequence.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/IsolatedComponent.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/LaunchCondition.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ListBox.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ListView.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/LockPermissions.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/MIME.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Media.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/MoveFile.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiAssembly.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiAssemblyName.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiDigitalCertificate.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiDigitalSignature.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiFileHash.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCAttribute.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCDataSource.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCDriver.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCSourceAttribute.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCTranslator.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Patch.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/PatchPackage.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ProgId.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Property.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/PublishComponent.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/RadioButton.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/RegLocator.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Registry.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveFile.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveIniFile.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveRegistry.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ReserveCost.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/SFPCatalog.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/SelfReg.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ServiceControl.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/ServiceInstall.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Shortcut.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Signature.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/TextStyle.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/TypeLib.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/UIText.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Upgrade.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/Verb.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/_SummaryInformation.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/installer/_Validation.idt   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.cpp   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.vcproj   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/mod_aspdotnet.sln   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/.cvsignore   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/quicksearch.c   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/quicksearch.h   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/resolve_apache.c   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/resolve_apache.vcproj   (contents, props changed)
   incubator/httpd/cli/trunk/mod_aspdotnet/release.bat   (contents, props changed)
Log:
Attempt to undo the crlf damage by recommiting with svn:eol-style=native

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Apache.Web.h
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Apache.Web.h	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Apache.Web.h	Fri Jul 16 09:27:17 2004
@@ -1,95 +1,95 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Apache.Web.h base COM interop interfaces for Apache 2.0
-
-
-#ifndef APACHE_WEB_VERSION
-#define APACHE_WEB_VERSION "2.0.0.2000"
-#endif
-
-#ifndef APACHE_WEB_H
-#define APACHE_WEB_H
-
-// We don't care about unused arguments, 
-// or conditional expression constant evaluation
-#pragma warning(disable: 4100 4127)
-
-// Apache namespace 
-//    Native namespace : pure ap/apr API and structures
-//    Web namespace    : interface to Server.Web.Hosting engine
-//       HostFactory [Implements IApacheWebHostFactory] 
-//          CreateHost singleton
-//       Host [Implements IApacheWebHost]       
-//          HandleRequest instance creation
-//       WorkerRequest [Implements IApacheWebWorkerRequest] 
-//          A single .Web request object
-
-namespace Apache {
-#pragma unmanaged
-    namespace Native {
-#include "httpd.h"
-#include "http_core.h"
-#include "http_config.h"
-#include "http_log.h"
-#include "http_protocol.h"
-#include "apr_strings.h"
-#include "apr_tables.h"
-    }
-#pragma managed
-}
-
-using namespace Apache::Native;
-
-using namespace System;
-using namespace System::IO;
-using namespace System::Text;
-using namespace System::Web;
-using namespace System::Web::Hosting;
-using namespace System::Runtime::InteropServices;
-using namespace System::Runtime::Remoting::Lifetime;
-//using namespace System::Diagnostics;
-
-#using "Apache.Web.Helpers.netmodule"
-
-namespace Apache
-{
-  namespace Web
-  {
-    // Forward declare a Host
-    public __gc class Host;
-    
-    // Define using dispinterfaces for COM transition to ASP.Net
-    [InterfaceType(ComInterfaceType::InterfaceIsIDispatch)]
-    public __gc __interface IApacheWebHostFactory
-    {
-    public:
-         HRESULT Configure(String *path);
-         void Destroy(void);
-         // Returns HostKey to pass on to HandleHostRequest()
-         int CreateHost(String *virtualPath, String *physicalPath, int Server);
-         // Returns HTTP Status from ApacheWebHost::HandleRequest
-         int HandleHostRequest(int HostKey, int Req);
-    };
-  }
-}
-
-#include "WorkerRequest.h"
-#include "Host.h"
-#include "HostFactory.h"
-
-// End of Apache::Web Namespace declarations
-
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Apache.Web.h base COM interop interfaces for Apache 2.0
+
+
+#ifndef APACHE_WEB_VERSION
+#define APACHE_WEB_VERSION "2.0.0.2000"
+#endif
+
+#ifndef APACHE_WEB_H
+#define APACHE_WEB_H
+
+// We don't care about unused arguments, 
+// or conditional expression constant evaluation
+#pragma warning(disable: 4100 4127)
+
+// Apache namespace 
+//    Native namespace : pure ap/apr API and structures
+//    Web namespace    : interface to Server.Web.Hosting engine
+//       HostFactory [Implements IApacheWebHostFactory] 
+//          CreateHost singleton
+//       Host [Implements IApacheWebHost]       
+//          HandleRequest instance creation
+//       WorkerRequest [Implements IApacheWebWorkerRequest] 
+//          A single .Web request object
+
+namespace Apache {
+#pragma unmanaged
+    namespace Native {
+#include "httpd.h"
+#include "http_core.h"
+#include "http_config.h"
+#include "http_log.h"
+#include "http_protocol.h"
+#include "apr_strings.h"
+#include "apr_tables.h"
+    }
+#pragma managed
+}
+
+using namespace Apache::Native;
+
+using namespace System;
+using namespace System::IO;
+using namespace System::Text;
+using namespace System::Web;
+using namespace System::Web::Hosting;
+using namespace System::Runtime::InteropServices;
+using namespace System::Runtime::Remoting::Lifetime;
+//using namespace System::Diagnostics;
+
+#using "Apache.Web.Helpers.netmodule"
+
+namespace Apache
+{
+  namespace Web
+  {
+    // Forward declare a Host
+    public __gc class Host;
+    
+    // Define using dispinterfaces for COM transition to ASP.Net
+    [InterfaceType(ComInterfaceType::InterfaceIsIDispatch)]
+    public __gc __interface IApacheWebHostFactory
+    {
+    public:
+         HRESULT Configure(String *path);
+         void Destroy(void);
+         // Returns HostKey to pass on to HandleHostRequest()
+         int CreateHost(String *virtualPath, String *physicalPath, int Server);
+         // Returns HTTP Status from ApacheWebHost::HandleRequest
+         int HandleHostRequest(int HostKey, int Req);
+    };
+  }
+}
+
+#include "WorkerRequest.h"
+#include "Host.h"
+#include "HostFactory.h"
+
+// End of Apache::Web Namespace declarations
+
 #endif // APACHE_WEB_H

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Apache.Web.vcproj
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Apache.Web.vcproj	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Apache.Web.vcproj	Fri Jul 16 09:27:17 2004
@@ -1,180 +1,180 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.00"
-	Name="Apache.Web"
-	ProjectGUID="{4B4F627E-C6DE-4614-9135-306D94F8755B}"
-	Keyword="ManagedCProj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="..\Debug"
-			IntermediateDirectory="..\Debug"
-			ConfigurationType="2"
-			CharacterSet="2"
-			ManagedExtensions="TRUE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="&quot;$(APACHE_PATH)\include&quot;"
-				AdditionalUsingDirectories="$(OutDir)"
-				PreprocessorDefinitions="WIN32;_DEBUG"
-				MinimalRebuild="FALSE"
-				ExceptionHandling="FALSE"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				ProgramDataBaseFileName="$(IntDir)/$(ProjectName)_src.pdb"
-				WarningLevel="4"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				RegisterOutput="FALSE"
-				AdditionalDependencies="libapr.lib libaprutil.lib libhttpd.lib"
-				OutputFile="$(OutDir)/$(ProjectName).dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="&quot;$(APACHE_PATH)\lib&quot;"
-				IgnoreDefaultLibraryNames=""
-				AddModuleNamesToAssembly=""
-				DelayLoadDLLs="libapr.dll;libaprutil.dll;libhttpd.dll"
-				TypeLibraryFile=""
-				GenerateDebugInformation="TRUE"
-				SupportUnloadOfDelayLoadedDLL="FALSE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Exporting .tlb and Installing debug components to the GAC"
-				CommandLine="regasm /nologo /tlb:&quot;$(IntDir)/Apache.Web.tlb&quot; &quot;$(OutDir)\Apache.Web.dll&quot; &amp;&amp; gacutil /ir &quot;$(OutDir)\Apache.Web.dll&quot; FILEPATH &quot;$(OutDir)\Apache.Web.dll&quot; Apache.Web"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="..\Release"
-			IntermediateDirectory="..\Release"
-			ConfigurationType="2"
-			CharacterSet="2"
-			ManagedExtensions="TRUE"
-			WholeProgramOptimization="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="&quot;$(APACHE_PATH)\include&quot;"
-				AdditionalUsingDirectories="$(OutDir)"
-				PreprocessorDefinitions="WIN32;NDEBUG"
-				ExceptionHandling="FALSE"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="TRUE"
-				UsePrecompiledHeader="0"
-				ProgramDataBaseFileName="$(IntDir)/$(ProjectName)_src.pdb"
-				WarningLevel="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libapr.lib libaprutil.lib libhttpd.lib"
-				OutputFile="$(OutDir)/$(ProjectName).dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="&quot;$(APACHE_PATH)\lib&quot;"
-				IgnoreDefaultLibraryNames=""
-				AddModuleNamesToAssembly=""
-				DelayLoadDLLs="libapr.dll;libaprutil.dll;libhttpd.dll"
-				GenerateDebugInformation="FALSE"
-				GenerateMapFile="TRUE"
-				OptimizeReferences="2"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Exporting .tlb"
-				CommandLine="regasm /nologo /tlb:&quot;$(IntDir)/Apache.Web.tlb&quot; &quot;$(OutDir)\Apache.Web.dll&quot; &amp;&amp; regasm /nologo /unregister &quot;$(OutDir)\Apache.Web.dll&quot;"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-	</Configurations>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
-			<File
-				RelativePath="AssemblyInfo.cpp">
-			</File>
-			<File
-				RelativePath="WorkerRequest.cpp">
-			</File>
-			<File
-				RelativePath="Helpers\_gcA_gcA_gcString.cs">
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCustomBuildTool"
-						Description="Compiling Apache.Web.Helpers"
-						CommandLine="csc.exe /nologo /w:4 /debug+ /debug:full /o- /incr- /t:module /out:&quot;$(OutDir)\Apache.Web.Helpers.netmodule&quot; $(InputPath)
-"
-						Outputs="$(OutDir)/Apache.Web.Helpers.netmodule"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCustomBuildTool"
-						Description="Compiling Apache.Web.Helpers"
-						CommandLine="csc.exe /nologo /w:4 /debug- /o+ /t:module /out:&quot;$(OutDir)\Apache.Web.Helpers.netmodule&quot; $(InputPath)
-"
-						Outputs="$(OutDir)/Apache.Web.Helpers.netmodule"/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc">
-			<File
-				RelativePath="Apache.Web.h">
-			</File>
-			<File
-				RelativePath="Host.h">
-			</File>
-			<File
-				RelativePath="HostFactory.h">
-			</File>
-			<File
-				RelativePath="WorkerRequest.h">
-			</File>
-			<File
-				RelativePath="http_header_arrays.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;r">
-		</Filter>
-		<File
-			RelativePath="ReadMe.txt">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding = "Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="7.00"
+	Name="Apache.Web"
+	ProjectGUID="{4B4F627E-C6DE-4614-9135-306D94F8755B}"
+	Keyword="ManagedCProj">
+	<Platforms>
+		<Platform
+			Name="Win32"/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="..\Debug"
+			IntermediateDirectory="..\Debug"
+			ConfigurationType="2"
+			CharacterSet="2"
+			ManagedExtensions="TRUE">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(APACHE_PATH)\include&quot;"
+				AdditionalUsingDirectories="$(OutDir)"
+				PreprocessorDefinitions="WIN32;_DEBUG"
+				MinimalRebuild="FALSE"
+				ExceptionHandling="FALSE"
+				RuntimeLibrary="1"
+				UsePrecompiledHeader="0"
+				ProgramDataBaseFileName="$(IntDir)/$(ProjectName)_src.pdb"
+				WarningLevel="4"
+				DebugInformationFormat="3"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				RegisterOutput="FALSE"
+				AdditionalDependencies="libapr.lib libaprutil.lib libhttpd.lib"
+				OutputFile="$(OutDir)/$(ProjectName).dll"
+				LinkIncremental="1"
+				SuppressStartupBanner="TRUE"
+				AdditionalLibraryDirectories="&quot;$(APACHE_PATH)\lib&quot;"
+				IgnoreDefaultLibraryNames=""
+				AddModuleNamesToAssembly=""
+				DelayLoadDLLs="libapr.dll;libaprutil.dll;libhttpd.dll"
+				TypeLibraryFile=""
+				GenerateDebugInformation="TRUE"
+				SupportUnloadOfDelayLoadedDLL="FALSE"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"
+				Description="Exporting .tlb and Installing debug components to the GAC"
+				CommandLine="regasm /nologo /tlb:&quot;$(IntDir)/Apache.Web.tlb&quot; &quot;$(OutDir)\Apache.Web.dll&quot; &amp;&amp; gacutil /ir &quot;$(OutDir)\Apache.Web.dll&quot; FILEPATH &quot;$(OutDir)\Apache.Web.dll&quot; Apache.Web"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="..\Release"
+			IntermediateDirectory="..\Release"
+			ConfigurationType="2"
+			CharacterSet="2"
+			ManagedExtensions="TRUE"
+			WholeProgramOptimization="FALSE">
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="1"
+				AdditionalIncludeDirectories="&quot;$(APACHE_PATH)\include&quot;"
+				AdditionalUsingDirectories="$(OutDir)"
+				PreprocessorDefinitions="WIN32;NDEBUG"
+				ExceptionHandling="FALSE"
+				RuntimeLibrary="0"
+				BufferSecurityCheck="TRUE"
+				UsePrecompiledHeader="0"
+				ProgramDataBaseFileName="$(IntDir)/$(ProjectName)_src.pdb"
+				WarningLevel="4"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="libapr.lib libaprutil.lib libhttpd.lib"
+				OutputFile="$(OutDir)/$(ProjectName).dll"
+				LinkIncremental="1"
+				SuppressStartupBanner="TRUE"
+				AdditionalLibraryDirectories="&quot;$(APACHE_PATH)\lib&quot;"
+				IgnoreDefaultLibraryNames=""
+				AddModuleNamesToAssembly=""
+				DelayLoadDLLs="libapr.dll;libaprutil.dll;libhttpd.dll"
+				GenerateDebugInformation="FALSE"
+				GenerateMapFile="TRUE"
+				OptimizeReferences="2"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"
+				Description="Exporting .tlb"
+				CommandLine="regasm /nologo /tlb:&quot;$(IntDir)/Apache.Web.tlb&quot; &quot;$(OutDir)\Apache.Web.dll&quot; &amp;&amp; regasm /nologo /unregister &quot;$(OutDir)\Apache.Web.dll&quot;"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+		</Configuration>
+	</Configurations>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
+			<File
+				RelativePath="AssemblyInfo.cpp">
+			</File>
+			<File
+				RelativePath="WorkerRequest.cpp">
+			</File>
+			<File
+				RelativePath="Helpers\_gcA_gcA_gcString.cs">
+				<FileConfiguration
+					Name="Debug|Win32">
+					<Tool
+						Name="VCCustomBuildTool"
+						Description="Compiling Apache.Web.Helpers"
+						CommandLine="csc.exe /nologo /w:4 /debug+ /debug:full /o- /incr- /t:module /out:&quot;$(OutDir)\Apache.Web.Helpers.netmodule&quot; $(InputPath)
+"
+						Outputs="$(OutDir)/Apache.Web.Helpers.netmodule"/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32">
+					<Tool
+						Name="VCCustomBuildTool"
+						Description="Compiling Apache.Web.Helpers"
+						CommandLine="csc.exe /nologo /w:4 /debug- /o+ /t:module /out:&quot;$(OutDir)\Apache.Web.Helpers.netmodule&quot; $(InputPath)
+"
+						Outputs="$(OutDir)/Apache.Web.Helpers.netmodule"/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc">
+			<File
+				RelativePath="Apache.Web.h">
+			</File>
+			<File
+				RelativePath="Host.h">
+			</File>
+			<File
+				RelativePath="HostFactory.h">
+			</File>
+			<File
+				RelativePath="WorkerRequest.h">
+			</File>
+			<File
+				RelativePath="http_header_arrays.h">
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;r">
+		</Filter>
+		<File
+			RelativePath="ReadMe.txt">
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/AssemblyInfo.cpp
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/AssemblyInfo.cpp	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/AssemblyInfo.cpp	Fri Jul 16 09:27:17 2004
@@ -1,81 +1,81 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// AssemblyInfo.cpp support for Apache.Web Assembly
-
-
-// We aren't looking for much beyond the version, 
-// so lie that this header was previously loaded
-#define APACHE_WEB_H
-#include "Apache.Web.h"
-
-#using <mscorlib.dll>
-
-using namespace System::Reflection;
-using namespace System::Runtime::CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly:AssemblyTitleAttribute("Apache.Web")];
-[assembly:AssemblyDescriptionAttribute("Apache Web Hosting Architecture for Microsoft ASP.NET")];
-[assembly:AssemblyCompanyAttribute("Apache Software Foundation")];
-[assembly:AssemblyProductAttribute("mod_aspdotnet")];
-[assembly:AssemblyCopyrightAttribute("Copyright � 2002-2004 Apache Software Foundation")];
-[assembly:AssemblyTrademarkAttribute("")];
-[assembly:AssemblyCultureAttribute("")];
-[assembly:AssemblyConfigurationAttribute("")];
-
-//
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the value or you can default the Revision and Build Numbers 
-// by using the '*' as shown below:
-
-[assembly:AssemblyVersionAttribute(APACHE_WEB_VERSION)];
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the 
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing. 
-//
-// Notes: 
-//   (*) If no key is specified, the assembly is not signed.
-//   (*) KeyName refers to a key that has been installed in the Crypto Service
-//       Provider (CSP) on your machine. KeyFile refers to a file which contains
-//       a key.
-//   (*) If the KeyFile and the KeyName values are both specified, the 
-//       following processing occurs:
-//       (1) If the KeyName can be found in the CSP, that key is used.
-//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
-//           in the KeyFile is installed into the CSP and used.
-//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-//        When specifying the KeyFile, the location of the KeyFile should be
-//        relative to the project directory.
-//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-//       documentation for more information on this.
-//
-[assembly:AssemblyDelaySignAttribute(false)];
-[assembly:AssemblyKeyFileAttribute("Apache.Web.snk")];
-[assembly:AssemblyKeyNameAttribute("")];
-
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// AssemblyInfo.cpp support for Apache.Web Assembly
+
+
+// We aren't looking for much beyond the version, 
+// so lie that this header was previously loaded
+#define APACHE_WEB_H
+#include "Apache.Web.h"
+
+#using <mscorlib.dll>
+
+using namespace System::Reflection;
+using namespace System::Runtime::CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly:AssemblyTitleAttribute("Apache.Web")];
+[assembly:AssemblyDescriptionAttribute("Apache Web Hosting Architecture for Microsoft ASP.NET")];
+[assembly:AssemblyCompanyAttribute("Apache Software Foundation")];
+[assembly:AssemblyProductAttribute("mod_aspdotnet")];
+[assembly:AssemblyCopyrightAttribute("Copyright � 2002-2004 Apache Software Foundation")];
+[assembly:AssemblyTrademarkAttribute("")];
+[assembly:AssemblyCultureAttribute("")];
+[assembly:AssemblyConfigurationAttribute("")];
+
+//
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the value or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+
+[assembly:AssemblyVersionAttribute(APACHE_WEB_VERSION)];
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the 
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing. 
+//
+// Notes: 
+//   (*) If no key is specified, the assembly is not signed.
+//   (*) KeyName refers to a key that has been installed in the Crypto Service
+//       Provider (CSP) on your machine. KeyFile refers to a file which contains
+//       a key.
+//   (*) If the KeyFile and the KeyName values are both specified, the 
+//       following processing occurs:
+//       (1) If the KeyName can be found in the CSP, that key is used.
+//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
+//           in the KeyFile is installed into the CSP and used.
+//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+//        When specifying the KeyFile, the location of the KeyFile should be
+//        relative to the project directory.
+//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+//       documentation for more information on this.
+//
+[assembly:AssemblyDelaySignAttribute(false)];
+[assembly:AssemblyKeyFileAttribute("Apache.Web.snk")];
+[assembly:AssemblyKeyNameAttribute("")];
+

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Helpers/_gcA_gcA_gcString.cs
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Helpers/_gcA_gcA_gcString.cs	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Helpers/_gcA_gcA_gcString.cs	Fri Jul 16 09:27:17 2004
@@ -1,42 +1,42 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Helper._gcA_gcA_gcStringHelper.cs to work around C++ compiler bug
-
-
-using System;
-
-namespace Apache.Web.Helpers 
-{
-	internal class _gcA_gcA_gcString
-	{
-		private String [][] value;
-
-		public _gcA_gcA_gcString(int nelts)
-		{
-			value = new String[nelts][];
-		}
-
-		public void Set(int elt, String [] val)
-		{
-			value[elt] = val;
-		}
-
-		public String[][] Value()
-		{
-			return value;
-		}
-	}
-}
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Helper._gcA_gcA_gcStringHelper.cs to work around C++ compiler bug
+
+
+using System;
+
+namespace Apache.Web.Helpers 
+{
+	internal class _gcA_gcA_gcString
+	{
+		private String [][] value;
+
+		public _gcA_gcA_gcString(int nelts)
+		{
+			value = new String[nelts][];
+		}
+
+		public void Set(int elt, String [] val)
+		{
+			value[elt] = val;
+		}
+
+		public String[][] Value()
+		{
+			return value;
+		}
+	}
+}

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Host.h
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Host.h	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/Host.h	Fri Jul 16 09:27:17 2004
@@ -1,180 +1,180 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Apache::Web::Host.h managed interface for mod_aspdotnet connector namespaces
-
-
-#pragma once
-
-#ifndef APACHE_WEB_H
-#error "#include \"Apache.Web.h\" ... not Host.h!"
-#endif
-#include <stdarg.h>
-
-namespace Apache
-{
-  namespace Web
-  {
-    public __gc class HostFactory;
-
-    public __gc class Host : public MarshalByRefObject
-    {
-    private:
-        // Create our utf8-encoding to handle utf8->unicode names
-        static Encoding *utf8_encoding = new UTF8Encoding(false);
-
-        // our default cultureNeutral object for proper strcmp's
-        static System::Globalization::CultureInfo *neutralCulture
-            = new System::Globalization::CultureInfo("");
-
-        // No trailing slash for this URI-path
-        String *virtualPath;
-        // No trailing backslash for this filesystem path
-        String *physicalPath;
-
-        HostFactory *thisFactory;
-        int thisHostKey;
-
-    protected:
-        void ~Host();
-
-    public:
-        Host()
-        {
-            thisFactory = NULL;
-            thisHostKey = 0;
-        }
-
-        virtual Object* InitializeLifetimeService()
-        {
-            ILease *lease 
-                = __try_cast<ILease*>(MarshalByRefObject::InitializeLifetimeService());
-            if (lease->CurrentState == System::Runtime::Remoting::Lifetime::LeaseState::Initial)  {
-                lease->InitialLeaseTime = TimeSpan::FromDays(366);
-                lease->SponsorshipTimeout = TimeSpan::FromMinutes(2);
-                lease->RenewOnCallTime = TimeSpan::FromMinutes(1);
-            }
-            return lease;
-        }
-
-        // Internal accessor for new Host construction
-        void Configure(String *VirtualPath, String *PhysicalPath,
-                       HostFactory *Factory, int HostKey) 
-        {
-            //
-            // The ApplicationHost::CreateApplicationHost() constructor
-            // doesn't provide us an opportunity to deal with additional
-            // arguments to our Host object constructor; Configure() makes
-            // up for that shortcoming after the Host is instantiated.
-            //
-            thisFactory = Factory;
-            thisHostKey = HostKey;
-            physicalPath = PhysicalPath->Replace(L'/', L'\\');
-            virtualPath = VirtualPath->Replace(L'\\', L'/');
-            if (physicalPath->EndsWith(L"\\")) {
-                physicalPath
-                    = physicalPath->Substring(0, VirtualPath->get_Length() - 1);
-            }
-            if (virtualPath->EndsWith(L"/")) {
-                virtualPath
-                    = virtualPath->Substring(0, VirtualPath->get_Length() - 1);
-            }
-        }
-
-        // Reports an error message in the error log
-        void LogRequestError(String *msg, int loglevel, int rv, request_rec __nogc *rr)
-        {
-            unsigned char avalue __gc[] 
-                = utf8_encoding->GetBytes(msg);
-            unsigned char __pin *msg_text = &avalue[0];
-            ap_log_rerror("Apache.Web", 0, loglevel | (rv ? 0 : APLOG_NOERRNO), rv, rr,
-                          "mod_aspdotnet: %s", (char*) msg_text, NULL);
-        }
-
-        // Instantiates a new Apache.Web.WorkerRequest object from the given request_rec*
-        int HandleRequest(int Req) {
-            try {
-                WorkerRequest *request = new WorkerRequest(Req, this);
-                int status = request->Handler();
-                return status;
-            }
-            catch (Exception *e) {
-                LogRequestError(L"Failed to create ASP.NET Request, "
-                                L"Exception follows", APLOG_ERR, 0,
-                                (request_rec __nogc *)Req);
-                LogRequestError(e->ToString(), APLOG_ERR, 0, 
-                                (request_rec __nogc *)Req);
-                return 500;
-            }
-        }
-
-        // Returns the Virtual URI-path of this host, with no trailing slash
-        String *GetVirtualPath(void) {
-            return virtualPath;
-        }
-
-        // Returns the Physical filesystem path of this host, with no trailing slash
-        String *GetPhysicalPath(void) {
-            return physicalPath;
-        }
-
-        // Translate the given URI-path in this host's Virtual path to a filesystem path
-        String *MapPath(String *path, request_rec __nogc *rr) {
-            //
-            // ...relative to this host's Physical path.  The function returns NULL 
-            // if the given URI-path is outside of the Virtual path of this host. 
-            //
-            String *buildpath;
-
-            if (!path || (path->get_Length() <= 0)) {
-                return physicalPath;
-            }
-            else {
-                buildpath = path->Replace(L'/', L'\\');
-            }
-
-            String *testpath = path->Replace(L'\\', L'/');
-
-            if (testpath->get_Chars(0) == L'/') {
-                if (String::Compare(testpath, 0, virtualPath, 0, 
-                                    virtualPath->get_Length(), 
-                                    true, neutralCulture)) {
-                    String *res = String::Concat(L"MapPath: could not map ", path, 
-                                                 L" within ", virtualPath);
-                    LogRequestError(res, APLOG_DEBUG, 0, rr);
-                    return NULL;
-                }
-                else {
-                    if (testpath->get_Length() > virtualPath->get_Length()) {
-                        buildpath = 
-                            String::Concat(physicalPath,
-                                           buildpath->Substring(
-                                               virtualPath->get_Length()));
-                    }
-                    else {
-                        buildpath = physicalPath;
-                    }
-                }
-            }
-            else {
-                buildpath = String::Concat(physicalPath, L"\\",
-                                           buildpath->Substring(
-                                               virtualPath->get_Length()));
-            }
-            return buildpath;
-        }
-    };
-  }
-}
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Apache::Web::Host.h managed interface for mod_aspdotnet connector namespaces
+
+
+#pragma once
+
+#ifndef APACHE_WEB_H
+#error "#include \"Apache.Web.h\" ... not Host.h!"
+#endif
+#include <stdarg.h>
+
+namespace Apache
+{
+  namespace Web
+  {
+    public __gc class HostFactory;
+
+    public __gc class Host : public MarshalByRefObject
+    {
+    private:
+        // Create our utf8-encoding to handle utf8->unicode names
+        static Encoding *utf8_encoding = new UTF8Encoding(false);
+
+        // our default cultureNeutral object for proper strcmp's
+        static System::Globalization::CultureInfo *neutralCulture
+            = new System::Globalization::CultureInfo("");
+
+        // No trailing slash for this URI-path
+        String *virtualPath;
+        // No trailing backslash for this filesystem path
+        String *physicalPath;
+
+        HostFactory *thisFactory;
+        int thisHostKey;
+
+    protected:
+        void ~Host();
+
+    public:
+        Host()
+        {
+            thisFactory = NULL;
+            thisHostKey = 0;
+        }
+
+        virtual Object* InitializeLifetimeService()
+        {
+            ILease *lease 
+                = __try_cast<ILease*>(MarshalByRefObject::InitializeLifetimeService());
+            if (lease->CurrentState == System::Runtime::Remoting::Lifetime::LeaseState::Initial)  {
+                lease->InitialLeaseTime = TimeSpan::FromDays(366);
+                lease->SponsorshipTimeout = TimeSpan::FromMinutes(2);
+                lease->RenewOnCallTime = TimeSpan::FromMinutes(1);
+            }
+            return lease;
+        }
+
+        // Internal accessor for new Host construction
+        void Configure(String *VirtualPath, String *PhysicalPath,
+                       HostFactory *Factory, int HostKey) 
+        {
+            //
+            // The ApplicationHost::CreateApplicationHost() constructor
+            // doesn't provide us an opportunity to deal with additional
+            // arguments to our Host object constructor; Configure() makes
+            // up for that shortcoming after the Host is instantiated.
+            //
+            thisFactory = Factory;
+            thisHostKey = HostKey;
+            physicalPath = PhysicalPath->Replace(L'/', L'\\');
+            virtualPath = VirtualPath->Replace(L'\\', L'/');
+            if (physicalPath->EndsWith(L"\\")) {
+                physicalPath
+                    = physicalPath->Substring(0, VirtualPath->get_Length() - 1);
+            }
+            if (virtualPath->EndsWith(L"/")) {
+                virtualPath
+                    = virtualPath->Substring(0, VirtualPath->get_Length() - 1);
+            }
+        }
+
+        // Reports an error message in the error log
+        void LogRequestError(String *msg, int loglevel, int rv, request_rec __nogc *rr)
+        {
+            unsigned char avalue __gc[] 
+                = utf8_encoding->GetBytes(msg);
+            unsigned char __pin *msg_text = &avalue[0];
+            ap_log_rerror("Apache.Web", 0, loglevel | (rv ? 0 : APLOG_NOERRNO), rv, rr,
+                          "mod_aspdotnet: %s", (char*) msg_text, NULL);
+        }
+
+        // Instantiates a new Apache.Web.WorkerRequest object from the given request_rec*
+        int HandleRequest(int Req) {
+            try {
+                WorkerRequest *request = new WorkerRequest(Req, this);
+                int status = request->Handler();
+                return status;
+            }
+            catch (Exception *e) {
+                LogRequestError(L"Failed to create ASP.NET Request, "
+                                L"Exception follows", APLOG_ERR, 0,
+                                (request_rec __nogc *)Req);
+                LogRequestError(e->ToString(), APLOG_ERR, 0, 
+                                (request_rec __nogc *)Req);
+                return 500;
+            }
+        }
+
+        // Returns the Virtual URI-path of this host, with no trailing slash
+        String *GetVirtualPath(void) {
+            return virtualPath;
+        }
+
+        // Returns the Physical filesystem path of this host, with no trailing slash
+        String *GetPhysicalPath(void) {
+            return physicalPath;
+        }
+
+        // Translate the given URI-path in this host's Virtual path to a filesystem path
+        String *MapPath(String *path, request_rec __nogc *rr) {
+            //
+            // ...relative to this host's Physical path.  The function returns NULL 
+            // if the given URI-path is outside of the Virtual path of this host. 
+            //
+            String *buildpath;
+
+            if (!path || (path->get_Length() <= 0)) {
+                return physicalPath;
+            }
+            else {
+                buildpath = path->Replace(L'/', L'\\');
+            }
+
+            String *testpath = path->Replace(L'\\', L'/');
+
+            if (testpath->get_Chars(0) == L'/') {
+                if (String::Compare(testpath, 0, virtualPath, 0, 
+                                    virtualPath->get_Length(), 
+                                    true, neutralCulture)) {
+                    String *res = String::Concat(L"MapPath: could not map ", path, 
+                                                 L" within ", virtualPath);
+                    LogRequestError(res, APLOG_DEBUG, 0, rr);
+                    return NULL;
+                }
+                else {
+                    if (testpath->get_Length() > virtualPath->get_Length()) {
+                        buildpath = 
+                            String::Concat(physicalPath,
+                                           buildpath->Substring(
+                                               virtualPath->get_Length()));
+                    }
+                    else {
+                        buildpath = physicalPath;
+                    }
+                }
+            }
+            else {
+                buildpath = String::Concat(physicalPath, L"\\",
+                                           buildpath->Substring(
+                                               virtualPath->get_Length()));
+            }
+            return buildpath;
+        }
+    };
+  }
+}

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/HostFactory.h
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/HostFactory.h	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/HostFactory.h	Fri Jul 16 09:27:17 2004
@@ -1,288 +1,288 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Apache::Web::HostFactory.h managed host engine for mod_aspdotnet initialization
-
-
-#pragma once
-
-#ifndef APACHE_WEB_H
-#error "#include \"Apache.Web.h\" ... not HostFactory.h!"
-#endif
-
-namespace Apache
-{
-  namespace Web
-  {
-    // Forward declare a Host
-    public __gc class Host;
-
-    // The HostFactory engine to instantiate new Host objects
-    public __gc class HostFactory 
-        : public IApacheWebHostFactory, public MarshalByRefObject
-    {
-    private:
-        // Create our utf8-encoding to handle utf8->unicode names
-        Encoding* utf8_encoding;
-        ArrayList* hostURI;
-        ArrayList* hostDir;
-        ArrayList* hostObj;
-        ArrayList* hostSvr;
-
-    private:
-        // Reports an error message in the error log
-        void LogServerError(String *msg, int loglevel, int rv, server_rec __nogc *s)
-        {
-            unsigned char avalue __gc[] = utf8_encoding->GetBytes(msg);
-            unsigned char __pin *msg_text = &avalue[0];
-            ap_log_error("Apache.Web", 0, loglevel|(rv ? 0 : APLOG_NOERRNO),
-                         rv, s, "mod_aspdotnet: %s", (char*) msg_text, NULL);
-        }
-
-
-    public:
-        HostFactory() {
-            utf8_encoding = new UTF8Encoding(false);
-            hostURI = new ArrayList();
-            hostDir = new ArrayList();
-            hostObj = new ArrayList();
-            hostSvr = new ArrayList();
-        }
-
-        virtual Object* InitializeLifetimeService()
-        {
-            // Indestructable, for good reason
-            return NULL;
-        }
-
-        // Returns E_FAIL if HostFactory cannot be configured; path is a noop argument
-        HRESULT Configure(String *path) 
-        {
-#ifdef _DEBUG
-            if (!WorkerRequest::CodeValidate())
-                return E_FAIL;
-            else
-#endif
-                return S_OK;
-        }
-
-        void Destroy(void)
-        {
-            if (utf8_encoding) {
-                utf8_encoding = NULL;
-                int hosts = hostObj->get_Count();
-                for (int i = 0; i < hosts; ++i)
-                {
-                    // Don't fault if the hostObj is already destroyed
-                    try {
-                        hostObj->set_Item(i, NULL);
-                    }
-                    catch (Exception * /*e*/) {
-                    }
-                }
-                hostURI = NULL;
-                hostDir = NULL;
-                hostObj = NULL;
-                hostSvr = NULL;
-            }
-        }
-
-        // Instantiate a new Host object; trailing slashes are acceptable
-        bool ConnectHost(int HostKey) 
-        {
-            Type* hostType = __typeof(Host);
-            Object* newHost;
-
-            try {
-                newHost = ApplicationHost::CreateApplicationHost(hostType,
-                             __try_cast<String*>(hostURI->get_Item(HostKey)),
-                             __try_cast<String*>(hostDir->get_Item(HostKey)));
-                hostObj->set_Item(HostKey, newHost);
-                                  
-                if (newHost) {
-                    Host *host = __try_cast<Host*>(newHost);
-                    host->Configure(
-                             __try_cast<String*>(hostURI->get_Item(HostKey)),
-                             __try_cast<String*>(hostDir->get_Item(HostKey)),
-                             this, HostKey);
-                    return true;
-                }
-                else {
-                    server_rec __nogc *s = (server_rec __nogc *)
-                        (*__try_cast<__box int*>(hostSvr->get_Item(HostKey)));
-                    LogServerError(L"mod_aspdotnet: CreateApplicationHost "
-                                   L"returned NULL, perhaps the AspNetMount "
-                                   L"paths were invalid", APLOG_ERR, 0, s);
-                }
-            }
-            catch (Exception *e) {
-                    server_rec __nogc *s = (server_rec __nogc *)
-                        (*__try_cast<__box int*>(hostSvr->get_Item(HostKey)));
-                LogServerError(L"mod_aspdotnet: CreateApplicationHost failed, "
-                               L"Exception follows", APLOG_ERR, 0, s);
-                LogServerError(e->ToString(), APLOG_ERR, 0, s);
-                hostObj->set_Item(HostKey, NULL);
-            }
-            return false;
-        }
-
-        void HostFinalized(int HostKey, Host *thisHost)
-        {
-            // Destroy only the correct host
-            Threading::Monitor::Enter(this);
-            if (thisHost->Equals(hostObj->get_Item(HostKey)))
-            {
-                try {
-                    hostObj->set_Item(HostKey, NULL);
-                }
-                catch (Exception * /*e*/) {
-                }
-            }
-            Threading::Monitor::Exit(this);
-        }
-
-        // Instantiate a new Host object; trailing slashes are acceptable
-        int CreateHost(String* virtualPath, String* physicalPath, int Server) 
-        {
-            int newHostKey;
-
-            physicalPath = physicalPath->Replace(L'/', L'\\');
-
-            newHostKey = hostObj->get_Count();
-            hostSvr->Add(__box(Server));
-            hostURI->Add(virtualPath);
-            hostDir->Add(physicalPath);
-            hostObj->Add(NULL);
-
-            if (!ConnectHost(newHostKey)) {
-                server_rec __nogc *s = (server_rec __nogc *)Server;
-                String *msg = String::Concat(L"Mount failure creating host ",
-                          __try_cast<String*>(hostURI->get_Item(newHostKey)),
-                                             L" mapped to ",
-                          __try_cast<String*>(hostDir->get_Item(newHostKey)));                                                
-                LogServerError(msg, APLOG_ERR, 0, s);
-                newHostKey = -1;
-            }
-
-            return newHostKey;
-        }
-
-        int HandleHostRequest(int HostKey, int Req) {
-            request_rec __nogc *rr = (request_rec __nogc *)Req;
-            String* msg;
-
-            Object* obj = hostObj->get_Item(HostKey);
-            if (obj != NULL) {
-                try {
-                    Host* host = __try_cast<Host*>(obj);
-                    int status = host->HandleRequest(Req);
-                    return status;
-                }
-                // Presume all Remoting/AppDomainUnloadedExceptions 
-                // require us to recreate the Host.  Fall through...
-                catch (System::Runtime::Remoting::RemotingException *e) {
-                    msg = String::Concat(L"RemotingException; ",
-                                         e->ToString());
-                    LogServerError(msg, APLOG_DEBUG, 0, rr->server);
-                }
-                catch (System::AppDomainUnloadedException *e) {
-                    msg = String::Concat(L"AppDomainUnloadedException; ",
-                                         e->ToString());
-                    LogServerError(msg, APLOG_DEBUG, 0, rr->server);
-                }
-                catch (Exception *e) {
-                    msg = String::Concat(L"HandleRequest: Failed with "
-                                         L"unexpected Exception; ",
-                                         e->ToString());                                                
-                    LogServerError(msg, APLOG_ERR, 0, rr->server);
-                    return 500;
-                }
-            }
-
-            msg = String::Concat(L"Restarting host of ",
-                       __try_cast<String*>(hostURI->get_Item(HostKey)),
-                                 L" mapped to ",
-                       __try_cast<String*>(hostDir->get_Item(HostKey)));
-            LogServerError(msg, APLOG_INFO, 0, rr->server);
-
-            int welocked = 0;
-            try {
-                Threading::Monitor::Enter(this);
-                welocked = 1;
-                Object* tryobj = hostObj->get_Item(HostKey);
-                if (tryobj == obj)
-                {
-                    // Release all stale obj references and catch any
-                    // sort of dispatch exceptions (and ignore them).
-                    try {
-                        hostObj->set_Item(HostKey, NULL);
-                    }
-                    catch (Exception * /*e*/) {
-                    }
-                    try {
-                        obj = tryobj;
-                    }
-                    catch (Exception * /*e*/) {
-                    }
-                }
-                if (obj == NULL) {
-                    if (!ConnectHost(HostKey) || !(obj = hostObj->get_Item(HostKey))) {
-                        Threading::Monitor::Exit(this);
-                        msg = String::Concat(L"Mount failure restarting host ",
-                                   __try_cast<String*>(hostURI->get_Item(HostKey)),
-                                             L" mapped to ",
-                                   __try_cast<String*>(hostDir->get_Item(HostKey)));                                                
-                        LogServerError(msg, APLOG_ERR, 0, rr->server);
-                        return 500;
-                    }
-                }
-                Threading::Monitor::Exit(this);
-            }
-            catch (Exception *e) {
-                if (welocked) {
-                    Threading::Monitor::Exit(this);
-                }
-                msg = String::Concat(L"Mount failure restarting host ",
-                           __try_cast<String*>(hostURI->get_Item(HostKey)),
-                                     L" mapped to ",
-                           __try_cast<String*>(hostDir->get_Item(HostKey)));
-                LogServerError(msg, APLOG_ERR, 0, rr->server);
-                msg = String::Concat(L"Mount failure exception restarting "
-                                     L"host; ", e->ToString());
-                LogServerError(msg, APLOG_ERR, 0, rr->server);
-                return 500;
-            }
-
-            try {
-                Host* host = __try_cast<Host*>(obj);
-                int status = host->HandleRequest(Req);
-                return status;
-            }
-            catch (Exception *e) {
-                msg = String::Concat(L"RequestHandler; failure following "
-                                     L"host restart; ", e->ToString());                                                
-                LogServerError(msg, APLOG_ERR, 0, rr->server);
-            }
-            return 500;
-        }
-
-    protected:
-        void ~HostFactory()
-        {
-            Destroy();
-        }
-    };
-  }
-}
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Apache::Web::HostFactory.h managed host engine for mod_aspdotnet initialization
+
+
+#pragma once
+
+#ifndef APACHE_WEB_H
+#error "#include \"Apache.Web.h\" ... not HostFactory.h!"
+#endif
+
+namespace Apache
+{
+  namespace Web
+  {
+    // Forward declare a Host
+    public __gc class Host;
+
+    // The HostFactory engine to instantiate new Host objects
+    public __gc class HostFactory 
+        : public IApacheWebHostFactory, public MarshalByRefObject
+    {
+    private:
+        // Create our utf8-encoding to handle utf8->unicode names
+        Encoding* utf8_encoding;
+        ArrayList* hostURI;
+        ArrayList* hostDir;
+        ArrayList* hostObj;
+        ArrayList* hostSvr;
+
+    private:
+        // Reports an error message in the error log
+        void LogServerError(String *msg, int loglevel, int rv, server_rec __nogc *s)
+        {
+            unsigned char avalue __gc[] = utf8_encoding->GetBytes(msg);
+            unsigned char __pin *msg_text = &avalue[0];
+            ap_log_error("Apache.Web", 0, loglevel|(rv ? 0 : APLOG_NOERRNO),
+                         rv, s, "mod_aspdotnet: %s", (char*) msg_text, NULL);
+        }
+
+
+    public:
+        HostFactory() {
+            utf8_encoding = new UTF8Encoding(false);
+            hostURI = new ArrayList();
+            hostDir = new ArrayList();
+            hostObj = new ArrayList();
+            hostSvr = new ArrayList();
+        }
+
+        virtual Object* InitializeLifetimeService()
+        {
+            // Indestructable, for good reason
+            return NULL;
+        }
+
+        // Returns E_FAIL if HostFactory cannot be configured; path is a noop argument
+        HRESULT Configure(String *path) 
+        {
+#ifdef _DEBUG
+            if (!WorkerRequest::CodeValidate())
+                return E_FAIL;
+            else
+#endif
+                return S_OK;
+        }
+
+        void Destroy(void)
+        {
+            if (utf8_encoding) {
+                utf8_encoding = NULL;
+                int hosts = hostObj->get_Count();
+                for (int i = 0; i < hosts; ++i)
+                {
+                    // Don't fault if the hostObj is already destroyed
+                    try {
+                        hostObj->set_Item(i, NULL);
+                    }
+                    catch (Exception * /*e*/) {
+                    }
+                }
+                hostURI = NULL;
+                hostDir = NULL;
+                hostObj = NULL;
+                hostSvr = NULL;
+            }
+        }
+
+        // Instantiate a new Host object; trailing slashes are acceptable
+        bool ConnectHost(int HostKey) 
+        {
+            Type* hostType = __typeof(Host);
+            Object* newHost;
+
+            try {
+                newHost = ApplicationHost::CreateApplicationHost(hostType,
+                             __try_cast<String*>(hostURI->get_Item(HostKey)),
+                             __try_cast<String*>(hostDir->get_Item(HostKey)));
+                hostObj->set_Item(HostKey, newHost);
+                                  
+                if (newHost) {
+                    Host *host = __try_cast<Host*>(newHost);
+                    host->Configure(
+                             __try_cast<String*>(hostURI->get_Item(HostKey)),
+                             __try_cast<String*>(hostDir->get_Item(HostKey)),
+                             this, HostKey);
+                    return true;
+                }
+                else {
+                    server_rec __nogc *s = (server_rec __nogc *)
+                        (*__try_cast<__box int*>(hostSvr->get_Item(HostKey)));
+                    LogServerError(L"mod_aspdotnet: CreateApplicationHost "
+                                   L"returned NULL, perhaps the AspNetMount "
+                                   L"paths were invalid", APLOG_ERR, 0, s);
+                }
+            }
+            catch (Exception *e) {
+                    server_rec __nogc *s = (server_rec __nogc *)
+                        (*__try_cast<__box int*>(hostSvr->get_Item(HostKey)));
+                LogServerError(L"mod_aspdotnet: CreateApplicationHost failed, "
+                               L"Exception follows", APLOG_ERR, 0, s);
+                LogServerError(e->ToString(), APLOG_ERR, 0, s);
+                hostObj->set_Item(HostKey, NULL);
+            }
+            return false;
+        }
+
+        void HostFinalized(int HostKey, Host *thisHost)
+        {
+            // Destroy only the correct host
+            Threading::Monitor::Enter(this);
+            if (thisHost->Equals(hostObj->get_Item(HostKey)))
+            {
+                try {
+                    hostObj->set_Item(HostKey, NULL);
+                }
+                catch (Exception * /*e*/) {
+                }
+            }
+            Threading::Monitor::Exit(this);
+        }
+
+        // Instantiate a new Host object; trailing slashes are acceptable
+        int CreateHost(String* virtualPath, String* physicalPath, int Server) 
+        {
+            int newHostKey;
+
+            physicalPath = physicalPath->Replace(L'/', L'\\');
+
+            newHostKey = hostObj->get_Count();
+            hostSvr->Add(__box(Server));
+            hostURI->Add(virtualPath);
+            hostDir->Add(physicalPath);
+            hostObj->Add(NULL);
+
+            if (!ConnectHost(newHostKey)) {
+                server_rec __nogc *s = (server_rec __nogc *)Server;
+                String *msg = String::Concat(L"Mount failure creating host ",
+                          __try_cast<String*>(hostURI->get_Item(newHostKey)),
+                                             L" mapped to ",
+                          __try_cast<String*>(hostDir->get_Item(newHostKey)));                                                
+                LogServerError(msg, APLOG_ERR, 0, s);
+                newHostKey = -1;
+            }
+
+            return newHostKey;
+        }
+
+        int HandleHostRequest(int HostKey, int Req) {
+            request_rec __nogc *rr = (request_rec __nogc *)Req;
+            String* msg;
+
+            Object* obj = hostObj->get_Item(HostKey);
+            if (obj != NULL) {
+                try {
+                    Host* host = __try_cast<Host*>(obj);
+                    int status = host->HandleRequest(Req);
+                    return status;
+                }
+                // Presume all Remoting/AppDomainUnloadedExceptions 
+                // require us to recreate the Host.  Fall through...
+                catch (System::Runtime::Remoting::RemotingException *e) {
+                    msg = String::Concat(L"RemotingException; ",
+                                         e->ToString());
+                    LogServerError(msg, APLOG_DEBUG, 0, rr->server);
+                }
+                catch (System::AppDomainUnloadedException *e) {
+                    msg = String::Concat(L"AppDomainUnloadedException; ",
+                                         e->ToString());
+                    LogServerError(msg, APLOG_DEBUG, 0, rr->server);
+                }
+                catch (Exception *e) {
+                    msg = String::Concat(L"HandleRequest: Failed with "
+                                         L"unexpected Exception; ",
+                                         e->ToString());                                                
+                    LogServerError(msg, APLOG_ERR, 0, rr->server);
+                    return 500;
+                }
+            }
+
+            msg = String::Concat(L"Restarting host of ",
+                       __try_cast<String*>(hostURI->get_Item(HostKey)),
+                                 L" mapped to ",
+                       __try_cast<String*>(hostDir->get_Item(HostKey)));
+            LogServerError(msg, APLOG_INFO, 0, rr->server);
+
+            int welocked = 0;
+            try {
+                Threading::Monitor::Enter(this);
+                welocked = 1;
+                Object* tryobj = hostObj->get_Item(HostKey);
+                if (tryobj == obj)
+                {
+                    // Release all stale obj references and catch any
+                    // sort of dispatch exceptions (and ignore them).
+                    try {
+                        hostObj->set_Item(HostKey, NULL);
+                    }
+                    catch (Exception * /*e*/) {
+                    }
+                    try {
+                        obj = tryobj;
+                    }
+                    catch (Exception * /*e*/) {
+                    }
+                }
+                if (obj == NULL) {
+                    if (!ConnectHost(HostKey) || !(obj = hostObj->get_Item(HostKey))) {
+                        Threading::Monitor::Exit(this);
+                        msg = String::Concat(L"Mount failure restarting host ",
+                                   __try_cast<String*>(hostURI->get_Item(HostKey)),
+                                             L" mapped to ",
+                                   __try_cast<String*>(hostDir->get_Item(HostKey)));                                                
+                        LogServerError(msg, APLOG_ERR, 0, rr->server);
+                        return 500;
+                    }
+                }
+                Threading::Monitor::Exit(this);
+            }
+            catch (Exception *e) {
+                if (welocked) {
+                    Threading::Monitor::Exit(this);
+                }
+                msg = String::Concat(L"Mount failure restarting host ",
+                           __try_cast<String*>(hostURI->get_Item(HostKey)),
+                                     L" mapped to ",
+                           __try_cast<String*>(hostDir->get_Item(HostKey)));
+                LogServerError(msg, APLOG_ERR, 0, rr->server);
+                msg = String::Concat(L"Mount failure exception restarting "
+                                     L"host; ", e->ToString());
+                LogServerError(msg, APLOG_ERR, 0, rr->server);
+                return 500;
+            }
+
+            try {
+                Host* host = __try_cast<Host*>(obj);
+                int status = host->HandleRequest(Req);
+                return status;
+            }
+            catch (Exception *e) {
+                msg = String::Concat(L"RequestHandler; failure following "
+                                     L"host restart; ", e->ToString());                                                
+                LogServerError(msg, APLOG_ERR, 0, rr->server);
+            }
+            return 500;
+        }
+
+    protected:
+        void ~HostFactory()
+        {
+            Destroy();
+        }
+    };
+  }
+}

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/WorkerRequest.cpp
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/WorkerRequest.cpp	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/WorkerRequest.cpp	Fri Jul 16 09:27:17 2004
@@ -1,551 +1,551 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Apache::Web::WorkerRequest.cpp support code for mod_aspdotnet
-
-
-#using <mscorlib.dll>
-#using <System.Web.dll>
-#include "Apache.Web.h"
-
-#define size_t apr_size_t
-
-Apache::Web::Host::~Host()
-{
-    // thisFactory may have already evaporated, ignore the fault
-    try {
-        thisFactory->HostFinalized(thisHostKey, this);
-    }
-    catch (Exception * /*e*/) {
-    }
-}
-
-Apache::Web::WorkerRequest::WorkerRequest(int Req, Host *ThisHost) 
-        : SimpleWorkerRequest(String::Empty, String::Empty, 0)
-{
-    // Initialize empty placeholders
-    known_req_header_value = new String* [RequestHeaderMaximum];
-    unk_req_header_name = new ArrayList();
-    unk_req_header_value = new ArrayList();
-    env_var = new ArrayList();
-    env_value = new ArrayList();
-    serverName = NULL;
-    remoteName = NULL;
-    seen_eos = 0;
-    body_sent = 0;
-    bytes_read = 0;
-
-    // Initialize state pointers to our encoding, request and host
-    rr = (request_rec __nogc *)Req;
-    host = ThisHost;
-
-    // Deal with the usual request variables
-    uri = rr->uri;
-    unparsed_uri = rr->unparsed_uri;
-
-    queryargs = rr->args;
-    if (!rr->args || !*rr->args) {
-        query_raw = new unsigned char __gc[0];
-    }
-    else {
-        apr_size_t len = strlen(rr->args);
-        query_raw = new unsigned char __gc[len];
-        unsigned char __pin *foo = &query_raw[0];
-        memcpy(foo, rr->args, len);
-    }
-
-    // rr->filename is utf-8 encoded for Apache 2.0/WinNT
-    filename = new String(rr->filename ? rr->filename : "", 0, 
-                            rr->filename ? strlen(rr->filename) : 0, 
-                            utf8_encoding);
-    filename = filename->Replace(L'/', L'\\');
-
-    // Now deal with the client's request headers
-    const apr_array_header_t __nogc* arr = apr_table_elts(rr->headers_in);
-    const char __nogc* elt = arr->elts;
-    for (int i = 0; i < arr->nelts; ++i, elt += arr->elt_size) {
-        apr_table_entry_t __nogc* pair = (apr_table_entry_t *)(void*)(elt);
-        String* key(pair->key);
-        String* val(pair->val);
-        int ent = Array::IndexOf(request_headers_s, key);
-        if (ent >= 0) {
-            known_req_header_value[ent] = val;
-        }
-        else {
-            unk_req_header_name->Add(key);
-            unk_req_header_value->Add(val);
-        }
-    }
-
-    int elts = unk_req_header_value->get_Count();
-    unk_req_hdr_arr = new _gcA_gcA_gcString(elts);
-
-    for (int i = 0; i < elts; ++i) {
-        String __gc* ent __gc[] = new String __gc* __gc[2];
-        ent[0] = static_cast<String *>(unk_req_header_name->get_Item(i));
-        ent[1] = static_cast<String *>(unk_req_header_value->get_Item(i));
-        unk_req_hdr_arr->Set(i, ent);
-    }
-
-    arr = apr_table_elts(rr->subprocess_env);
-    elt = arr->elts;
-    for (int i = 0; i < arr->nelts; ++i, elt += arr->elt_size) {
-        apr_table_entry_t __nogc* pair = (apr_table_entry_t *)(void*)(elt);
-        String* var(pair->key);
-        String* val(pair->val);
-        env_var->Add(var);
-        env_value->Add(val);
-    }
-}
-
-// Functions that require the full declaration 
-// of Apache::Web::::Host which must be declared 
-// after Apache::Web::WorkerRequest
-//
-
-void Apache::Web::WorkerRequest::LogRequestError(String *msg, int loglevel, int rv) {
-    host->LogRequestError(msg, loglevel, rv, rr);
-}
-
-String* Apache::Web::WorkerRequest::MapPath(String* path)
-{
-    String *mapped = host->MapPath(path, rr);
-#ifdef _DEBUG
-    String *res = String::Concat(L"MapPath: ", path, 
-                                 L" mapped to ", mapped);
-    LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-    return mapped;
-}
-
-String* Apache::Web::WorkerRequest::GetAppPath(void)
-{
-#ifdef _DEBUG
-    String *res = String::Concat(L"GetAppPath: returns ", host->GetVirtualPath());
-    LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-    return host->GetVirtualPath();
-}
-
-String* Apache::Web::WorkerRequest::GetAppPathTranslated(void) 
-{
-    String *bslashed = host->GetPhysicalPath();
-    bslashed = bslashed->Insert(bslashed->get_Length(), L"\\");
-#ifdef _DEBUG
-    String *res = String::Concat(L"GetAppPathTranslated: returns ", bslashed);
-    LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-    return bslashed;
-}
-
-String* Apache::Web::WorkerRequest::GetFilePath(void)
-{
-    // Break URI matching filename, ignoring path_info
-    String* strip = host->GetPhysicalPath();
-    String* path = filename;
-    if (path->StartsWith(strip)) {
-        path = path->Substring(strip->get_Length());
-        path = path->Insert(0, host->GetVirtualPath());
-        path = path->Replace(L'\\', L'/');
-    }
-#ifdef _DEBUG
-    String *res = String::Concat(L"GetFilePath: returns ", path);
-    LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-    return path;
-}
-
-
-#pragma unmanaged
-static apr_status_t InternalFlushResponse(request_rec __nogc *rr)
-{   
-    conn_rec __nogc *c = rr->connection;
-    apr_bucket_brigade __nogc *bb;
-    apr_bucket __nogc *b;
-
-    bb = apr_brigade_create(rr->pool, c->bucket_alloc);
-    b = apr_bucket_eos_create(c->bucket_alloc);
-    APR_BRIGADE_INSERT_TAIL(bb, b);
-    return ap_pass_brigade(rr->output_filters, bb);
-}
-#pragma managed
-
-void Apache::Web::WorkerRequest::FlushResponse(bool finalFlush)
-{
-    if (finalFlush) {
-        InternalFlushResponse(rr);
-
-        // Even a a no-body request, the body was flushed
-        body_sent = 1;
-
-        // Report completion
-        if (eosnCallback) {
-            eosnCallback->Invoke(this, eosnExtra);
-            eosnCallback = NULL;
-        }
-#ifdef _DEBUG
-        LogRequestError(L"FlushResponse: final", APLOG_DEBUG, 0);
-#endif
-    }
-#ifdef _DEBUG
-    else {
-        LogRequestError(L"FlushResponse: incomplete", APLOG_DEBUG, 0);
-    }
-#endif
-}
-
-
-#pragma unmanaged
-static apr_status_t InternalResponseFromMemory(request_rec __nogc *rr,
-                                               const char __nogc *buf_data,
-                                               int length)
-{   
-    conn_rec __nogc *c = rr->connection;
-    apr_bucket_brigade __nogc *bb;
-    apr_bucket __nogc *b;
-
-    bb = apr_brigade_create(rr->pool, c->bucket_alloc);
-    b = apr_bucket_transient_create(buf_data, length, c->bucket_alloc);
-    APR_BRIGADE_INSERT_TAIL(bb, b);
-    b = apr_bucket_flush_create(c->bucket_alloc);
-    APR_BRIGADE_INSERT_TAIL(bb, b);
-    return ap_pass_brigade(rr->output_filters, bb);
-}
-#pragma managed
-
-void Apache::Web::WorkerRequest::SendResponseFromMemory(IntPtr data, 
-                                                        int length)
-{   
-    if (!length) {
-#ifdef _DEBUG
-        LogRequestError("SendResponseFromMemory: passed zero byte buffer!", APLOG_DEBUG, 0);
-#endif
-        return;
-    }
-    const char __nogc *buf_data 
-        = static_cast<const char __nogc *>(data.ToPointer());
-
-#ifdef _DEBUG
-    String *res = String::Concat(L"SendResponseFromMemory: passed ", 
-                                 (new Int32(length))->ToString(), 
-                                 L" byte buffer"); 
-    LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-    apr_status_t rv = InternalResponseFromMemory(rr, buf_data, length);
-    body_sent = 1;
-
-    // Failure, terminate request processing 
-    if (rv != APR_SUCCESS)  {
-        LogRequestError(L"SendResponseFromMemory: failure", APLOG_WARNING, rv);
-        //   && eosnCallback) {
-        // eosnCallback->Invoke(this, eosnExtra);
-    }
-}
-
-#pragma unmanaged
-static apr_status_t InternalResponseFromFile(request_rec __nogc *rr, HANDLE hv,
-                                             __int64 offset, __int64 length) 
-{
-    conn_rec __nogc *c = rr->connection;
-    apr_bucket_brigade __nogc *bb;
-    apr_bucket __nogc *b;
-    apr_file_t __nogc *fd;
-    apr_off_t fsize;
-    apr_status_t rv;
-
-    rv = apr_os_file_put(&fd, &hv, APR_READ | APR_XTHREAD, rr->pool);
-    if (rv != APR_SUCCESS) {
-        return rv;
-    }
-    if (length) {
-        fsize = length;
-    }
-    else {
-        apr_finfo_t fi;
-        rv = apr_file_info_get(&fi, APR_FINFO_SIZE, fd);
-        if (rv != APR_SUCCESS) {
-            return rv;
-        }
-        fsize = fi.size - offset;
-    }
-
-    bb = apr_brigade_create(rr->pool, c->bucket_alloc);
-#if APR_HAS_LARGE_FILES
-    if (rr->finfo.size > AP_MAX_SENDFILE) {
-        // APR_HAS_LARGE_FILES issue; must split into mutiple buckets,
-        // no greater than MAX(apr_size_t) .. we trust AP_MAX_SENDFILE
-        //
-        b = apr_bucket_file_create(fd, offset, AP_MAX_SENDFILE, 
-                                   rr->pool, c->bucket_alloc);
-        while (fsize > AP_MAX_SENDFILE) {
-            apr_bucket *bc;
-            apr_bucket_copy(b, &bc);
-            APR_BRIGADE_INSERT_TAIL(bb, bc);
-            b->start += AP_MAX_SENDFILE;
-            fsize -= AP_MAX_SENDFILE;
-        }
-        b->length = (apr_size_t)fsize;  // Resize just the last bucket
-    }
-    else
-#endif
-        b = apr_bucket_file_create(fd, offset, (apr_size_t)fsize, 
-                                    rr->pool, c->bucket_alloc);
-    APR_BRIGADE_INSERT_TAIL(bb, b);
-    b = apr_bucket_flush_create(c->bucket_alloc);
-    APR_BRIGADE_INSERT_TAIL(bb, b);
-    return ap_pass_brigade(rr->output_filters, bb);
-}
-#pragma managed
-
-void Apache::Web::WorkerRequest::SendResponseFromFile(IntPtr handle, 
-                                                      __int64 offset, 
-                                                      __int64 length)
-{
-    if (!length) {
-#ifdef _DEBUG
-        LogRequestError("SendResponseFromFile: passed zero byte length!", APLOG_DEBUG, 0);
-#endif
-        return;
-    }
-
-#ifdef _DEBUG
-    String *res = String::Concat(L"SendResponseFromFile: passed ", 
-                                 (new Int64(length))->ToString(), 
-                                 L" byte request starting at offset ",
-                                 (new Int64(offset))->ToString()); 
-    LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-
-    HANDLE hv = static_cast<HANDLE>(handle.ToPointer());
-
-    apr_status_t rv = InternalResponseFromFile(rr, hv, offset, length);
-    body_sent = 1;
-
-    // Failure, terminate request processing 
-    if (rv != APR_SUCCESS) {
-        LogRequestError(L"SendResponseFromFile: failure", APLOG_WARNING, rv);
-        //   && eosnCallback) {
-        // eosnCallback->Invoke(this, eosnExtra);
-    }
-}
-
-
-#pragma unmanaged
-static apr_status_t InternalReadEntityBody(request_rec __nogc* rr, char __nogc* curptr,
-                                           apr_size_t size, int __nogc* bytes_read,
-                                           int __nogc* overflow, int __nogc* seen_eos)
-{
-    apr_bucket_brigade *bb;
-    apr_status_t rv;
-    *overflow = 0;
-    *bytes_read = 0;
-
-    // Reader-Writer helpers
-    apr_bucket __nogc *dummy_flush_bucket;
-    apr_bucket __nogc *dummy_eos_bucket;
-    dummy_flush_bucket = apr_bucket_flush_create(rr->connection->bucket_alloc);
-    dummy_eos_bucket = apr_bucket_eos_create(rr->connection->bucket_alloc);
-
-    bb = apr_brigade_create(rr->pool, rr->connection->bucket_alloc);
-    do {
-        apr_bucket *bucket;
-        apr_size_t size_one = (HUGE_STRING_LEN <= size ? HUGE_STRING_LEN : size);
-
-        if ((rv = ap_get_brigade(rr->input_filters, bb, 
-                                 AP_MODE_READBYTES,
-                                 APR_BLOCK_READ, size_one))
-                != APR_SUCCESS) {
-            return rv;
-        }
-
-        APR_BRIGADE_FOREACH(bucket, bb) {
-            if (bucket->type == dummy_eos_bucket->type) {
-                *seen_eos = 1;
-                break;
-            }
-            if (bucket->type == dummy_flush_bucket->type) {
-                continue;
-            }
-            const char *data;
-            apr_size_t len;
-            rv = apr_bucket_read(bucket, &data, &len, APR_BLOCK_READ);
-            if (rv != APR_SUCCESS) {
-                return rv;
-            }
-            if (len > size) {
-                *overflow += len - size;
-                len = size;
-            }
-            if (size) {
-                memcpy(curptr, data, len);
-                *bytes_read += len;
-                curptr += len;
-                size -= len;
-            }
-        }
-        apr_brigade_cleanup(bb);
-    }
-    while (!*seen_eos && (size > 0));
-
-    return APR_SUCCESS;
-}
-#pragma managed
-
-
-int Apache::Web::WorkerRequest::ReadEntityBody(unsigned char buffer __gc[],
-                                                 int size) 
-{
-    if (buffer->get_Length() < 1) {
-#ifdef _DEBUG
-        LogRequestError(L"ReadEntityBody: noread (passed 0 byte buffer)", APLOG_DEBUG, 0);
-#endif
-        return 0;
-    }
-    int __pin *eos = &seen_eos;
-    int read;
-    int overflow;
-    unsigned char __pin *lockbuff = &buffer[0];
-    void *startptr = static_cast<void __nogc*>(lockbuff);
-    apr_status_t rv = InternalReadEntityBody(rr, static_cast<char __nogc*>(startptr), 
-                                             (apr_size_t)size, &read, &overflow, eos);
-    bytes_read += read;
-    if (rv != APR_SUCCESS) {
-        LogRequestError(L"ReadEntityBody: brigade read failure "
-                        L"reading the request body", APLOG_ERR, rv);
-    }
-    if (overflow) {
-        LogRequestError(L"ReadEntityBody: brigade read overflow "
-                        L"reading the request body", APLOG_ERR, rv);
-    }
-#ifdef _DEBUG
-    String *res = String::Concat(L"ReadEntityBody: read ", 
-                                 (new Int32(read))->ToString(), 
-                                 L" bytes");
-    LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-    return read;
-}
-
-
-int Apache::Web::WorkerRequest::Handler(void)
-{
-    wait_complete = new System::Threading::ManualResetEvent(false);
-    apr_bucket_brigade __nogc* bb;
-    apr_status_t rv;
-    apr_size_t size = 0;
-
-    // Reader-Writer helpers
-    //
-    // Yes, this code is remarkably similar to InternalReadEntityBody,
-    // however, for speed that code is entirely managed and incapable
-    // of allocating a char __gc[] that we need below.  In the code
-    // below, we allocate exactly the correct __gc[] required to
-    // store the initial bytes, up to the MS semi-standard 49152.
-    //
-    apr_bucket __nogc *dummy_flush_bucket;
-    apr_bucket __nogc *dummy_eos_bucket;
-    dummy_flush_bucket = apr_bucket_flush_create(rr->connection->bucket_alloc);
-    dummy_eos_bucket = apr_bucket_eos_create(rr->connection->bucket_alloc);
-
-    bb = apr_brigade_create(rr->pool, rr->connection->bucket_alloc);
-
-    apr_bucket __nogc* bucket;
-
-    if ((rv = ap_get_brigade(rr->input_filters, bb, 
-                             AP_MODE_READBYTES,
-                             APR_BLOCK_READ, 49152))
-            == APR_SUCCESS) {
-        apr_off_t sz;
-        rv = apr_brigade_length(bb, 1, &sz);
-        size = (apr_size_t)sz;
-        preread_body = new unsigned char __gc[size];
-        unsigned char __pin *lockbuff;
-        char __nogc *curptr = NULL;
-        if (size > 0) {
-            lockbuff = &preread_body[0];
-            void *startptr = static_cast<void __nogc*>(lockbuff);
-            curptr = static_cast<char __nogc*>(startptr);
-        }
-        APR_BRIGADE_FOREACH(bucket, bb) {
-            if (bucket->type == dummy_eos_bucket->type) {
-                seen_eos = 1;
-                break;
-            }
-            if (bucket->type == dummy_flush_bucket->type) {
-                continue;
-            }
-            const char *data;
-            apr_size_t len;
-            rv = apr_bucket_read(bucket, &data, &len, APR_BLOCK_READ);
-            if (rv != APR_SUCCESS) {
-                LogRequestError(L"Handler: brigade read failure prereading "
-                                L"the request body", APLOG_ERR, rv);
-            }
-            if (len > size) {
-                len = size;
-                LogRequestError(L"Handler: brigade read overflow prereading "
-                                L"the request body", APLOG_ERR, 0);
-            }
-            if (size) {
-                memcpy(curptr, data, len);
-                bytes_read += len;
-                curptr += len;
-                size -= len;
-            }
-        }
-        apr_brigade_cleanup(bb);
-#ifdef _DEBUG
-        String *res = String::Concat(L"Handler: preread ", 
-                                    (new Int64(bytes_read))->ToString(), 
-                                    L" request body bytes");
-        LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-    }
-    else {
-        LogRequestError(L"Handler: failed to preread the request body",
-                        APLOG_ERR, rv);
-        return 500;
-    }
-
-    try {
-        HttpRuntime::ProcessRequest(this);
-    }
-    catch (Exception *e) {
-        if (!body_sent) {
-            rr->status = 500;
-            rr->status_line = ap_get_status_line(rr->status);
-        }
-        String *msg = String::Concat(L"ProcessRequest: fatal exception "
-                                     L"processing request ", uri, 
-                                     L" exception follows;");
-        LogRequestError(msg, APLOG_ERR, 0);
-        LogRequestError(e->ToString(), APLOG_ERR, 0);
-    }
-
-    // Stall... if we didn't complete the request, we must wait
-    // for EndOfRequest before being destroyed.
-    wait_complete->WaitOne();
-
-#ifdef _DEBUG
-    LogRequestError(L"Handler: request processing complete", APLOG_DEBUG, 0);
-#endif
-
-    if (!body_sent) {
-        return rr->status;
-    }
-    else {
-        return OK;
-    }
-}
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Apache::Web::WorkerRequest.cpp support code for mod_aspdotnet
+
+
+#using <mscorlib.dll>
+#using <System.Web.dll>
+#include "Apache.Web.h"
+
+#define size_t apr_size_t
+
+Apache::Web::Host::~Host()
+{
+    // thisFactory may have already evaporated, ignore the fault
+    try {
+        thisFactory->HostFinalized(thisHostKey, this);
+    }
+    catch (Exception * /*e*/) {
+    }
+}
+
+Apache::Web::WorkerRequest::WorkerRequest(int Req, Host *ThisHost) 
+        : SimpleWorkerRequest(String::Empty, String::Empty, 0)
+{
+    // Initialize empty placeholders
+    known_req_header_value = new String* [RequestHeaderMaximum];
+    unk_req_header_name = new ArrayList();
+    unk_req_header_value = new ArrayList();
+    env_var = new ArrayList();
+    env_value = new ArrayList();
+    serverName = NULL;
+    remoteName = NULL;
+    seen_eos = 0;
+    body_sent = 0;
+    bytes_read = 0;
+
+    // Initialize state pointers to our encoding, request and host
+    rr = (request_rec __nogc *)Req;
+    host = ThisHost;
+
+    // Deal with the usual request variables
+    uri = rr->uri;
+    unparsed_uri = rr->unparsed_uri;
+
+    queryargs = rr->args;
+    if (!rr->args || !*rr->args) {
+        query_raw = new unsigned char __gc[0];
+    }
+    else {
+        apr_size_t len = strlen(rr->args);
+        query_raw = new unsigned char __gc[len];
+        unsigned char __pin *foo = &query_raw[0];
+        memcpy(foo, rr->args, len);
+    }
+
+    // rr->filename is utf-8 encoded for Apache 2.0/WinNT
+    filename = new String(rr->filename ? rr->filename : "", 0, 
+                            rr->filename ? strlen(rr->filename) : 0, 
+                            utf8_encoding);
+    filename = filename->Replace(L'/', L'\\');
+
+    // Now deal with the client's request headers
+    const apr_array_header_t __nogc* arr = apr_table_elts(rr->headers_in);
+    const char __nogc* elt = arr->elts;
+    for (int i = 0; i < arr->nelts; ++i, elt += arr->elt_size) {
+        apr_table_entry_t __nogc* pair = (apr_table_entry_t *)(void*)(elt);
+        String* key(pair->key);
+        String* val(pair->val);
+        int ent = Array::IndexOf(request_headers_s, key);
+        if (ent >= 0) {
+            known_req_header_value[ent] = val;
+        }
+        else {
+            unk_req_header_name->Add(key);
+            unk_req_header_value->Add(val);
+        }
+    }
+
+    int elts = unk_req_header_value->get_Count();
+    unk_req_hdr_arr = new _gcA_gcA_gcString(elts);
+
+    for (int i = 0; i < elts; ++i) {
+        String __gc* ent __gc[] = new String __gc* __gc[2];
+        ent[0] = static_cast<String *>(unk_req_header_name->get_Item(i));
+        ent[1] = static_cast<String *>(unk_req_header_value->get_Item(i));
+        unk_req_hdr_arr->Set(i, ent);
+    }
+
+    arr = apr_table_elts(rr->subprocess_env);
+    elt = arr->elts;
+    for (int i = 0; i < arr->nelts; ++i, elt += arr->elt_size) {
+        apr_table_entry_t __nogc* pair = (apr_table_entry_t *)(void*)(elt);
+        String* var(pair->key);
+        String* val(pair->val);
+        env_var->Add(var);
+        env_value->Add(val);
+    }
+}
+
+// Functions that require the full declaration 
+// of Apache::Web::::Host which must be declared 
+// after Apache::Web::WorkerRequest
+//
+
+void Apache::Web::WorkerRequest::LogRequestError(String *msg, int loglevel, int rv) {
+    host->LogRequestError(msg, loglevel, rv, rr);
+}
+
+String* Apache::Web::WorkerRequest::MapPath(String* path)
+{
+    String *mapped = host->MapPath(path, rr);
+#ifdef _DEBUG
+    String *res = String::Concat(L"MapPath: ", path, 
+                                 L" mapped to ", mapped);
+    LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+    return mapped;
+}
+
+String* Apache::Web::WorkerRequest::GetAppPath(void)
+{
+#ifdef _DEBUG
+    String *res = String::Concat(L"GetAppPath: returns ", host->GetVirtualPath());
+    LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+    return host->GetVirtualPath();
+}
+
+String* Apache::Web::WorkerRequest::GetAppPathTranslated(void) 
+{
+    String *bslashed = host->GetPhysicalPath();
+    bslashed = bslashed->Insert(bslashed->get_Length(), L"\\");
+#ifdef _DEBUG
+    String *res = String::Concat(L"GetAppPathTranslated: returns ", bslashed);
+    LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+    return bslashed;
+}
+
+String* Apache::Web::WorkerRequest::GetFilePath(void)
+{
+    // Break URI matching filename, ignoring path_info
+    String* strip = host->GetPhysicalPath();
+    String* path = filename;
+    if (path->StartsWith(strip)) {
+        path = path->Substring(strip->get_Length());
+        path = path->Insert(0, host->GetVirtualPath());
+        path = path->Replace(L'\\', L'/');
+    }
+#ifdef _DEBUG
+    String *res = String::Concat(L"GetFilePath: returns ", path);
+    LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+    return path;
+}
+
+
+#pragma unmanaged
+static apr_status_t InternalFlushResponse(request_rec __nogc *rr)
+{   
+    conn_rec __nogc *c = rr->connection;
+    apr_bucket_brigade __nogc *bb;
+    apr_bucket __nogc *b;
+
+    bb = apr_brigade_create(rr->pool, c->bucket_alloc);
+    b = apr_bucket_eos_create(c->bucket_alloc);
+    APR_BRIGADE_INSERT_TAIL(bb, b);
+    return ap_pass_brigade(rr->output_filters, bb);
+}
+#pragma managed
+
+void Apache::Web::WorkerRequest::FlushResponse(bool finalFlush)
+{
+    if (finalFlush) {
+        InternalFlushResponse(rr);
+
+        // Even a a no-body request, the body was flushed
+        body_sent = 1;
+
+        // Report completion
+        if (eosnCallback) {
+            eosnCallback->Invoke(this, eosnExtra);
+            eosnCallback = NULL;
+        }
+#ifdef _DEBUG
+        LogRequestError(L"FlushResponse: final", APLOG_DEBUG, 0);
+#endif
+    }
+#ifdef _DEBUG
+    else {
+        LogRequestError(L"FlushResponse: incomplete", APLOG_DEBUG, 0);
+    }
+#endif
+}
+
+
+#pragma unmanaged
+static apr_status_t InternalResponseFromMemory(request_rec __nogc *rr,
+                                               const char __nogc *buf_data,
+                                               int length)
+{   
+    conn_rec __nogc *c = rr->connection;
+    apr_bucket_brigade __nogc *bb;
+    apr_bucket __nogc *b;
+
+    bb = apr_brigade_create(rr->pool, c->bucket_alloc);
+    b = apr_bucket_transient_create(buf_data, length, c->bucket_alloc);
+    APR_BRIGADE_INSERT_TAIL(bb, b);
+    b = apr_bucket_flush_create(c->bucket_alloc);
+    APR_BRIGADE_INSERT_TAIL(bb, b);
+    return ap_pass_brigade(rr->output_filters, bb);
+}
+#pragma managed
+
+void Apache::Web::WorkerRequest::SendResponseFromMemory(IntPtr data, 
+                                                        int length)
+{   
+    if (!length) {
+#ifdef _DEBUG
+        LogRequestError("SendResponseFromMemory: passed zero byte buffer!", APLOG_DEBUG, 0);
+#endif
+        return;
+    }
+    const char __nogc *buf_data 
+        = static_cast<const char __nogc *>(data.ToPointer());
+
+#ifdef _DEBUG
+    String *res = String::Concat(L"SendResponseFromMemory: passed ", 
+                                 (new Int32(length))->ToString(), 
+                                 L" byte buffer"); 
+    LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+    apr_status_t rv = InternalResponseFromMemory(rr, buf_data, length);
+    body_sent = 1;
+
+    // Failure, terminate request processing 
+    if (rv != APR_SUCCESS)  {
+        LogRequestError(L"SendResponseFromMemory: failure", APLOG_WARNING, rv);
+        //   && eosnCallback) {
+        // eosnCallback->Invoke(this, eosnExtra);
+    }
+}
+
+#pragma unmanaged
+static apr_status_t InternalResponseFromFile(request_rec __nogc *rr, HANDLE hv,
+                                             __int64 offset, __int64 length) 
+{
+    conn_rec __nogc *c = rr->connection;
+    apr_bucket_brigade __nogc *bb;
+    apr_bucket __nogc *b;
+    apr_file_t __nogc *fd;
+    apr_off_t fsize;
+    apr_status_t rv;
+
+    rv = apr_os_file_put(&fd, &hv, APR_READ | APR_XTHREAD, rr->pool);
+    if (rv != APR_SUCCESS) {
+        return rv;
+    }
+    if (length) {
+        fsize = length;
+    }
+    else {
+        apr_finfo_t fi;
+        rv = apr_file_info_get(&fi, APR_FINFO_SIZE, fd);
+        if (rv != APR_SUCCESS) {
+            return rv;
+        }
+        fsize = fi.size - offset;
+    }
+
+    bb = apr_brigade_create(rr->pool, c->bucket_alloc);
+#if APR_HAS_LARGE_FILES
+    if (rr->finfo.size > AP_MAX_SENDFILE) {
+        // APR_HAS_LARGE_FILES issue; must split into mutiple buckets,
+        // no greater than MAX(apr_size_t) .. we trust AP_MAX_SENDFILE
+        //
+        b = apr_bucket_file_create(fd, offset, AP_MAX_SENDFILE, 
+                                   rr->pool, c->bucket_alloc);
+        while (fsize > AP_MAX_SENDFILE) {
+            apr_bucket *bc;
+            apr_bucket_copy(b, &bc);
+            APR_BRIGADE_INSERT_TAIL(bb, bc);
+            b->start += AP_MAX_SENDFILE;
+            fsize -= AP_MAX_SENDFILE;
+        }
+        b->length = (apr_size_t)fsize;  // Resize just the last bucket
+    }
+    else
+#endif
+        b = apr_bucket_file_create(fd, offset, (apr_size_t)fsize, 
+                                    rr->pool, c->bucket_alloc);
+    APR_BRIGADE_INSERT_TAIL(bb, b);
+    b = apr_bucket_flush_create(c->bucket_alloc);
+    APR_BRIGADE_INSERT_TAIL(bb, b);
+    return ap_pass_brigade(rr->output_filters, bb);
+}
+#pragma managed
+
+void Apache::Web::WorkerRequest::SendResponseFromFile(IntPtr handle, 
+                                                      __int64 offset, 
+                                                      __int64 length)
+{
+    if (!length) {
+#ifdef _DEBUG
+        LogRequestError("SendResponseFromFile: passed zero byte length!", APLOG_DEBUG, 0);
+#endif
+        return;
+    }
+
+#ifdef _DEBUG
+    String *res = String::Concat(L"SendResponseFromFile: passed ", 
+                                 (new Int64(length))->ToString(), 
+                                 L" byte request starting at offset ",
+                                 (new Int64(offset))->ToString()); 
+    LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+
+    HANDLE hv = static_cast<HANDLE>(handle.ToPointer());
+
+    apr_status_t rv = InternalResponseFromFile(rr, hv, offset, length);
+    body_sent = 1;
+
+    // Failure, terminate request processing 
+    if (rv != APR_SUCCESS) {
+        LogRequestError(L"SendResponseFromFile: failure", APLOG_WARNING, rv);
+        //   && eosnCallback) {
+        // eosnCallback->Invoke(this, eosnExtra);
+    }
+}
+
+
+#pragma unmanaged
+static apr_status_t InternalReadEntityBody(request_rec __nogc* rr, char __nogc* curptr,
+                                           apr_size_t size, int __nogc* bytes_read,
+                                           int __nogc* overflow, int __nogc* seen_eos)
+{
+    apr_bucket_brigade *bb;
+    apr_status_t rv;
+    *overflow = 0;
+    *bytes_read = 0;
+
+    // Reader-Writer helpers
+    apr_bucket __nogc *dummy_flush_bucket;
+    apr_bucket __nogc *dummy_eos_bucket;
+    dummy_flush_bucket = apr_bucket_flush_create(rr->connection->bucket_alloc);
+    dummy_eos_bucket = apr_bucket_eos_create(rr->connection->bucket_alloc);
+
+    bb = apr_brigade_create(rr->pool, rr->connection->bucket_alloc);
+    do {
+        apr_bucket *bucket;
+        apr_size_t size_one = (HUGE_STRING_LEN <= size ? HUGE_STRING_LEN : size);
+
+        if ((rv = ap_get_brigade(rr->input_filters, bb, 
+                                 AP_MODE_READBYTES,
+                                 APR_BLOCK_READ, size_one))
+                != APR_SUCCESS) {
+            return rv;
+        }
+
+        APR_BRIGADE_FOREACH(bucket, bb) {
+            if (bucket->type == dummy_eos_bucket->type) {
+                *seen_eos = 1;
+                break;
+            }
+            if (bucket->type == dummy_flush_bucket->type) {
+                continue;
+            }
+            const char *data;
+            apr_size_t len;
+            rv = apr_bucket_read(bucket, &data, &len, APR_BLOCK_READ);
+            if (rv != APR_SUCCESS) {
+                return rv;
+            }
+            if (len > size) {
+                *overflow += len - size;
+                len = size;
+            }
+            if (size) {
+                memcpy(curptr, data, len);
+                *bytes_read += len;
+                curptr += len;
+                size -= len;
+            }
+        }
+        apr_brigade_cleanup(bb);
+    }
+    while (!*seen_eos && (size > 0));
+
+    return APR_SUCCESS;
+}
+#pragma managed
+
+
+int Apache::Web::WorkerRequest::ReadEntityBody(unsigned char buffer __gc[],
+                                                 int size) 
+{
+    if (buffer->get_Length() < 1) {
+#ifdef _DEBUG
+        LogRequestError(L"ReadEntityBody: noread (passed 0 byte buffer)", APLOG_DEBUG, 0);
+#endif
+        return 0;
+    }
+    int __pin *eos = &seen_eos;
+    int read;
+    int overflow;
+    unsigned char __pin *lockbuff = &buffer[0];
+    void *startptr = static_cast<void __nogc*>(lockbuff);
+    apr_status_t rv = InternalReadEntityBody(rr, static_cast<char __nogc*>(startptr), 
+                                             (apr_size_t)size, &read, &overflow, eos);
+    bytes_read += read;
+    if (rv != APR_SUCCESS) {
+        LogRequestError(L"ReadEntityBody: brigade read failure "
+                        L"reading the request body", APLOG_ERR, rv);
+    }
+    if (overflow) {
+        LogRequestError(L"ReadEntityBody: brigade read overflow "
+                        L"reading the request body", APLOG_ERR, rv);
+    }
+#ifdef _DEBUG
+    String *res = String::Concat(L"ReadEntityBody: read ", 
+                                 (new Int32(read))->ToString(), 
+                                 L" bytes");
+    LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+    return read;
+}
+
+
+int Apache::Web::WorkerRequest::Handler(void)
+{
+    wait_complete = new System::Threading::ManualResetEvent(false);
+    apr_bucket_brigade __nogc* bb;
+    apr_status_t rv;
+    apr_size_t size = 0;
+
+    // Reader-Writer helpers
+    //
+    // Yes, this code is remarkably similar to InternalReadEntityBody,
+    // however, for speed that code is entirely managed and incapable
+    // of allocating a char __gc[] that we need below.  In the code
+    // below, we allocate exactly the correct __gc[] required to
+    // store the initial bytes, up to the MS semi-standard 49152.
+    //
+    apr_bucket __nogc *dummy_flush_bucket;
+    apr_bucket __nogc *dummy_eos_bucket;
+    dummy_flush_bucket = apr_bucket_flush_create(rr->connection->bucket_alloc);
+    dummy_eos_bucket = apr_bucket_eos_create(rr->connection->bucket_alloc);
+
+    bb = apr_brigade_create(rr->pool, rr->connection->bucket_alloc);
+
+    apr_bucket __nogc* bucket;
+
+    if ((rv = ap_get_brigade(rr->input_filters, bb, 
+                             AP_MODE_READBYTES,
+                             APR_BLOCK_READ, 49152))
+            == APR_SUCCESS) {
+        apr_off_t sz;
+        rv = apr_brigade_length(bb, 1, &sz);
+        size = (apr_size_t)sz;
+        preread_body = new unsigned char __gc[size];
+        unsigned char __pin *lockbuff;
+        char __nogc *curptr = NULL;
+        if (size > 0) {
+            lockbuff = &preread_body[0];
+            void *startptr = static_cast<void __nogc*>(lockbuff);
+            curptr = static_cast<char __nogc*>(startptr);
+        }
+        APR_BRIGADE_FOREACH(bucket, bb) {
+            if (bucket->type == dummy_eos_bucket->type) {
+                seen_eos = 1;
+                break;
+            }
+            if (bucket->type == dummy_flush_bucket->type) {
+                continue;
+            }
+            const char *data;
+            apr_size_t len;
+            rv = apr_bucket_read(bucket, &data, &len, APR_BLOCK_READ);
+            if (rv != APR_SUCCESS) {
+                LogRequestError(L"Handler: brigade read failure prereading "
+                                L"the request body", APLOG_ERR, rv);
+            }
+            if (len > size) {
+                len = size;
+                LogRequestError(L"Handler: brigade read overflow prereading "
+                                L"the request body", APLOG_ERR, 0);
+            }
+            if (size) {
+                memcpy(curptr, data, len);
+                bytes_read += len;
+                curptr += len;
+                size -= len;
+            }
+        }
+        apr_brigade_cleanup(bb);
+#ifdef _DEBUG
+        String *res = String::Concat(L"Handler: preread ", 
+                                    (new Int64(bytes_read))->ToString(), 
+                                    L" request body bytes");
+        LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+    }
+    else {
+        LogRequestError(L"Handler: failed to preread the request body",
+                        APLOG_ERR, rv);
+        return 500;
+    }
+
+    try {
+        HttpRuntime::ProcessRequest(this);
+    }
+    catch (Exception *e) {
+        if (!body_sent) {
+            rr->status = 500;
+            rr->status_line = ap_get_status_line(rr->status);
+        }
+        String *msg = String::Concat(L"ProcessRequest: fatal exception "
+                                     L"processing request ", uri, 
+                                     L" exception follows;");
+        LogRequestError(msg, APLOG_ERR, 0);
+        LogRequestError(e->ToString(), APLOG_ERR, 0);
+    }
+
+    // Stall... if we didn't complete the request, we must wait
+    // for EndOfRequest before being destroyed.
+    wait_complete->WaitOne();
+
+#ifdef _DEBUG
+    LogRequestError(L"Handler: request processing complete", APLOG_DEBUG, 0);
+#endif
+
+    if (!body_sent) {
+        return rr->status;
+    }
+    else {
+        return OK;
+    }
+}

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/WorkerRequest.h
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/WorkerRequest.h	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/WorkerRequest.h	Fri Jul 16 09:27:17 2004
@@ -1,631 +1,631 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Apache::Web::WorkerRequest.h managed interface for Apache 2.0 request_rec
-
-
-#pragma once
-
-#ifndef APACHE_WEB_H
-#error "#include \"Apache.Web.h\" ... not WorkerRequest.h!"
-#endif
-
-#include "http_header_arrays.h"
-
-using namespace Apache::Web::Helpers;
-using namespace System::Collections;
-
-namespace Apache
-{
-  namespace Web
-  {
-    // Forward declare a Host
-    public __gc class Host;
-
-  public __gc class WorkerRequest : public SimpleWorkerRequest
-    {
-    private:
-        static const char __nogc *response_headers_c __nogc[] = {
-            response_headers_m("")
-        };
-        static const char __nogc *request_headers_c __nogc[] = {
-            request_headers_m("")
-        };
-        static String* response_headers_s[] = {
-            response_headers_m(L)
-        };
-        static String* request_headers_s[] = {
-            request_headers_m(L)
-        };
-
-        // Create our utf8-encoding to handle utf8->unicode names
-        static Encoding *utf8_encoding = new UTF8Encoding(false);
-    
-        String* uri;
-        String* unparsed_uri;
-        String* queryargs;
-        String* filename;
-        String* remoteName;
-        String* serverName;
-
-        unsigned char query_raw __gc[];
-
-        String* known_req_header_value[];
-        ArrayList* unk_req_header_name;
-        ArrayList* unk_req_header_value;
-        ArrayList* env_var;
-        ArrayList* env_value;
-
-        _gcA_gcA_gcString *unk_req_hdr_arr;
-
-        request_rec __nogc *rr;
-
-        Host* host;
-        System::Threading::ManualResetEvent* wait_complete;
-        EndOfSendNotification *eosnCallback;
-        Object* eosnExtra;
-
-        unsigned char preread_body __gc[];
-        int seen_eos;
-        int body_sent;
-        __int64 bytes_read;
-
-        // Reports an error message in the error log
-        void LogRequestError(String *msg, int loglevel, int rv);
-
-    public:
-        static bool CodeValidate() {
-            if (response_headers_s->get_Length() != ResponseHeaderMaximum)
-                return false;
-            for (int i = 0; i < ResponseHeaderMaximum; ++i) {
-                String *s = HttpWorkerRequest::GetKnownResponseHeaderName(i);
-                if (response_headers_s[i]->CompareTo(s) != 0)
-                    return false;
-            }
-            if (request_headers_s->get_Length() != RequestHeaderMaximum)
-                return false;
-            for (int i = 0; i < RequestHeaderMaximum; ++i) {
-                String *s = HttpWorkerRequest::GetKnownRequestHeaderName(i);
-                if (request_headers_s[i]->CompareTo(s) != 0)
-                    return false;
-            }
-            return true;
-        }
-
-        // Cannot be declared inline, we don't have Host defined
-        virtual String* GetAppPath(void); 
-        virtual String* GetAppPathTranslated(void); 
-
-        WorkerRequest(int Req, Host *ThisHost);
-
-        int Handler(void);
-        [ComVisible(false)]
-        virtual void SetEndOfSendNotification(
-                         HttpWorkerRequest::EndOfSendNotification *callback,
-                         Object* extraData) 
-        {
-#ifdef _DEBUG
-            LogRequestError(L"SetEndOfSendNotification: initialized", APLOG_DEBUG, 0);
-#endif
-        }
-
-        virtual void EndOfRequest(void) 
-        {
-            // If ProcessRequest() in Handler completed before the request
-            // request processing completes, it blocks on wait_complete, 
-            // we need to toggle the event that Handler() is blocked on
-            // or would block on upon return from ProcessRequest().
-            if (eosnCallback) {
-#ifdef _DEBUG
-                LogRequestError(L"EndOfRequest: invoked EndOfSendNotification", APLOG_DEBUG, 0);
-#endif
-                eosnCallback->Invoke(this, eosnExtra);
-                eosnCallback = NULL;
-            }
-#ifdef _DEBUG
-            else
-                LogRequestError(L"EndOfRequest: processed", APLOG_DEBUG, 0);
-#endif
-            wait_complete->Set();
-        }
-
-        virtual String* GetUriPath(void) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetUriPath: returns ", uri);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return uri;
-        }
-
-        virtual String* GetQueryString(void) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetQueryString: returns ", queryargs);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return queryargs;
-        }
-
-        virtual unsigned char GetQueryStringRawBytes(void) __gc[]
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetQueryStringRawBytes: returns ",
-                                         (new Int32(query_raw->get_Length()))->ToString(),
-                                         L" raw characters");
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return query_raw;
-        }
-
-        virtual String* GetRawUrl(void) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetRawUrl: returns ", unparsed_uri);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return unparsed_uri;
-        }
-
-        virtual String* GetHttpVerbName(void) 
-        {
-            String* verb = new String(rr->method);
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetHttpVerbName: returns ", verb);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return verb;
-        }
-
-        virtual String* GetHttpVersion(void) 
-        {
-            String* version = new String(rr->protocol);
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetHttpVersion: returns ", version);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return version;
-        }
-
-        virtual String* GetProtocol(void)
-        {
-            // TODO: HTTPS when appropriate
-#ifdef _DEBUG
-            LogRequestError(L"GetProtocol: returns HTTP", APLOG_DEBUG, 0);
-#endif
-            return new String(L"HTTP");
-        }
-
-        virtual String* GetRemoteAddress(void) 
-        {
-            String* addr = new String(rr->connection->remote_ip);
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetRemoteAddress: returns ", addr);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return addr;
-        }
-
-        virtual int GetRemotePort(void) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetRemotePort: returns ", 
-                (new Int32(rr->connection->remote_addr->port))->ToString());
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-	    return rr->connection->remote_addr->port;
-        }
-
-        virtual String* GetRemoteName(void)
-        {
-            if (!remoteName) {
-                const char __nogc *name = ap_get_remote_host(rr->connection, 
-                                                            rr->per_dir_config, 
-                                                            REMOTE_HOST, NULL);
-                if (!name)
-                    remoteName = String::Empty;
-                else
-                    remoteName = new String(name);
-            }
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetRemoteName: returns ", remoteName);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return remoteName;
-        }
-
-        virtual String* GetServerName(void)
-        {
-            if (!serverName) {
-                const char __nogc *name = ap_get_server_name(rr);
-                if (!name)
-                    serverName = String::Empty;
-                else
-                    serverName = new String(name);
-            }
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetServerName: returns ", serverName);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return serverName;
-        }
-
-        virtual String* GetServerVariable(String *name)
-        {
-            if (name->Equals(L"ALL_RAW")) {
-                int size = 1;
-                for (int i = 0; i < env_var->get_Count(); ++i) {
-                    size += static_cast<String*>(env_var->get_Item(i))->get_Length() + 1;
-                    size += static_cast<String*>(env_value->get_Item(i))->get_Length() + 1;
-                }
-                StringBuilder *res = new StringBuilder(size);
-                for (int i = 0; i < env_var->get_Count(); ++i) {
-                    res = res->Append(static_cast<String*>(env_var->get_Item(i)));
-                    res = res->Append(L"=");
-                    res = res->Append(static_cast<String*>(env_value->get_Item(i)));
-                    res = res->Append(L"\0", 0, 1);
-                }
-                res = res->Append(L"\0", 0, 1);
-#ifdef _DEBUG
-                LogRequestError(L"GetServerVariable: for ALL_RAW returns all", APLOG_DEBUG, 0);
-#endif
-                return res->ToString();
-            }
-            int ent = env_var->IndexOf(name);
-            if (ent >= 0) {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetServerVariable: for ", name, L" returns ", 
-                                         static_cast<String*>(env_value->get_Item(ent)));
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-                return static_cast<String*>(env_value->get_Item(ent));
-            }
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetServerVariable: for ", name,
-                                         L" returns NULL (not found)");
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return NULL;
-        }
-
-        virtual String* GetLocalAddress(void) 
-        {
-            String* addr = new String(rr->connection->local_ip);
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetLocalAddress: returns ", addr);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return addr;
-        }
-
-        virtual int GetLocalPort(void) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetLocalPort: returns ", 
-                (new Int32(rr->connection->local_addr->port))->ToString());
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return rr->connection->local_addr->port;
-        }
-
-        virtual String* GetFilePath(void); 
-
-        virtual String* GetFilePathTranslated(void) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetFilePathTranslated: returns ", filename);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return filename;
-        }
-
-        virtual String* GetPathInfo(void) 
-        {
-            String* path_info = new String(rr->path_info);
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetPathInfo: returns ", path_info);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return path_info;
-        }
-
-        virtual String* GetKnownRequestHeader(int index)
-        {
-            if (index >= 0 && index < RequestHeaderMaximum) {
-#ifdef _DEBUG
-                String *res = String::Concat(L"GetKnownRequestHeader: for ", 
-                                             request_headers_s[index],
-                                             L" returns ", 
-                                             known_req_header_value[index]);
-                LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-                return known_req_header_value[index];
-            }
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetKnownRequestHeader: for ", 
-                                         (new Int32(index))->ToString(),
-                                         L" returns NULL (not found)");
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return NULL;
-        }
-    
-        virtual String* GetUnknownRequestHeader(String* name) 
-        {
-            int ent = unk_req_header_name->IndexOf(name);
-            if (ent >= 0) {
-                String *val = static_cast<String*>(unk_req_header_value->get_Item(ent));
-#ifdef _DEBUG
-                String *res = String::Concat(L"GetUnknownRequestHeader: for ", name,
-                                             L" returns ", val);
-                LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-                return val;
-            }
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetUnknownRequestHeader: for ", name,
-                                         L" returns NULL (not found)");
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return NULL;
-        }
-
-        [System::CLSCompliantAttribute(false)]
-        virtual String __gc* GetUnknownRequestHeaders(void) __gc[] __gc[]
-        {
-#ifdef _DEBUG
-            LogRequestError(L"GetUnknownRequestHeaders: returns all", APLOG_DEBUG, 0);
-#endif
-            return unk_req_hdr_arr->Value();
-        }
-
-        static int GetKnownRequestHeaderIndex(String *header)
-        {
-            for (int i = 0; i < RequestHeaderMaximum; ++i) {
-                if (String::Compare(header, request_headers_s[i]) == 0) {
-                    return i;
-                }
-            }
-            return -1;
-        }
-
-        static String *GetKnownRequestHeaderName(int header)
-        {
-            if (header >= 0 && header < RequestHeaderMaximum) {
-                return request_headers_s[header];
-            }
-            return NULL;
-        }
-
-        static int GetKnownResponseHeaderIndex(String *header)
-        {
-            for (int i = 0; i < ResponseHeaderMaximum; ++i) {
-                if (String::Compare(header, response_headers_s[i]) == 0)
-                    return i;
-            }
-            return -1;
-        }
-
-        static String *GetKnownResponseHeaderName(int header)
-        {
-            if (header >= 0 && header < ResponseHeaderMaximum) {
-                return response_headers_s[header];
-            }
-            return NULL;
-        }
-
-        virtual bool HasEntityBody(void)
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"HasEntityBody: returns ", 
-                (new Boolean(!seen_eos || bytes_read))->ToString());
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return !seen_eos || bytes_read;
-        }
-
-        virtual int ReadEntityBody(unsigned char buffer __gc[], int size);
-
-        virtual __int64 GetBytesRead(void)
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetBytesRead: returns ", 
-                                         (new Int64(bytes_read))->ToString());
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif            
-            return bytes_read;
-        }
-
-        virtual unsigned char GetPreloadedEntityBody(void) __gc[]
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"GetPreloadedEntityBody: returns ", 
-                (new Int32(preread_body->get_Length()))->ToString(), 
-                L" bytes");
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return preread_body;
-        }
-
-        virtual bool IsEntireEntityBodyIsPreloaded(void) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"IsEntireEntityBodyIsPreloaded: returns ", 
-                (new Boolean(seen_eos != 0))->ToString());
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return seen_eos != 0;
-        }
-
-        virtual bool IsClientConnected(void) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"IsClientConnected: returns ", 
-                (new Boolean(!rr->connection->aborted))->ToString());
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return !rr->connection->aborted;
-        }
-
-        virtual bool HeadersSent(void) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"HeadersSent: returns ", 
-                (new Boolean(body_sent != 0))->ToString());
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            return (body_sent != 0);
-        }
-
-        virtual void SendStatus(int statusCode, String* statusDescription) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"SendStatus: sending ", 
-                                         (new Int32(statusCode))->ToString(), 
-                                         L" with desc ", statusDescription);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            rr->status = statusCode;
-            if (!statusDescription 
-                    || statusDescription->Equals(String::Empty)) {
-                rr->status_line = ap_get_status_line(rr->status);
-            }
-            else {
-                unsigned char avalue __gc[] 
-                    = utf8_encoding->GetBytes(statusDescription);
-                unsigned char __pin *status_desc = &avalue[0];
-                char code __nogc[12];
-                itoa(rr->status, code, 10);
-                rr->status_line = apr_pstrcat(rr->pool, code, " ", 
-                                              (char __nogc*)status_desc, NULL);
-            }
-        }
-        
-        virtual void SendKnownResponseHeader(int index, String* value)
-        {
-            if (index >= 0 && index < ResponseHeaderMaximum) {
-#ifdef _DEBUG
-                String *res = String::Concat(L"SendKnownResponseHeader: ", 
-                                             response_headers_c[index], 
-                                             L" as ", value);
-                LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-                unsigned char avalue __gc[] = utf8_encoding->GetBytes(value);
-                int len = avalue->Count;
-                unsigned char __pin *cvalue = &avalue[0];
-                char __nogc *poolval = static_cast<char __nogc *>
-                                          (apr_pmemdup(rr->pool, cvalue, len + 1));
-                poolval[len] = '\0';
-                if (index == HeaderContentType)
-                    ap_set_content_type(rr, poolval);
-                else
-                    apr_table_setn(rr->headers_out, response_headers_c[index], poolval);
-            }
-#ifdef _DEBUG
-            else {
-                String *res = String::Concat(L"SendKnownResponseHeader: failed to send ", 
-                                            (new Int32(index))->ToString(), 
-                                            L" as ", value);
-                LogRequestError(res, APLOG_DEBUG, 0);
-            }
-#endif
-        }
-
-        virtual void SendUnknownResponseHeader(String* name, String* value) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"SendUnknownResponseHeader: ", name, 
-                                         L" as ", value);
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            unsigned char aname __gc[] = utf8_encoding->GetBytes(name);
-            int len = aname->Count;
-            unsigned char __pin *cname = &aname[0];
-            char __nogc *poolkey = static_cast<char __nogc *>
-                                        (apr_pmemdup(rr->pool, cname, len + 1));
-            poolkey[len] = '\0';
-            unsigned char avalue __gc[] = utf8_encoding->GetBytes(value);
-            len = avalue->Count;
-            unsigned char __pin *cvalue = &avalue[0];
-            char __nogc *poolval = static_cast<char __nogc *>
-                                        (apr_pmemdup(rr->pool, cvalue, len + 1));
-            poolval[len] = '\0';
-            apr_table_setn(rr->headers_out, poolkey, poolval);
-        }
-
-        virtual void SendCalculatedContentLength(int contentLength) 
-        {
-#ifdef _DEBUG
-            String *res = String::Concat(L"SendCalculatedContentLength: ", 
-                                        (new Int32(contentLength))->ToString());
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            ap_set_content_length(rr, contentLength);
-        }
-
-        virtual void SendResponseFromMemory(IntPtr data, int length);
-
-        virtual void SendResponseFromMemory(unsigned char data __gc[], __int32 length) 
-        {
-            if (!length) {
-#ifdef _DEBUG
-                LogRequestError("SendResponseFromMemory: passed zero byte buffer!", APLOG_DEBUG, 0);
-#endif
-                return;
-            }
-#ifdef _DEBUG
-            LogRequestError(L"SendResponseFromFile: pinning GC buffer", APLOG_DEBUG, 0);
-#endif
-            unsigned char __pin *data_buf = &data[0];
-            IntPtr data_ptr = static_cast<void*>(data_buf);
-            SendResponseFromMemory(data_ptr, length);
-        }
-
-        virtual void SendResponseFromFile(IntPtr handle, __int64 offset, __int64 length);
-
-        virtual void SendResponseFromFile(String* filename, __int64 offset, __int64 length) 
-        {
-            if (!length) {
-#ifdef _DEBUG
-                LogRequestError("SendResponseFromFile: passed zero byte length!", APLOG_DEBUG, 0);
-#endif
-                return;
-            }
-#ifdef _DEBUG
-            String *res = String::Concat(L"SendResponseFromFile: opening ", 
-                                         filename); 
-            LogRequestError(res, APLOG_DEBUG, 0);
-#endif
-            FileStream *stream = new FileStream(filename, FileMode::Open, 
-                                                FileAccess::Read, 
-                                                FileShare::Read, 0, true);
-            SendResponseFromFile(stream->Handle, offset, length);
-            stream->Close();
-        }
-
-        virtual void FlushResponse(bool finalFlush);
-
-        virtual void CloseConnection(void)
-        {
-#ifdef _DEBUG
-            LogRequestError(L"CloseConnection: requested (noop)", APLOG_DEBUG, 0);
-#endif
-            ; // Noop, we trust Apache's determination here of the protocol
-        }
-
-        virtual String* MapPath(String* path);
-    };
-  }
-}
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Apache::Web::WorkerRequest.h managed interface for Apache 2.0 request_rec
+
+
+#pragma once
+
+#ifndef APACHE_WEB_H
+#error "#include \"Apache.Web.h\" ... not WorkerRequest.h!"
+#endif
+
+#include "http_header_arrays.h"
+
+using namespace Apache::Web::Helpers;
+using namespace System::Collections;
+
+namespace Apache
+{
+  namespace Web
+  {
+    // Forward declare a Host
+    public __gc class Host;
+
+  public __gc class WorkerRequest : public SimpleWorkerRequest
+    {
+    private:
+        static const char __nogc *response_headers_c __nogc[] = {
+            response_headers_m("")
+        };
+        static const char __nogc *request_headers_c __nogc[] = {
+            request_headers_m("")
+        };
+        static String* response_headers_s[] = {
+            response_headers_m(L)
+        };
+        static String* request_headers_s[] = {
+            request_headers_m(L)
+        };
+
+        // Create our utf8-encoding to handle utf8->unicode names
+        static Encoding *utf8_encoding = new UTF8Encoding(false);
+    
+        String* uri;
+        String* unparsed_uri;
+        String* queryargs;
+        String* filename;
+        String* remoteName;
+        String* serverName;
+
+        unsigned char query_raw __gc[];
+
+        String* known_req_header_value[];
+        ArrayList* unk_req_header_name;
+        ArrayList* unk_req_header_value;
+        ArrayList* env_var;
+        ArrayList* env_value;
+
+        _gcA_gcA_gcString *unk_req_hdr_arr;
+
+        request_rec __nogc *rr;
+
+        Host* host;
+        System::Threading::ManualResetEvent* wait_complete;
+        EndOfSendNotification *eosnCallback;
+        Object* eosnExtra;
+
+        unsigned char preread_body __gc[];
+        int seen_eos;
+        int body_sent;
+        __int64 bytes_read;
+
+        // Reports an error message in the error log
+        void LogRequestError(String *msg, int loglevel, int rv);
+
+    public:
+        static bool CodeValidate() {
+            if (response_headers_s->get_Length() != ResponseHeaderMaximum)
+                return false;
+            for (int i = 0; i < ResponseHeaderMaximum; ++i) {
+                String *s = HttpWorkerRequest::GetKnownResponseHeaderName(i);
+                if (response_headers_s[i]->CompareTo(s) != 0)
+                    return false;
+            }
+            if (request_headers_s->get_Length() != RequestHeaderMaximum)
+                return false;
+            for (int i = 0; i < RequestHeaderMaximum; ++i) {
+                String *s = HttpWorkerRequest::GetKnownRequestHeaderName(i);
+                if (request_headers_s[i]->CompareTo(s) != 0)
+                    return false;
+            }
+            return true;
+        }
+
+        // Cannot be declared inline, we don't have Host defined
+        virtual String* GetAppPath(void); 
+        virtual String* GetAppPathTranslated(void); 
+
+        WorkerRequest(int Req, Host *ThisHost);
+
+        int Handler(void);
+        [ComVisible(false)]
+        virtual void SetEndOfSendNotification(
+                         HttpWorkerRequest::EndOfSendNotification *callback,
+                         Object* extraData) 
+        {
+#ifdef _DEBUG
+            LogRequestError(L"SetEndOfSendNotification: initialized", APLOG_DEBUG, 0);
+#endif
+        }
+
+        virtual void EndOfRequest(void) 
+        {
+            // If ProcessRequest() in Handler completed before the request
+            // request processing completes, it blocks on wait_complete, 
+            // we need to toggle the event that Handler() is blocked on
+            // or would block on upon return from ProcessRequest().
+            if (eosnCallback) {
+#ifdef _DEBUG
+                LogRequestError(L"EndOfRequest: invoked EndOfSendNotification", APLOG_DEBUG, 0);
+#endif
+                eosnCallback->Invoke(this, eosnExtra);
+                eosnCallback = NULL;
+            }
+#ifdef _DEBUG
+            else
+                LogRequestError(L"EndOfRequest: processed", APLOG_DEBUG, 0);
+#endif
+            wait_complete->Set();
+        }
+
+        virtual String* GetUriPath(void) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetUriPath: returns ", uri);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return uri;
+        }
+
+        virtual String* GetQueryString(void) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetQueryString: returns ", queryargs);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return queryargs;
+        }
+
+        virtual unsigned char GetQueryStringRawBytes(void) __gc[]
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetQueryStringRawBytes: returns ",
+                                         (new Int32(query_raw->get_Length()))->ToString(),
+                                         L" raw characters");
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return query_raw;
+        }
+
+        virtual String* GetRawUrl(void) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetRawUrl: returns ", unparsed_uri);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return unparsed_uri;
+        }
+
+        virtual String* GetHttpVerbName(void) 
+        {
+            String* verb = new String(rr->method);
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetHttpVerbName: returns ", verb);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return verb;
+        }
+
+        virtual String* GetHttpVersion(void) 
+        {
+            String* version = new String(rr->protocol);
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetHttpVersion: returns ", version);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return version;
+        }
+
+        virtual String* GetProtocol(void)
+        {
+            // TODO: HTTPS when appropriate
+#ifdef _DEBUG
+            LogRequestError(L"GetProtocol: returns HTTP", APLOG_DEBUG, 0);
+#endif
+            return new String(L"HTTP");
+        }
+
+        virtual String* GetRemoteAddress(void) 
+        {
+            String* addr = new String(rr->connection->remote_ip);
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetRemoteAddress: returns ", addr);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return addr;
+        }
+
+        virtual int GetRemotePort(void) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetRemotePort: returns ", 
+                (new Int32(rr->connection->remote_addr->port))->ToString());
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+	    return rr->connection->remote_addr->port;
+        }
+
+        virtual String* GetRemoteName(void)
+        {
+            if (!remoteName) {
+                const char __nogc *name = ap_get_remote_host(rr->connection, 
+                                                            rr->per_dir_config, 
+                                                            REMOTE_HOST, NULL);
+                if (!name)
+                    remoteName = String::Empty;
+                else
+                    remoteName = new String(name);
+            }
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetRemoteName: returns ", remoteName);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return remoteName;
+        }
+
+        virtual String* GetServerName(void)
+        {
+            if (!serverName) {
+                const char __nogc *name = ap_get_server_name(rr);
+                if (!name)
+                    serverName = String::Empty;
+                else
+                    serverName = new String(name);
+            }
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetServerName: returns ", serverName);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return serverName;
+        }
+
+        virtual String* GetServerVariable(String *name)
+        {
+            if (name->Equals(L"ALL_RAW")) {
+                int size = 1;
+                for (int i = 0; i < env_var->get_Count(); ++i) {
+                    size += static_cast<String*>(env_var->get_Item(i))->get_Length() + 1;
+                    size += static_cast<String*>(env_value->get_Item(i))->get_Length() + 1;
+                }
+                StringBuilder *res = new StringBuilder(size);
+                for (int i = 0; i < env_var->get_Count(); ++i) {
+                    res = res->Append(static_cast<String*>(env_var->get_Item(i)));
+                    res = res->Append(L"=");
+                    res = res->Append(static_cast<String*>(env_value->get_Item(i)));
+                    res = res->Append(L"\0", 0, 1);
+                }
+                res = res->Append(L"\0", 0, 1);
+#ifdef _DEBUG
+                LogRequestError(L"GetServerVariable: for ALL_RAW returns all", APLOG_DEBUG, 0);
+#endif
+                return res->ToString();
+            }
+            int ent = env_var->IndexOf(name);
+            if (ent >= 0) {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetServerVariable: for ", name, L" returns ", 
+                                         static_cast<String*>(env_value->get_Item(ent)));
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+                return static_cast<String*>(env_value->get_Item(ent));
+            }
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetServerVariable: for ", name,
+                                         L" returns NULL (not found)");
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return NULL;
+        }
+
+        virtual String* GetLocalAddress(void) 
+        {
+            String* addr = new String(rr->connection->local_ip);
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetLocalAddress: returns ", addr);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return addr;
+        }
+
+        virtual int GetLocalPort(void) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetLocalPort: returns ", 
+                (new Int32(rr->connection->local_addr->port))->ToString());
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return rr->connection->local_addr->port;
+        }
+
+        virtual String* GetFilePath(void); 
+
+        virtual String* GetFilePathTranslated(void) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetFilePathTranslated: returns ", filename);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return filename;
+        }
+
+        virtual String* GetPathInfo(void) 
+        {
+            String* path_info = new String(rr->path_info);
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetPathInfo: returns ", path_info);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return path_info;
+        }
+
+        virtual String* GetKnownRequestHeader(int index)
+        {
+            if (index >= 0 && index < RequestHeaderMaximum) {
+#ifdef _DEBUG
+                String *res = String::Concat(L"GetKnownRequestHeader: for ", 
+                                             request_headers_s[index],
+                                             L" returns ", 
+                                             known_req_header_value[index]);
+                LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+                return known_req_header_value[index];
+            }
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetKnownRequestHeader: for ", 
+                                         (new Int32(index))->ToString(),
+                                         L" returns NULL (not found)");
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return NULL;
+        }
+    
+        virtual String* GetUnknownRequestHeader(String* name) 
+        {
+            int ent = unk_req_header_name->IndexOf(name);
+            if (ent >= 0) {
+                String *val = static_cast<String*>(unk_req_header_value->get_Item(ent));
+#ifdef _DEBUG
+                String *res = String::Concat(L"GetUnknownRequestHeader: for ", name,
+                                             L" returns ", val);
+                LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+                return val;
+            }
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetUnknownRequestHeader: for ", name,
+                                         L" returns NULL (not found)");
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return NULL;
+        }
+
+        [System::CLSCompliantAttribute(false)]
+        virtual String __gc* GetUnknownRequestHeaders(void) __gc[] __gc[]
+        {
+#ifdef _DEBUG
+            LogRequestError(L"GetUnknownRequestHeaders: returns all", APLOG_DEBUG, 0);
+#endif
+            return unk_req_hdr_arr->Value();
+        }
+
+        static int GetKnownRequestHeaderIndex(String *header)
+        {
+            for (int i = 0; i < RequestHeaderMaximum; ++i) {
+                if (String::Compare(header, request_headers_s[i]) == 0) {
+                    return i;
+                }
+            }
+            return -1;
+        }
+
+        static String *GetKnownRequestHeaderName(int header)
+        {
+            if (header >= 0 && header < RequestHeaderMaximum) {
+                return request_headers_s[header];
+            }
+            return NULL;
+        }
+
+        static int GetKnownResponseHeaderIndex(String *header)
+        {
+            for (int i = 0; i < ResponseHeaderMaximum; ++i) {
+                if (String::Compare(header, response_headers_s[i]) == 0)
+                    return i;
+            }
+            return -1;
+        }
+
+        static String *GetKnownResponseHeaderName(int header)
+        {
+            if (header >= 0 && header < ResponseHeaderMaximum) {
+                return response_headers_s[header];
+            }
+            return NULL;
+        }
+
+        virtual bool HasEntityBody(void)
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"HasEntityBody: returns ", 
+                (new Boolean(!seen_eos || bytes_read))->ToString());
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return !seen_eos || bytes_read;
+        }
+
+        virtual int ReadEntityBody(unsigned char buffer __gc[], int size);
+
+        virtual __int64 GetBytesRead(void)
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetBytesRead: returns ", 
+                                         (new Int64(bytes_read))->ToString());
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif            
+            return bytes_read;
+        }
+
+        virtual unsigned char GetPreloadedEntityBody(void) __gc[]
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"GetPreloadedEntityBody: returns ", 
+                (new Int32(preread_body->get_Length()))->ToString(), 
+                L" bytes");
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return preread_body;
+        }
+
+        virtual bool IsEntireEntityBodyIsPreloaded(void) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"IsEntireEntityBodyIsPreloaded: returns ", 
+                (new Boolean(seen_eos != 0))->ToString());
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return seen_eos != 0;
+        }
+
+        virtual bool IsClientConnected(void) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"IsClientConnected: returns ", 
+                (new Boolean(!rr->connection->aborted))->ToString());
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return !rr->connection->aborted;
+        }
+
+        virtual bool HeadersSent(void) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"HeadersSent: returns ", 
+                (new Boolean(body_sent != 0))->ToString());
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            return (body_sent != 0);
+        }
+
+        virtual void SendStatus(int statusCode, String* statusDescription) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"SendStatus: sending ", 
+                                         (new Int32(statusCode))->ToString(), 
+                                         L" with desc ", statusDescription);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            rr->status = statusCode;
+            if (!statusDescription 
+                    || statusDescription->Equals(String::Empty)) {
+                rr->status_line = ap_get_status_line(rr->status);
+            }
+            else {
+                unsigned char avalue __gc[] 
+                    = utf8_encoding->GetBytes(statusDescription);
+                unsigned char __pin *status_desc = &avalue[0];
+                char code __nogc[12];
+                itoa(rr->status, code, 10);
+                rr->status_line = apr_pstrcat(rr->pool, code, " ", 
+                                              (char __nogc*)status_desc, NULL);
+            }
+        }
+        
+        virtual void SendKnownResponseHeader(int index, String* value)
+        {
+            if (index >= 0 && index < ResponseHeaderMaximum) {
+#ifdef _DEBUG
+                String *res = String::Concat(L"SendKnownResponseHeader: ", 
+                                             response_headers_c[index], 
+                                             L" as ", value);
+                LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+                unsigned char avalue __gc[] = utf8_encoding->GetBytes(value);
+                int len = avalue->Count;
+                unsigned char __pin *cvalue = &avalue[0];
+                char __nogc *poolval = static_cast<char __nogc *>
+                                          (apr_pmemdup(rr->pool, cvalue, len + 1));
+                poolval[len] = '\0';
+                if (index == HeaderContentType)
+                    ap_set_content_type(rr, poolval);
+                else
+                    apr_table_setn(rr->headers_out, response_headers_c[index], poolval);
+            }
+#ifdef _DEBUG
+            else {
+                String *res = String::Concat(L"SendKnownResponseHeader: failed to send ", 
+                                            (new Int32(index))->ToString(), 
+                                            L" as ", value);
+                LogRequestError(res, APLOG_DEBUG, 0);
+            }
+#endif
+        }
+
+        virtual void SendUnknownResponseHeader(String* name, String* value) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"SendUnknownResponseHeader: ", name, 
+                                         L" as ", value);
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            unsigned char aname __gc[] = utf8_encoding->GetBytes(name);
+            int len = aname->Count;
+            unsigned char __pin *cname = &aname[0];
+            char __nogc *poolkey = static_cast<char __nogc *>
+                                        (apr_pmemdup(rr->pool, cname, len + 1));
+            poolkey[len] = '\0';
+            unsigned char avalue __gc[] = utf8_encoding->GetBytes(value);
+            len = avalue->Count;
+            unsigned char __pin *cvalue = &avalue[0];
+            char __nogc *poolval = static_cast<char __nogc *>
+                                        (apr_pmemdup(rr->pool, cvalue, len + 1));
+            poolval[len] = '\0';
+            apr_table_setn(rr->headers_out, poolkey, poolval);
+        }
+
+        virtual void SendCalculatedContentLength(int contentLength) 
+        {
+#ifdef _DEBUG
+            String *res = String::Concat(L"SendCalculatedContentLength: ", 
+                                        (new Int32(contentLength))->ToString());
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            ap_set_content_length(rr, contentLength);
+        }
+
+        virtual void SendResponseFromMemory(IntPtr data, int length);
+
+        virtual void SendResponseFromMemory(unsigned char data __gc[], __int32 length) 
+        {
+            if (!length) {
+#ifdef _DEBUG
+                LogRequestError("SendResponseFromMemory: passed zero byte buffer!", APLOG_DEBUG, 0);
+#endif
+                return;
+            }
+#ifdef _DEBUG
+            LogRequestError(L"SendResponseFromFile: pinning GC buffer", APLOG_DEBUG, 0);
+#endif
+            unsigned char __pin *data_buf = &data[0];
+            IntPtr data_ptr = static_cast<void*>(data_buf);
+            SendResponseFromMemory(data_ptr, length);
+        }
+
+        virtual void SendResponseFromFile(IntPtr handle, __int64 offset, __int64 length);
+
+        virtual void SendResponseFromFile(String* filename, __int64 offset, __int64 length) 
+        {
+            if (!length) {
+#ifdef _DEBUG
+                LogRequestError("SendResponseFromFile: passed zero byte length!", APLOG_DEBUG, 0);
+#endif
+                return;
+            }
+#ifdef _DEBUG
+            String *res = String::Concat(L"SendResponseFromFile: opening ", 
+                                         filename); 
+            LogRequestError(res, APLOG_DEBUG, 0);
+#endif
+            FileStream *stream = new FileStream(filename, FileMode::Open, 
+                                                FileAccess::Read, 
+                                                FileShare::Read, 0, true);
+            SendResponseFromFile(stream->Handle, offset, length);
+            stream->Close();
+        }
+
+        virtual void FlushResponse(bool finalFlush);
+
+        virtual void CloseConnection(void)
+        {
+#ifdef _DEBUG
+            LogRequestError(L"CloseConnection: requested (noop)", APLOG_DEBUG, 0);
+#endif
+            ; // Noop, we trust Apache's determination here of the protocol
+        }
+
+        virtual String* MapPath(String* path);
+    };
+  }
+}

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/http_header_arrays.h
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/http_header_arrays.h	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/Apache.Web/http_header_arrays.h	Fri Jul 16 09:27:17 2004
@@ -1,79 +1,79 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// String constants for Apache::Web::Request.h that correspond to 
-// the System.Web.HttpWorkerRequest KnownRequest/ResponseHeader values.
-// These are macroized so that we are assured of building both bstr and
-// char* flavors without any discrepancies between the two flavors.
-// 
-#pragma once
-
-#define common_headers_m(t)    \
-    t##"Cache-Control",        \
-    t##"Connection",           \
-    t##"Date",                 \
-    t##"Keep-Alive",           \
-    t##"Pragma",               \
-    t##"Trailer",              \
-    t##"Transfer-Encoding",    \
-    t##"Upgrade",              \
-    t##"Via",                  \
-    t##"Warning",              \
-    t##"Allow",                \
-    t##"Content-Length",       \
-    t##"Content-Type",         \
-    t##"Content-Encoding",     \
-    t##"Content-Language",     \
-    t##"Content-Location",     \
-    t##"Content-MD5",          \
-    t##"Content-Range",        \
-    t##"Expires",              \
-    t##"Last-Modified"
-
-#define response_headers_m(t)  \
-    common_headers_m(t),       \
-    t##"Accept-Ranges",        \
-    t##"Age",                  \
-    t##"ETag",                 \
-    t##"Location",             \
-    t##"Proxy-Authenticate",   \
-    t##"Retry-After",          \
-    t##"Server",               \
-    t##"Set-Cookie",           \
-    t##"Vary",                 \
-    t##"WWW-Authenticate"
-
-#define request_headers_m(t)   \
-    common_headers_m(t),       \
-    t##"Accept",               \
-    t##"Accept-Charset",       \
-    t##"Accept-Encoding",      \
-    t##"Accept-Language",      \
-    t##"Authorization",        \
-    t##"Cookie",               \
-    t##"Expect",               \
-    t##"From",                 \
-    t##"Host",                 \
-    t##"If-Match",             \
-    t##"If-Modified-Since",    \
-    t##"If-None-Match",        \
-    t##"If-Range",             \
-    t##"If-Unmodified-Since",  \
-    t##"Max-Forwards",         \
-    t##"Proxy-Authorization",  \
-    t##"Referer",              \
-    t##"Range",                \
-    t##"TE",                   \
-    t##"User-Agent"
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// String constants for Apache::Web::Request.h that correspond to 
+// the System.Web.HttpWorkerRequest KnownRequest/ResponseHeader values.
+// These are macroized so that we are assured of building both bstr and
+// char* flavors without any discrepancies between the two flavors.
+// 
+#pragma once
+
+#define common_headers_m(t)    \
+    t##"Cache-Control",        \
+    t##"Connection",           \
+    t##"Date",                 \
+    t##"Keep-Alive",           \
+    t##"Pragma",               \
+    t##"Trailer",              \
+    t##"Transfer-Encoding",    \
+    t##"Upgrade",              \
+    t##"Via",                  \
+    t##"Warning",              \
+    t##"Allow",                \
+    t##"Content-Length",       \
+    t##"Content-Type",         \
+    t##"Content-Encoding",     \
+    t##"Content-Language",     \
+    t##"Content-Location",     \
+    t##"Content-MD5",          \
+    t##"Content-Range",        \
+    t##"Expires",              \
+    t##"Last-Modified"
+
+#define response_headers_m(t)  \
+    common_headers_m(t),       \
+    t##"Accept-Ranges",        \
+    t##"Age",                  \
+    t##"ETag",                 \
+    t##"Location",             \
+    t##"Proxy-Authenticate",   \
+    t##"Retry-After",          \
+    t##"Server",               \
+    t##"Set-Cookie",           \
+    t##"Vary",                 \
+    t##"WWW-Authenticate"
+
+#define request_headers_m(t)   \
+    common_headers_m(t),       \
+    t##"Accept",               \
+    t##"Accept-Charset",       \
+    t##"Accept-Encoding",      \
+    t##"Accept-Language",      \
+    t##"Authorization",        \
+    t##"Cookie",               \
+    t##"Expect",               \
+    t##"From",                 \
+    t##"Host",                 \
+    t##"If-Match",             \
+    t##"If-Modified-Since",    \
+    t##"If-None-Match",        \
+    t##"If-Range",             \
+    t##"If-Unmodified-Since",  \
+    t##"Max-Forwards",         \
+    t##"Proxy-Authorization",  \
+    t##"Referer",              \
+    t##"Range",                \
+    t##"TE",                   \
+    t##"User-Agent"

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/LICENSE
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/LICENSE	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/LICENSE	Fri Jul 16 09:27:17 2004
@@ -1,201 +1,201 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/NOTICE
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/NOTICE	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/NOTICE	Fri Jul 16 09:27:17 2004
@@ -1,12 +1,12 @@
-THIS PROPOSED PROJECT HAS NOT YET BEEN ADOPTED BY THE APACHE SOFTWARE 
-FOUNDATION.
-
-The incubation team (general .at. incubator.apache.org) and the pre-project
-committee (cli-dev .at. httpd.apache.org) are considering this code for
-acceptance and incubation.  The code is being considered as a subproject
-of the Apache HTTP Server project.  
-
-All enclosed code remains Copyright 1992-1994 by Covalent, Inc., until such 
-time as the software grant, on file with the ASF secretary and recorded on
-19 Feb 2004, is accepted by vote of the PPMC, and approved by the
+THIS PROPOSED PROJECT HAS NOT YET BEEN ADOPTED BY THE APACHE SOFTWARE 
+FOUNDATION.
+
+The incubation team (general .at. incubator.apache.org) and the pre-project
+committee (cli-dev .at. httpd.apache.org) are considering this code for
+acceptance and incubation.  The code is being considered as a subproject
+of the Apache HTTP Server project.  
+
+All enclosed code remains Copyright 1992-1994 by Covalent, Inc., until such 
+time as the software grant, on file with the ASF secretary and recorded on
+19 Feb 2004, is accepted by vote of the PPMC, and approved by the
 Incubator PMC.

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/README
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/README	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/README	Fri Jul 16 09:27:17 2004
@@ -1,104 +1,104 @@
-README for mod_aspdotnet + Apache.Web 
------------------------------------
-
-
-Build Notes
------------
-
-The top level workspace mod_aspdotnet.sln is invoked for a release build
-with the syntax;
-
-  set APACHE_PATH=d:path\to\apache\serverroot
-  devenv mod_aspdotnet.sln /useenv /build Release /project installer
-
-The necessary files, mod_aspdotnet.so [+.pdb for debug symbols] and the
-Apache.Web.dll [+.pdb] are built into the installer.msi package at 
-the top-level Release/ directory of this module.
-
-It is absolutely critical that this build occurs using the Visual Studio
-.NET (7.0) version.  Older VS 6.0 compilers won't support the module.
-
-Note that the Apache.Web.dll is temporarily registered, it's type library
-(.tlb file) is extracted, and it is unregistered as a post-build step for
-both the Debug and Release builds of the Apache.web.  This assures us that
-the usual build machines remain clean of excess COM registration gunk.
-
-We build Apache.Web.dll with delay-load of libhttpd, libapr and libaprutil 
-dll's.  This is important since Apache.Web.dll can't be touched unless
-it is literally adjacent (in the same directory) to those Apache 2.0 .dll's.
-With this method, Apache.Web.dll can be loaded (provided we don't instantiate
-an Apache.Web.WorkerRequest object) even without resolving the path to those
-dll's in the Serverroot/bin directory.
-
-
-Deployment Notes
-----------------
-
-YOU MUST test both the .NET Framework SDK, as well as the .NET Framework
-Runtime environments.  A number of internal behaviors vary between these
-two releases, and Exceptions, destruction, construction and failure cases
-will manifest differently between the two variants.
-
-Asp.Net requires the Apache::Web::Request object to be registered in 
-the Global Assembly Cache in order to instantiate it's host container.
-
-The Debug build will do so automatically, copying mod_aspdotnet.so + .pdb
-into the $(APACHE_TMPINSTALL_WINNT)\modules directory, for testing.
-Apache.Web.dll + .pdb files are copied into $(APACHE_TMPINSTALL_WINNT)\bin
-so that it can discover libapr.dll, libaprutil.dll and libhttpd.dll when
-running in the System.Web.Hosting's AppDomain.  Apache.Web.dll is then 
-registered and installed into the Global Assembly Cache by the Debug build's
-post-build custom command.
-
-In order to install a reference into the Global Assembly Cache (for testing
-the release build instead of the debug build) use;
-
-  regasm d:\path-to-apache\bin\Apache.Web.dll 
-  gacutil /ir Apache.Web.dll FILEPATH d:\path-to-apache\bin\Apache.Web.dll Apache.Web 
-
-This will *NOT* work on a customer's machine without the .Net SDK.  Those
-tools [regasm/gacutil] aren't installed with the retail .Net install.
-
-
-TODO
-----
-
-Consider pre-compiling the package into native code prior to distribution.
-
-Consider building a roll-up assembly integrating the libhttpd et. al. with
-the Apache.Web.dll package.  Perhaps we can force them to live in different
-locations with this method.  Note roll up assemblies -reference- the other
-.dll's [that assembly is a .dll itself] but it does not actually merge the
-other .dll's into a single package.
-
-Consider registering aspnet_isapi.dll keys in the registry.  This could
-occur as part of the installer or module startup.  The installer would be
-a much more efficient method.
-
-Note that the .msi package searches for apache/bin/apache.exe up to 3 levels 
-deep from the local hard drives, in sequence.  It aught to further test for
-version 2.0.43.0 or later.
-
-The installer cannot be configured correctly from the MS Visual Studio
-environment; the follow changes should be programmed to automatically
-occur after building installer.msi;
-
-Modify the following records;
-
-  Table     Property             Value
-  Property  FolderForm_AllUsers  s/ME/ALL/
-  
-Insert the follow records;
-
-  Table         Action           Type   Source     Target
-  CustomAction  DIRCH_TARGETDIR  307    TARGETDIR  [HTTPSDPATH]\..
-
-  Table                    Action           Condition       Seq
-  InstallUISequence        DIRCH_TARGETDIR  HTTPSDPATH<>""  725
-  InstallExecuteSequence   DIRCH_TARGETDIR  HTTPSDPATH<>""  725
-
-This sequence uses the HTTPSDPATH search already built into the
-installer.msi project, and sets that default as the targetdir for
-the installation.
-
-
+README for mod_aspdotnet + Apache.Web 
+-----------------------------------
+
+
+Build Notes
+-----------
+
+The top level workspace mod_aspdotnet.sln is invoked for a release build
+with the syntax;
+
+  set APACHE_PATH=d:path\to\apache\serverroot
+  devenv mod_aspdotnet.sln /useenv /build Release /project installer
+
+The necessary files, mod_aspdotnet.so [+.pdb for debug symbols] and the
+Apache.Web.dll [+.pdb] are built into the installer.msi package at 
+the top-level Release/ directory of this module.
+
+It is absolutely critical that this build occurs using the Visual Studio
+.NET (7.0) version.  Older VS 6.0 compilers won't support the module.
+
+Note that the Apache.Web.dll is temporarily registered, it's type library
+(.tlb file) is extracted, and it is unregistered as a post-build step for
+both the Debug and Release builds of the Apache.web.  This assures us that
+the usual build machines remain clean of excess COM registration gunk.
+
+We build Apache.Web.dll with delay-load of libhttpd, libapr and libaprutil 
+dll's.  This is important since Apache.Web.dll can't be touched unless
+it is literally adjacent (in the same directory) to those Apache 2.0 .dll's.
+With this method, Apache.Web.dll can be loaded (provided we don't instantiate
+an Apache.Web.WorkerRequest object) even without resolving the path to those
+dll's in the Serverroot/bin directory.
+
+
+Deployment Notes
+----------------
+
+YOU MUST test both the .NET Framework SDK, as well as the .NET Framework
+Runtime environments.  A number of internal behaviors vary between these
+two releases, and Exceptions, destruction, construction and failure cases
+will manifest differently between the two variants.
+
+Asp.Net requires the Apache::Web::Request object to be registered in 
+the Global Assembly Cache in order to instantiate it's host container.
+
+The Debug build will do so automatically, copying mod_aspdotnet.so + .pdb
+into the $(APACHE_TMPINSTALL_WINNT)\modules directory, for testing.
+Apache.Web.dll + .pdb files are copied into $(APACHE_TMPINSTALL_WINNT)\bin
+so that it can discover libapr.dll, libaprutil.dll and libhttpd.dll when
+running in the System.Web.Hosting's AppDomain.  Apache.Web.dll is then 
+registered and installed into the Global Assembly Cache by the Debug build's
+post-build custom command.
+
+In order to install a reference into the Global Assembly Cache (for testing
+the release build instead of the debug build) use;
+
+  regasm d:\path-to-apache\bin\Apache.Web.dll 
+  gacutil /ir Apache.Web.dll FILEPATH d:\path-to-apache\bin\Apache.Web.dll Apache.Web 
+
+This will *NOT* work on a customer's machine without the .Net SDK.  Those
+tools [regasm/gacutil] aren't installed with the retail .Net install.
+
+
+TODO
+----
+
+Consider pre-compiling the package into native code prior to distribution.
+
+Consider building a roll-up assembly integrating the libhttpd et. al. with
+the Apache.Web.dll package.  Perhaps we can force them to live in different
+locations with this method.  Note roll up assemblies -reference- the other
+.dll's [that assembly is a .dll itself] but it does not actually merge the
+other .dll's into a single package.
+
+Consider registering aspnet_isapi.dll keys in the registry.  This could
+occur as part of the installer or module startup.  The installer would be
+a much more efficient method.
+
+Note that the .msi package searches for apache/bin/apache.exe up to 3 levels 
+deep from the local hard drives, in sequence.  It aught to further test for
+version 2.0.43.0 or later.
+
+The installer cannot be configured correctly from the MS Visual Studio
+environment; the follow changes should be programmed to automatically
+occur after building installer.msi;
+
+Modify the following records;
+
+  Table     Property             Value
+  Property  FolderForm_AllUsers  s/ME/ALL/
+  
+Insert the follow records;
+
+  Table         Action           Type   Source     Target
+  CustomAction  DIRCH_TARGETDIR  307    TARGETDIR  [HTTPSDPATH]\..
+
+  Table                    Action           Condition       Seq
+  InstallUISequence        DIRCH_TARGETDIR  HTTPSDPATH<>""  725
+  InstallExecuteSequence   DIRCH_TARGETDIR  HTTPSDPATH<>""  725
+
+This sequence uses the HTTPSDPATH search already built into the
+installer.msi project, and sets that default as the targetdir for
+the installation.
+
+

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/aspnet.conf
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/aspnet.conf	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/aspnet.conf	Fri Jul 16 09:27:17 2004
@@ -1,21 +1,21 @@
-LoadModule aspdotnet_module "../modules/mod_aspdotnet.so"
-
-AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
-                   licx rem resources resx soap vb vbproj vsdisco webinfo 
-
-AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*)" \
-           "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$5"
-<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
-    Options FollowSymlinks
-    Order allow,deny
-    Allow from all
-</Directory>
-
-#AspNetMount /app-uri "C:/path/to/app"
-#Alias /app-uri "C:/path/to/app"
-#<Directory "C:/path/to/app">
-#    Options FollowSymlinks Indexes Includes ExecCGI
-#    Order allow,deny
-#    Allow from all
-#    DirectoryIndex default.htm default.aspx
-#</Directory>
+LoadModule aspdotnet_module "../modules/mod_aspdotnet.so"
+
+AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
+                   licx rem resources resx soap vb vbproj vsdisco webinfo 
+
+AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*)" \
+           "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$5"
+<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
+    Options FollowSymlinks
+    Order allow,deny
+    Allow from all
+</Directory>
+
+#AspNetMount /app-uri "C:/path/to/app"
+#Alias /app-uri "C:/path/to/app"
+#<Directory "C:/path/to/app">
+#    Options FollowSymlinks Indexes Includes ExecCGI
+#    Order allow,deny
+#    Allow from all
+#    DirectoryIndex default.htm default.aspx
+#</Directory>

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer.isv
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer.isv	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer.isv	Fri Jul 16 09:27:17 2004
@@ -1,115 +1,115 @@
-InstallShield Project Text File Version 7.0
-.\installer\_SummaryInformation.idt
-.\installer\_Validation.idt
-.\installer\ActionText.idt
-.\installer\AdminExecuteSequence.idt
-.\installer\Condition.idt
-.\installer\AdminUISequence.idt
-.\installer\AdvtExecuteSequence.idt
-.\installer\AdvtUISequence.idt
-.\installer\AppId.idt
-.\installer\AppSearch.idt
-.\installer\Property.idt
-.\installer\Signature.idt
-.\installer\BBControl.idt
-.\installer\Billboard.idt
-.\installer\Feature.idt
-.\installer\Binary.idt
-.\installer\BindImage.idt
-.\installer\File.idt
-.\installer\CCPSearch.idt
-.\installer\CheckBox.idt
-.\installer\Class.idt
-.\installer\Component.idt
-.\installer\Icon.idt
-.\installer\ProgId.idt
-.\installer\ComboBox.idt
-.\installer\CompLocator.idt
-.\installer\Complus.idt
-.\installer\Directory.idt
-.\installer\Control.idt
-.\installer\Dialog.idt
-.\installer\ControlCondition.idt
-.\installer\ControlEvent.idt
-.\installer\CreateFolder.idt
-.\installer\CustomAction.idt
-.\installer\DrLocator.idt
-.\installer\DuplicateFile.idt
-.\installer\Environment.idt
-.\installer\Error.idt
-.\installer\EventMapping.idt
-.\installer\Extension.idt
-.\installer\MIME.idt
-.\installer\FeatureComponents.idt
-.\installer\FileSFPCatalog.idt
-.\installer\SFPCatalog.idt
-.\installer\Font.idt
-.\installer\IniFile.idt
-.\installer\IniLocator.idt
-.\installer\InstallExecuteSequence.idt
-.\installer\InstallShield.idt
-.\installer\InstallUISequence.idt
-.\installer\ISComponentExtended.idt
-.\installer\ISDependency.idt
-.\installer\ISDisk1File.idt
-.\installer\ISDLLWrapper.idt
-.\installer\ISDynamicFile.idt
-.\installer\ISFeatureMergeModules.idt
-.\installer\ISMergeModule.idt
-.\installer\ISInstallScriptAction.idt
-.\installer\ISLanguage.idt
-.\installer\ISLinkerLibrary.idt
-.\installer\ISLocalControl.idt
-.\installer\ISLocalDialog.idt
-.\installer\ISLogicalDisk.idt
-.\installer\ISProductConfiguration.idt
-.\installer\ISRelease.idt
-.\installer\ISLogicalDiskFeatures.idt
-.\installer\ISObject.idt
-.\installer\ISObjectProperty.idt
-.\installer\IsolatedComponent.idt
-.\installer\ISPathVariable.idt
-.\installer\ISProductConfigurationProperty.idt
-.\installer\ISReleaseExtended.idt
-.\installer\ISScriptFile.idt
-.\installer\ISSelfReg.idt
-.\installer\ISSetupFile.idt
-.\installer\ISStorages.idt
-.\installer\ISString.idt
-.\installer\ISVRoot.idt
-.\installer\ISVRootAppMaps.idt
-.\installer\Verb.idt
-.\installer\LaunchCondition.idt
-.\installer\ListBox.idt
-.\installer\ListView.idt
-.\installer\LockPermissions.idt
-.\installer\Media.idt
-.\installer\MoveFile.idt
-.\installer\MsiAssembly.idt
-.\installer\MsiAssemblyName.idt
-.\installer\MsiDigitalCertificate.idt
-.\installer\MsiDigitalSignature.idt
-.\installer\MsiFileHash.idt
-.\installer\ODBCAttribute.idt
-.\installer\ODBCDriver.idt
-.\installer\ODBCDataSource.idt
-.\installer\ODBCSourceAttribute.idt
-.\installer\ODBCTranslator.idt
-.\installer\Patch.idt
-.\installer\PatchPackage.idt
-.\installer\PublishComponent.idt
-.\installer\RadioButton.idt
-.\installer\Registry.idt
-.\installer\RegLocator.idt
-.\installer\RemoveFile.idt
-.\installer\RemoveIniFile.idt
-.\installer\RemoveRegistry.idt
-.\installer\ReserveCost.idt
-.\installer\SelfReg.idt
-.\installer\ServiceControl.idt
-.\installer\ServiceInstall.idt
-.\installer\Shortcut.idt
-.\installer\TextStyle.idt
-.\installer\TypeLib.idt
-.\installer\UIText.idt
-.\installer\Upgrade.idt
+InstallShield Project Text File Version 7.0
+.\installer\_SummaryInformation.idt
+.\installer\_Validation.idt
+.\installer\ActionText.idt
+.\installer\AdminExecuteSequence.idt
+.\installer\Condition.idt
+.\installer\AdminUISequence.idt
+.\installer\AdvtExecuteSequence.idt
+.\installer\AdvtUISequence.idt
+.\installer\AppId.idt
+.\installer\AppSearch.idt
+.\installer\Property.idt
+.\installer\Signature.idt
+.\installer\BBControl.idt
+.\installer\Billboard.idt
+.\installer\Feature.idt
+.\installer\Binary.idt
+.\installer\BindImage.idt
+.\installer\File.idt
+.\installer\CCPSearch.idt
+.\installer\CheckBox.idt
+.\installer\Class.idt
+.\installer\Component.idt
+.\installer\Icon.idt
+.\installer\ProgId.idt
+.\installer\ComboBox.idt
+.\installer\CompLocator.idt
+.\installer\Complus.idt
+.\installer\Directory.idt
+.\installer\Control.idt
+.\installer\Dialog.idt
+.\installer\ControlCondition.idt
+.\installer\ControlEvent.idt
+.\installer\CreateFolder.idt
+.\installer\CustomAction.idt
+.\installer\DrLocator.idt
+.\installer\DuplicateFile.idt
+.\installer\Environment.idt
+.\installer\Error.idt
+.\installer\EventMapping.idt
+.\installer\Extension.idt
+.\installer\MIME.idt
+.\installer\FeatureComponents.idt
+.\installer\FileSFPCatalog.idt
+.\installer\SFPCatalog.idt
+.\installer\Font.idt
+.\installer\IniFile.idt
+.\installer\IniLocator.idt
+.\installer\InstallExecuteSequence.idt
+.\installer\InstallShield.idt
+.\installer\InstallUISequence.idt
+.\installer\ISComponentExtended.idt
+.\installer\ISDependency.idt
+.\installer\ISDisk1File.idt
+.\installer\ISDLLWrapper.idt
+.\installer\ISDynamicFile.idt
+.\installer\ISFeatureMergeModules.idt
+.\installer\ISMergeModule.idt
+.\installer\ISInstallScriptAction.idt
+.\installer\ISLanguage.idt
+.\installer\ISLinkerLibrary.idt
+.\installer\ISLocalControl.idt
+.\installer\ISLocalDialog.idt
+.\installer\ISLogicalDisk.idt
+.\installer\ISProductConfiguration.idt
+.\installer\ISRelease.idt
+.\installer\ISLogicalDiskFeatures.idt
+.\installer\ISObject.idt
+.\installer\ISObjectProperty.idt
+.\installer\IsolatedComponent.idt
+.\installer\ISPathVariable.idt
+.\installer\ISProductConfigurationProperty.idt
+.\installer\ISReleaseExtended.idt
+.\installer\ISScriptFile.idt
+.\installer\ISSelfReg.idt
+.\installer\ISSetupFile.idt
+.\installer\ISStorages.idt
+.\installer\ISString.idt
+.\installer\ISVRoot.idt
+.\installer\ISVRootAppMaps.idt
+.\installer\Verb.idt
+.\installer\LaunchCondition.idt
+.\installer\ListBox.idt
+.\installer\ListView.idt
+.\installer\LockPermissions.idt
+.\installer\Media.idt
+.\installer\MoveFile.idt
+.\installer\MsiAssembly.idt
+.\installer\MsiAssemblyName.idt
+.\installer\MsiDigitalCertificate.idt
+.\installer\MsiDigitalSignature.idt
+.\installer\MsiFileHash.idt
+.\installer\ODBCAttribute.idt
+.\installer\ODBCDriver.idt
+.\installer\ODBCDataSource.idt
+.\installer\ODBCSourceAttribute.idt
+.\installer\ODBCTranslator.idt
+.\installer\Patch.idt
+.\installer\PatchPackage.idt
+.\installer\PublishComponent.idt
+.\installer\RadioButton.idt
+.\installer\Registry.idt
+.\installer\RegLocator.idt
+.\installer\RemoveFile.idt
+.\installer\RemoveIniFile.idt
+.\installer\RemoveRegistry.idt
+.\installer\ReserveCost.idt
+.\installer\SelfReg.idt
+.\installer\ServiceControl.idt
+.\installer\ServiceInstall.idt
+.\installer\Shortcut.idt
+.\installer\TextStyle.idt
+.\installer\TypeLib.idt
+.\installer\UIText.idt
+.\installer\Upgrade.idt

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/.cvsignore
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/.cvsignore	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/.cvsignore	Fri Jul 16 09:27:17 2004
@@ -1 +1 @@
-Release
+Release

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ActionText.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ActionText.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ActionText.idt	Fri Jul 16 09:27:17 2004
@@ -1,73 +1,73 @@
-Action	Description	Template
-s72	L64	L128
-ActionText	Action
-Advertise	##IDS_ACTIONTEXT_1##	
-AllocateRegistrySpace	##IDS_ACTIONTEXT_2##	##IDS_ACTIONTEXT_3##
-AppSearch	##IDS_ACTIONTEXT_4##	##IDS_ACTIONTEXT_5##
-BindImage	##IDS_ACTIONTEXT_6##	##IDS_ACTIONTEXT_7##
-caCreateVRoots	##IDS_ACTIONTEXT_123##	
-caRemoveVRoots	##IDS_ACTIONTEXT_124##	
-CCPSearch	##IDS_ACTIONTEXT_8##	
-CostFinalize	##IDS_ACTIONTEXT_9##	
-CostInitialize	##IDS_ACTIONTEXT_10##	
-CreateFolders	##IDS_ACTIONTEXT_11##	##IDS_ACTIONTEXT_12##
-CreateShortcuts	##IDS_ACTIONTEXT_13##	##IDS_ACTIONTEXT_14##
-DeleteServices	##IDS_ACTIONTEXT_15##	##IDS_ACTIONTEXT_16##
-DuplicateFiles	##IDS_ACTIONTEXT_17##	##IDS_ACTIONTEXT_18##
-FileCost	##IDS_ACTIONTEXT_19##	
-FindRelatedProducts	##IDS_ACTIONTEXT_115##	##IDS_ACTIONTEXT_116##
-GenerateScript	##IDS_ACTIONTEXT_20##	##IDS_ACTIONTEXT_21##
-InstallAdminPackage	##IDS_ACTIONTEXT_22##	##IDS_ACTIONTEXT_23##
-InstallFiles	##IDS_ACTIONTEXT_24##	##IDS_ACTIONTEXT_25##
-InstallODBC	##IDS_ACTIONTEXT_26##	
-InstallServices	##IDS_ACTIONTEXT_27##	##IDS_ACTIONTEXT_28##
-InstallSFPCatalogFile	##IDS_ACTIONTEXT_121##	##IDS_ACTIONTEXT_122##
-InstallValidate	##IDS_ACTIONTEXT_29##	
-LaunchConditions	##IDS_ACTIONTEXT_30##	
-MigrateFeatureStates	##IDS_ACTIONTEXT_117##	##IDS_ACTIONTEXT_118##
-MoveFiles	##IDS_ACTIONTEXT_31##	##IDS_ACTIONTEXT_32##
-PatchFiles	##IDS_ACTIONTEXT_33##	##IDS_ACTIONTEXT_34##
-ProcessComponents	##IDS_ACTIONTEXT_35##	
-PublishComponents	##IDS_ACTIONTEXT_36##	##IDS_ACTIONTEXT_37##
-PublishFeatures	##IDS_ACTIONTEXT_38##	##IDS_ACTIONTEXT_39##
-PublishProduct	##IDS_ACTIONTEXT_40##	
-RegisterClassInfo	##IDS_ACTIONTEXT_41##	##IDS_ACTIONTEXT_42##
-RegisterComPlus	##IDS_ACTIONTEXT_111##	##IDS_ACTIONTEXT_112##
-RegisterExtensionInfo	##IDS_ACTIONTEXT_43##	##IDS_ACTIONTEXT_44##
-RegisterFonts	##IDS_ACTIONTEXT_45##	##IDS_ACTIONTEXT_46##
-RegisterMIMEInfo	##IDS_ACTIONTEXT_47##	##IDS_ACTIONTEXT_48##
-RegisterProduct	##IDS_ACTIONTEXT_49##	##IDS_ACTIONTEXT_50##
-RegisterProgIdInfo	##IDS_ACTIONTEXT_51##	##IDS_ACTIONTEXT_52##
-RegisterTypeLibraries	##IDS_ACTIONTEXT_53##	##IDS_ACTIONTEXT_54##
-RegisterUser	##IDS_ACTIONTEXT_55##	##IDS_ACTIONTEXT_56##
-RemoveDuplicateFiles	##IDS_ACTIONTEXT_57##	##IDS_ACTIONTEXT_58##
-RemoveEnvironmentStrings	##IDS_ACTIONTEXT_59##	##IDS_ACTIONTEXT_60##
-RemoveExistingProducts	##IDS_ACTIONTEXT_119##	##IDS_ACTIONTEXT_120##
-RemoveFiles	##IDS_ACTIONTEXT_61##	##IDS_ACTIONTEXT_62##
-RemoveFolders	##IDS_ACTIONTEXT_63##	##IDS_ACTIONTEXT_64##
-RemoveIniValues	##IDS_ACTIONTEXT_65##	##IDS_ACTIONTEXT_66##
-RemoveODBC	##IDS_ACTIONTEXT_67##	
-RemoveRegistryValues	##IDS_ACTIONTEXT_68##	##IDS_ACTIONTEXT_69##
-RemoveShortcuts	##IDS_ACTIONTEXT_70##	##IDS_ACTIONTEXT_71##
-RMCCPSearch	##IDS_ACTIONTEXT_72##	
-Rollback	##IDS_ACTIONTEXT_73##	##IDS_ACTIONTEXT_74##
-RollbackCleanup	##IDS_ACTIONTEXT_75##	##IDS_ACTIONTEXT_76##
-SelfRegModules	##IDS_ACTIONTEXT_77##	##IDS_ACTIONTEXT_78##
-SelfUnregModules	##IDS_ACTIONTEXT_79##	##IDS_ACTIONTEXT_80##
-SetODBCFolders	##IDS_ACTIONTEXT_81##	
-StartServices	##IDS_ACTIONTEXT_82##	##IDS_ACTIONTEXT_83##
-StopServices	##IDS_ACTIONTEXT_84##	##IDS_ACTIONTEXT_85##
-UnmoveFiles	##IDS_ACTIONTEXT_86##	##IDS_ACTIONTEXT_87##
-UnpublishComponents	##IDS_ACTIONTEXT_88##	##IDS_ACTIONTEXT_89##
-UnpublishFeatures	##IDS_ACTIONTEXT_90##	##IDS_ACTIONTEXT_91##
-UnpublishProduct	##IDS_ACTIONTEXT_92##	
-UnregisterClassInfo	##IDS_ACTIONTEXT_93##	##IDS_ACTIONTEXT_94##
-UnregisterComPlus	##IDS_ACTIONTEXT_113##	##IDS_ACTIONTEXT_114##
-UnregisterExtensionInfo	##IDS_ACTIONTEXT_95##	##IDS_ACTIONTEXT_96##
-UnregisterFonts	##IDS_ACTIONTEXT_97##	##IDS_ACTIONTEXT_98##
-UnregisterMIMEInfo	##IDS_ACTIONTEXT_99##	##IDS_ACTIONTEXT_100##
-UnregisterProgIdInfo	##IDS_ACTIONTEXT_101##	##IDS_ACTIONTEXT_102##
-UnregisterTypeLibraries	##IDS_ACTIONTEXT_103##	##IDS_ACTIONTEXT_104##
-WriteEnvironmentStrings	##IDS_ACTIONTEXT_105##	##IDS_ACTIONTEXT_106##
-WriteIniValues	##IDS_ACTIONTEXT_107##	##IDS_ACTIONTEXT_108##
-WriteRegistryValues	##IDS_ACTIONTEXT_109##	##IDS_ACTIONTEXT_110##
+Action	Description	Template
+s72	L64	L128
+ActionText	Action
+Advertise	##IDS_ACTIONTEXT_1##	
+AllocateRegistrySpace	##IDS_ACTIONTEXT_2##	##IDS_ACTIONTEXT_3##
+AppSearch	##IDS_ACTIONTEXT_4##	##IDS_ACTIONTEXT_5##
+BindImage	##IDS_ACTIONTEXT_6##	##IDS_ACTIONTEXT_7##
+caCreateVRoots	##IDS_ACTIONTEXT_123##	
+caRemoveVRoots	##IDS_ACTIONTEXT_124##	
+CCPSearch	##IDS_ACTIONTEXT_8##	
+CostFinalize	##IDS_ACTIONTEXT_9##	
+CostInitialize	##IDS_ACTIONTEXT_10##	
+CreateFolders	##IDS_ACTIONTEXT_11##	##IDS_ACTIONTEXT_12##
+CreateShortcuts	##IDS_ACTIONTEXT_13##	##IDS_ACTIONTEXT_14##
+DeleteServices	##IDS_ACTIONTEXT_15##	##IDS_ACTIONTEXT_16##
+DuplicateFiles	##IDS_ACTIONTEXT_17##	##IDS_ACTIONTEXT_18##
+FileCost	##IDS_ACTIONTEXT_19##	
+FindRelatedProducts	##IDS_ACTIONTEXT_115##	##IDS_ACTIONTEXT_116##
+GenerateScript	##IDS_ACTIONTEXT_20##	##IDS_ACTIONTEXT_21##
+InstallAdminPackage	##IDS_ACTIONTEXT_22##	##IDS_ACTIONTEXT_23##
+InstallFiles	##IDS_ACTIONTEXT_24##	##IDS_ACTIONTEXT_25##
+InstallODBC	##IDS_ACTIONTEXT_26##	
+InstallServices	##IDS_ACTIONTEXT_27##	##IDS_ACTIONTEXT_28##
+InstallSFPCatalogFile	##IDS_ACTIONTEXT_121##	##IDS_ACTIONTEXT_122##
+InstallValidate	##IDS_ACTIONTEXT_29##	
+LaunchConditions	##IDS_ACTIONTEXT_30##	
+MigrateFeatureStates	##IDS_ACTIONTEXT_117##	##IDS_ACTIONTEXT_118##
+MoveFiles	##IDS_ACTIONTEXT_31##	##IDS_ACTIONTEXT_32##
+PatchFiles	##IDS_ACTIONTEXT_33##	##IDS_ACTIONTEXT_34##
+ProcessComponents	##IDS_ACTIONTEXT_35##	
+PublishComponents	##IDS_ACTIONTEXT_36##	##IDS_ACTIONTEXT_37##
+PublishFeatures	##IDS_ACTIONTEXT_38##	##IDS_ACTIONTEXT_39##
+PublishProduct	##IDS_ACTIONTEXT_40##	
+RegisterClassInfo	##IDS_ACTIONTEXT_41##	##IDS_ACTIONTEXT_42##
+RegisterComPlus	##IDS_ACTIONTEXT_111##	##IDS_ACTIONTEXT_112##
+RegisterExtensionInfo	##IDS_ACTIONTEXT_43##	##IDS_ACTIONTEXT_44##
+RegisterFonts	##IDS_ACTIONTEXT_45##	##IDS_ACTIONTEXT_46##
+RegisterMIMEInfo	##IDS_ACTIONTEXT_47##	##IDS_ACTIONTEXT_48##
+RegisterProduct	##IDS_ACTIONTEXT_49##	##IDS_ACTIONTEXT_50##
+RegisterProgIdInfo	##IDS_ACTIONTEXT_51##	##IDS_ACTIONTEXT_52##
+RegisterTypeLibraries	##IDS_ACTIONTEXT_53##	##IDS_ACTIONTEXT_54##
+RegisterUser	##IDS_ACTIONTEXT_55##	##IDS_ACTIONTEXT_56##
+RemoveDuplicateFiles	##IDS_ACTIONTEXT_57##	##IDS_ACTIONTEXT_58##
+RemoveEnvironmentStrings	##IDS_ACTIONTEXT_59##	##IDS_ACTIONTEXT_60##
+RemoveExistingProducts	##IDS_ACTIONTEXT_119##	##IDS_ACTIONTEXT_120##
+RemoveFiles	##IDS_ACTIONTEXT_61##	##IDS_ACTIONTEXT_62##
+RemoveFolders	##IDS_ACTIONTEXT_63##	##IDS_ACTIONTEXT_64##
+RemoveIniValues	##IDS_ACTIONTEXT_65##	##IDS_ACTIONTEXT_66##
+RemoveODBC	##IDS_ACTIONTEXT_67##	
+RemoveRegistryValues	##IDS_ACTIONTEXT_68##	##IDS_ACTIONTEXT_69##
+RemoveShortcuts	##IDS_ACTIONTEXT_70##	##IDS_ACTIONTEXT_71##
+RMCCPSearch	##IDS_ACTIONTEXT_72##	
+Rollback	##IDS_ACTIONTEXT_73##	##IDS_ACTIONTEXT_74##
+RollbackCleanup	##IDS_ACTIONTEXT_75##	##IDS_ACTIONTEXT_76##
+SelfRegModules	##IDS_ACTIONTEXT_77##	##IDS_ACTIONTEXT_78##
+SelfUnregModules	##IDS_ACTIONTEXT_79##	##IDS_ACTIONTEXT_80##
+SetODBCFolders	##IDS_ACTIONTEXT_81##	
+StartServices	##IDS_ACTIONTEXT_82##	##IDS_ACTIONTEXT_83##
+StopServices	##IDS_ACTIONTEXT_84##	##IDS_ACTIONTEXT_85##
+UnmoveFiles	##IDS_ACTIONTEXT_86##	##IDS_ACTIONTEXT_87##
+UnpublishComponents	##IDS_ACTIONTEXT_88##	##IDS_ACTIONTEXT_89##
+UnpublishFeatures	##IDS_ACTIONTEXT_90##	##IDS_ACTIONTEXT_91##
+UnpublishProduct	##IDS_ACTIONTEXT_92##	
+UnregisterClassInfo	##IDS_ACTIONTEXT_93##	##IDS_ACTIONTEXT_94##
+UnregisterComPlus	##IDS_ACTIONTEXT_113##	##IDS_ACTIONTEXT_114##
+UnregisterExtensionInfo	##IDS_ACTIONTEXT_95##	##IDS_ACTIONTEXT_96##
+UnregisterFonts	##IDS_ACTIONTEXT_97##	##IDS_ACTIONTEXT_98##
+UnregisterMIMEInfo	##IDS_ACTIONTEXT_99##	##IDS_ACTIONTEXT_100##
+UnregisterProgIdInfo	##IDS_ACTIONTEXT_101##	##IDS_ACTIONTEXT_102##
+UnregisterTypeLibraries	##IDS_ACTIONTEXT_103##	##IDS_ACTIONTEXT_104##
+WriteEnvironmentStrings	##IDS_ACTIONTEXT_105##	##IDS_ACTIONTEXT_106##
+WriteIniValues	##IDS_ACTIONTEXT_107##	##IDS_ACTIONTEXT_108##
+WriteRegistryValues	##IDS_ACTIONTEXT_109##	##IDS_ACTIONTEXT_110##

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdminExecuteSequence.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdminExecuteSequence.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdminExecuteSequence.idt	Fri Jul 16 09:27:17 2004
@@ -1,12 +1,12 @@
-Action	Condition	Sequence	ISComments	ISAttributes
-s72	S255	I2	S255	I4
-AdminExecuteSequence	Action
-CostFinalize		150	CostFinalize	
-CostInitialize		50	CostInitialize	
-FileCost		100	FileCost	
-InstallAdminPackage		300	InstallAdminPackage	
-InstallFiles		350	InstallFiles	
-InstallFinalize		400	InstallFinalize	
-InstallInitialize		250	InstallInitialize	
-InstallValidate		200	InstallValidate	
-ScheduleReboot	ISSCHEDULEREBOOT	375	ScheduleReboot	
+Action	Condition	Sequence	ISComments	ISAttributes
+s72	S255	I2	S255	I4
+AdminExecuteSequence	Action
+CostFinalize		150	CostFinalize	
+CostInitialize		50	CostInitialize	
+FileCost		100	FileCost	
+InstallAdminPackage		300	InstallAdminPackage	
+InstallFiles		350	InstallFiles	
+InstallFinalize		400	InstallFinalize	
+InstallInitialize		250	InstallInitialize	
+InstallValidate		200	InstallValidate	
+ScheduleReboot	ISSCHEDULEREBOOT	375	ScheduleReboot	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdminUISequence.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdminUISequence.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdminUISequence.idt	Fri Jul 16 09:27:17 2004
@@ -1,13 +1,13 @@
-Action	Condition	Sequence	ISComments	ISAttributes
-s72	S255	I2	S255	I4
-AdminUISequence	Action
-AdminWelcome		250	AdminWelcome	
-CostFinalize		200	CostFinalize	
-CostInitialize		100	CostInitialize	
-ExecuteAction		350	ExecuteAction	
-FileCost		150	FileCost	
-SetupCompleteError		-3	SetupCompleteError	
-SetupCompleteSuccess		-1	SetupCompleteSuccess	
-SetupInitialization		50	SetupInitialization	
-SetupInterrupted		-2	SetupInterrupted	
-SetupProgress		300	SetupProgress	
+Action	Condition	Sequence	ISComments	ISAttributes
+s72	S255	I2	S255	I4
+AdminUISequence	Action
+AdminWelcome		250	AdminWelcome	
+CostFinalize		200	CostFinalize	
+CostInitialize		100	CostInitialize	
+ExecuteAction		350	ExecuteAction	
+FileCost		150	FileCost	
+SetupCompleteError		-3	SetupCompleteError	
+SetupCompleteSuccess		-1	SetupCompleteSuccess	
+SetupInitialization		50	SetupInitialization	
+SetupInterrupted		-2	SetupInterrupted	
+SetupProgress		300	SetupProgress	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdvtExecuteSequence.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdvtExecuteSequence.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdvtExecuteSequence.idt	Fri Jul 16 09:27:17 2004
@@ -1,19 +1,19 @@
-Action	Condition	Sequence	ISComments	ISAttributes
-s72	S255	I2	S255	I4
-AdvtExecuteSequence	Action
-CostFinalize		100	CostFinalize	
-CostInitialize		50	CostInitialize	
-CreateShortcuts		250	CreateShortcuts	
-InstallFinalize		700	InstallFinalize	
-InstallInitialize		200	InstallInitialize	
-InstallValidate		150	InstallValidate	
-MsiPublishAssemblies		575	MsiPublishAssemblies	
-PublishComponents		550	PublishComponents	
-PublishFeatures		600	PublishFeatures	
-PublishProduct		650	PublishProduct	
-RegisterClassInfo		300	RegisterClassInfo	
-RegisterExtensionInfo		350	RegisterExtensionInfo	
-RegisterMIMEInfo		450	RegisterMIMEInfo	
-RegisterProgIdInfo		400	RegisterProgIdInfo	
-RegisterTypeLibraries		500	RegisterTypeLibraries	
-ScheduleReboot	ISSCHEDULEREBOOT	675	ScheduleReboot	
+Action	Condition	Sequence	ISComments	ISAttributes
+s72	S255	I2	S255	I4
+AdvtExecuteSequence	Action
+CostFinalize		100	CostFinalize	
+CostInitialize		50	CostInitialize	
+CreateShortcuts		250	CreateShortcuts	
+InstallFinalize		700	InstallFinalize	
+InstallInitialize		200	InstallInitialize	
+InstallValidate		150	InstallValidate	
+MsiPublishAssemblies		575	MsiPublishAssemblies	
+PublishComponents		550	PublishComponents	
+PublishFeatures		600	PublishFeatures	
+PublishProduct		650	PublishProduct	
+RegisterClassInfo		300	RegisterClassInfo	
+RegisterExtensionInfo		350	RegisterExtensionInfo	
+RegisterMIMEInfo		450	RegisterMIMEInfo	
+RegisterProgIdInfo		400	RegisterProgIdInfo	
+RegisterTypeLibraries		500	RegisterTypeLibraries	
+ScheduleReboot	ISSCHEDULEREBOOT	675	ScheduleReboot	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdvtUISequence.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdvtUISequence.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/AdvtUISequence.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Action	Condition	Sequence	ISComments	ISAttributes
-s72	S255	I2	S255	I4
-AdvtUISequence	Action
+Action	Condition	Sequence	ISComments	ISAttributes
+s72	S255	I2	S255	I4
+AdvtUISequence	Action

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/AppId.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/AppId.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/AppId.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-AppId	RemoteServerName	LocalService	ServiceParameters	DllSurrogate	ActivateAtStorage	RunAsInteractiveUser
-s38	S255	S255	S255	S255	I2	I2
-AppId	AppId
+AppId	RemoteServerName	LocalService	ServiceParameters	DllSurrogate	ActivateAtStorage	RunAsInteractiveUser
+s38	S255	S255	S255	S255	I2	I2
+AppId	AppId

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/AppSearch.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/AppSearch.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/AppSearch.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Property	Signature_
-s72	s72
-AppSearch	Property	Signature_
+Property	Signature_
+s72	s72
+AppSearch	Property	Signature_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/BBControl.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/BBControl.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/BBControl.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Billboard_	BBControl	Type	X	Y	Width	Height	Attributes	Text
-s50	s50	s50	i2	i2	i2	i2	I4	L50
-BBControl	Billboard_	BBControl
+Billboard_	BBControl	Type	X	Y	Width	Height	Attributes	Text
+s50	s50	s50	i2	i2	i2	i2	I4	L50
+BBControl	Billboard_	BBControl

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Billboard.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Billboard.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Billboard.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Billboard	Feature_	Action	Ordering
-s50	s38	S50	I2
-Billboard	Billboard
+Billboard	Feature_	Action	Ordering
+s50	s38	S50	I2
+Billboard	Billboard

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Binary.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Binary.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Binary.idt	Fri Jul 16 09:27:17 2004
@@ -1,22 +1,22 @@
-Name	Data	ISBuildSourcePath
-s72	V0	S255
-Binary	Name
-ISSELFREG.DLL		<ISProductFolder>\redist\language independent\i386\isregsvr.dll
-NewBinary1		<ISProjectFolder>\resource\ApacheBanner.jpeg
-NewBinary10		<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibd
-NewBinary11		<ISProjectFolder>\msi_dll\resolve_apache.dll
-NewBinary12		<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibd
-NewBinary13		<ISProductFolder>\Redist\Language Independent\OS Independent\NetworkInstall.ico
-NewBinary14		<ISProductFolder>\Redist\Language Independent\OS Independent\DontInstall.ico
-NewBinary15		<ISProductFolder>\Redist\Language Independent\OS Independent\Install.ico
-NewBinary16		<ISProductFolder>\Redist\Language Independent\OS Independent\InstallFirstUse.ico
-NewBinary17		<ISProductFolder>\Redist\Language Independent\OS Independent\InstallPartial.ico
-NewBinary18		<ISProductFolder>\Redist\Language Independent\OS Independent\InstallStateMenu.ico
-NewBinary2		<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibd
-NewBinary3		<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibd
-NewBinary4		<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibd
-NewBinary5		<ISProjectFolder>\resource\ApachePanel.jpeg
-NewBinary6		<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd
-NewBinary7		<ISProductFolder>\Redist\Language Independent\OS Independent\ReinstIco.ibd
-NewBinary8		<ISProductFolder>\Redist\Language Independent\OS Independent\RemoveIco.ibd
-NewBinary9		<ISProductFolder>\Redist\Language Independent\OS Independent\SetupIcon.ibd
+Name	Data	ISBuildSourcePath
+s72	V0	S255
+Binary	Name
+ISSELFREG.DLL		<ISProductFolder>\redist\language independent\i386\isregsvr.dll
+NewBinary1		<ISProjectFolder>\resource\ApacheBanner.jpeg
+NewBinary10		<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibd
+NewBinary11		<ISProjectFolder>\msi_dll\resolve_apache.dll
+NewBinary12		<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibd
+NewBinary13		<ISProductFolder>\Redist\Language Independent\OS Independent\NetworkInstall.ico
+NewBinary14		<ISProductFolder>\Redist\Language Independent\OS Independent\DontInstall.ico
+NewBinary15		<ISProductFolder>\Redist\Language Independent\OS Independent\Install.ico
+NewBinary16		<ISProductFolder>\Redist\Language Independent\OS Independent\InstallFirstUse.ico
+NewBinary17		<ISProductFolder>\Redist\Language Independent\OS Independent\InstallPartial.ico
+NewBinary18		<ISProductFolder>\Redist\Language Independent\OS Independent\InstallStateMenu.ico
+NewBinary2		<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibd
+NewBinary3		<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibd
+NewBinary4		<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibd
+NewBinary5		<ISProjectFolder>\resource\ApachePanel.jpeg
+NewBinary6		<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd
+NewBinary7		<ISProductFolder>\Redist\Language Independent\OS Independent\ReinstIco.ibd
+NewBinary8		<ISProductFolder>\Redist\Language Independent\OS Independent\RemoveIco.ibd
+NewBinary9		<ISProductFolder>\Redist\Language Independent\OS Independent\SetupIcon.ibd

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/BindImage.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/BindImage.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/BindImage.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-File_	Path
-s72	S255
-BindImage	File_
+File_	Path
+s72	S255
+BindImage	File_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/CCPSearch.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/CCPSearch.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/CCPSearch.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Signature_
-s72
-CCPSearch	Signature_
+Signature_
+s72
+CCPSearch	Signature_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/CheckBox.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/CheckBox.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/CheckBox.idt	Fri Jul 16 09:27:17 2004
@@ -1,4 +1,4 @@
-Property	Value
-s72	S64
-CheckBox	Property
-LAUNCHREADME	
+Property	Value
+s72	S64
+CheckBox	Property
+LAUNCHREADME	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Class.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Class.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Class.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-CLSID	Context	Component_	ProgId_Default	Description	AppId_	FileTypeMask	Icon_	IconIndex	DefInprocHandler	Argument	Feature_	Attributes
-s38	s32	s72	S255	L255	S38	S255	S72	I2	S32	S255	s38	I2
-Class	CLSID	Context	Component_
+CLSID	Context	Component_	ProgId_Default	Description	AppId_	FileTypeMask	Icon_	IconIndex	DefInprocHandler	Argument	Feature_	Attributes
+s38	s32	s72	S255	L255	S38	S255	S72	I2	S32	S255	s38	I2
+Class	CLSID	Context	Component_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ComboBox.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ComboBox.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ComboBox.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Property	Order	Value	Text
-s72	i2	s64	L64
-ComboBox	Property	Order
+Property	Order	Value	Text
+s72	i2	s64	L64
+ComboBox	Property	Order

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/CompLocator.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/CompLocator.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/CompLocator.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Signature_	ComponentId	Type
-s72	s38	I2
-CompLocator	Signature_
+Signature_	ComponentId	Type
+s72	s38	I2
+CompLocator	Signature_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Complus.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Complus.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Complus.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Component_	ExpType
-s72	I2
-Complus	Component_	ExpType
+Component_	ExpType
+s72	I2
+Complus	Component_	ExpType

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Component.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Component.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Component.idt	Fri Jul 16 09:27:17 2004
@@ -1,6 +1,6 @@
-Component	ComponentId	Directory_	Attributes	Condition	KeyPath	ISAttributes	ISComments	ISScanAtBuildFile	ISRegFileToMergeAtBuild
-s72	S38	s72	i2	S255	S72	I4	S255	S255	S255
-Component	Component
-Apache.Web	{0C479A89-29CD-4979-B4EF-5899EE72DD5A}	GlobalAssemblyCache	8		Apache.Web.dll	49			
-html_docs	{C66EA964-E1E5-4B5C-AAA4-C41F9330E44D}	HTML	8			17			
-mod_aspdotnet.so	{BA7DB173-11D7-4873-8F28-8A4FA6B86E33}	APACHE_MODULES	8		mod_aspdotnet.so	1			
+Component	ComponentId	Directory_	Attributes	Condition	KeyPath	ISAttributes	ISComments	ISScanAtBuildFile	ISRegFileToMergeAtBuild
+s72	S38	s72	i2	S255	S72	I4	S255	S255	S255
+Component	Component
+Apache.Web	{0C479A89-29CD-4979-B4EF-5899EE72DD5A}	GlobalAssemblyCache	8		Apache.Web.dll	49			
+html_docs	{C66EA964-E1E5-4B5C-AAA4-C41F9330E44D}	HTML	8			17			
+mod_aspdotnet.so	{BA7DB173-11D7-4873-8F28-8A4FA6B86E33}	APACHE_MODULES	8		mod_aspdotnet.so	1			

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Condition.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Condition.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Condition.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Feature_	Level	Condition
-s38	i2	S255
-Condition	Feature_	Level
+Feature_	Level	Condition
+s38	i2	S255
+Condition	Feature_	Level

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Control.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Control.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Control.idt	Fri Jul 16 09:27:17 2004
@@ -1,361 +1,361 @@
-Dialog_	Control	Type	X	Y	Width	Height	Attributes	Property	Text	Control_Next	Help	ISWindowStyle	ISControlId	ISBuildSourcePath	Binary_
-s72	s50	s20	i2	i2	i2	i2	I4	S72	L0	S50	L50	I4	I4	S255	S50
-Control	Dialog_	Control
-AdminChangeFolder	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-AdminChangeFolder	BannerLine	Line	0	44	374	0	1					0			
-AdminChangeFolder	Branding1	Text	4	229	50	13	3		##IDS__IsAdminInstallBrowse_1##			0			
-AdminChangeFolder	Branding2	Text	3	228	50	13	65537		##IDS__IsAdminInstallBrowse_2##			0			
-AdminChangeFolder	Cancel	PushButton	301	243	66	17	3		##IDS__IsAdminInstallBrowse_3##	ComboText		0			
-AdminChangeFolder	Combo	DirectoryCombo	21	64	277	80	458755	TARGETDIR	##IDS__IsAdminInstallBrowse_4##	Up		0			
-AdminChangeFolder	ComboText	Text	21	50	99	14	3		##IDS__IsAdminInstallBrowse_5##	Combo		0			
-AdminChangeFolder	DlgDesc	Text	21	23	292	25	65539		##IDS__IsAdminInstallBrowse_6##			0			
-AdminChangeFolder	DlgLine	Line	48	234	326	0	1					0			
-AdminChangeFolder	DlgTitle	Text	13	6	292	25	65539		##IDS__IsAdminInstallBrowse_7##			0			
-AdminChangeFolder	List	DirectoryList	21	90	332	97	7	TARGETDIR	##IDS__IsAdminInstallBrowse_8##	TailText		0			
-AdminChangeFolder	NewFolder	PushButton	335	66	19	19	3670019			List	##IDS__IsAdminInstallBrowse_9##	0			NewBinary2
-AdminChangeFolder	OK	PushButton	230	243	66	17	3		##IDS__IsAdminInstallBrowse_10##	Cancel		0			
-AdminChangeFolder	Tail	PathEdit	21	207	332	17	3	TARGETDIR	##IDS__IsAdminInstallBrowse_11##	OK		0			
-AdminChangeFolder	TailText	Text	21	193	99	13	3		##IDS__IsAdminInstallBrowse_12##	Tail		0			
-AdminChangeFolder	Up	PushButton	310	66	19	19	3670019			NewFolder	##IDS__IsAdminInstallBrowse_13##	0			NewBinary3
-AdminNetworkLocation	Back	PushButton	164	243	66	17	3		##IDS__IsAdminInstallPoint_1##	InstallNow		0			
-AdminNetworkLocation	Banner	Bitmap	0	1	374	44	262145					0	0		NewBinary1
-AdminNetworkLocation	BannerLine	Line	0	44	374	0	1					0			
-AdminNetworkLocation	Branding1	Text	4	229	50	13	3		##IDS__IsAdminInstallPoint_2##			0			
-AdminNetworkLocation	Branding2	Text	3	228	50	13	65537		##IDS__IsAdminInstallPoint_3##			0			
-AdminNetworkLocation	Browse	PushButton	286	124	66	17	3		##IDS__IsAdminInstallPoint_4##	Back		0			
-AdminNetworkLocation	Cancel	PushButton	301	243	66	17	3		##IDS__IsAdminInstallPoint_5##	SetupPathEdit		0			
-AdminNetworkLocation	DlgDesc	Text	21	23	292	25	65539		##IDS__IsAdminInstallPoint_6##			0			
-AdminNetworkLocation	DlgLine	Line	48	234	326	0	1					0			
-AdminNetworkLocation	DlgText	Text	21	51	326	40	3		##IDS__IsAdminInstallPoint_7##			0			
-AdminNetworkLocation	DlgTitle	Text	13	6	292	25	65539		##IDS__IsAdminInstallPoint_8##			0			
-AdminNetworkLocation	InstallNow	PushButton	230	243	66	17	3		##IDS__IsAdminInstallPoint_9##	Cancel		0			
-AdminNetworkLocation	LBBrowse	Text	21	90	100	10	3		##IDS__IsAdminInstallPoint_10##			0			
-AdminNetworkLocation	SetupPathEdit	PathEdit	21	102	330	17	3	TARGETDIR		Browse		0			
-AdminWelcome	Back	PushButton	164	243	66	17	1		##IDS__IsAdminInstallPointWelcome_1##	Next		0			
-AdminWelcome	Cancel	PushButton	301	243	66	17	3		##IDS__IsAdminInstallPointWelcome_2##	Back		0			
-AdminWelcome	DlgLine	Line	0	234	326	0	1					0			
-AdminWelcome	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
-AdminWelcome	Next	PushButton	230	243	66	17	3		##IDS__IsAdminInstallPointWelcome_3##	Cancel		0			
-AdminWelcome	TextLine1	Text	135	8	225	45	65539		##IDS__IsAdminInstallPointWelcome_4##			0			
-AdminWelcome	TextLine2	Text	135	55	228	45	65539		##IDS__IsAdminInstallPointWelcome_5##			0			
-CancelSetup	Icon	Icon	15	15	24	24	5242881					0			NewBinary4
-CancelSetup	No	PushButton	135	57	66	17	3		##IDS__IsCancelDlg_6##	Yes		0			
-CancelSetup	Text	Text	48	15	194	30	3		##IDS__IsCancelDlg_4##			0			
-CancelSetup	Yes	PushButton	62	57	66	17	3		##IDS__IsCancelDlg_8##	No		0			
-CustomerInformation	Back	PushButton	164	243	66	17	3		##IDS__IsRegisterUserDlg_1##	ChangeFolder		0			
-CustomerInformation	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-CustomerInformation	BannerLine	Line	0	44	374	0	1					0			
-CustomerInformation	Branding1	Text	4	229	50	13	3		##IDS__IsRegisterUserDlg_2##			0			
-CustomerInformation	Branding2	Text	3	228	50	13	65537		##IDS__IsRegisterUserDlg_3##			0			
-CustomerInformation	Cancel	PushButton	301	243	66	17	3		##IDS__IsRegisterUserDlg_4##	ComboBox1		0	0		
-CustomerInformation	ChangeFolder	PushButton	301	55	66	17	3		##IDS__IsRegisterUserDlg_19##	Next		0	0		
-CustomerInformation	ComboBox1	ComboBox	59	73	232	120	11	_BrowseProperty		RadioGroup		0	12		
-CustomerInformation	DestFolder	Icon	21	52	24	24	5767169					0	0		NewBinary12
-CustomerInformation	DlgDesc	Text	21	23	292	25	65539		##IDS__IsRegisterUserDlg_7##			0	0		
-CustomerInformation	DlgLine	Line	48	234	326	0	1					0			
-CustomerInformation	DlgRadioGroupText	Text	57	124	200	14	3		##IDS__IsRegisterUserDlg_13##			0	0		
-CustomerInformation	DlgTitle	Text	13	6	292	25	65539		##IDS__IsRegisterUserDlg_9##			0	0		
-CustomerInformation	LocLabel	Text	57	52	240	12	3		##IDS__IsRegisterUserDlg_20##			0	0		
-CustomerInformation	MissingApache	Text	57	202	270	28	2		##IDS__IsRegisterUserDlg_21##			0	0		
-CustomerInformation	Next	PushButton	230	243	66	17	3		##IDS__IsRegisterUserDlg_12##	Cancel		0	0		
-CustomerInformation	RadioGroup	RadioButtonGroup	63	133	300	50	3	ApplicationUsers	##IDS__IsRegisterUserDlg_16##	Back		0	0		
-CustomSetup	Back	PushButton	164	243	66	17	3		##IDS__IsCustomSelectionDlg_1##	Next		0			
-CustomSetup	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-CustomSetup	BannerLine	Line	0	44	374	0	1					0			
-CustomSetup	Branding1	Text	4	229	50	13	3		##IDS__IsCustomSelectionDlg_2##			0			
-CustomSetup	Branding2	Text	3	228	50	13	65537		##IDS__IsCustomSelectionDlg_3##			0			
-CustomSetup	Cancel	PushButton	301	243	66	17	3		##IDS__IsCustomSelectionDlg_4##	Tree		0			
-CustomSetup	ChangeFolder	PushButton	301	203	66	17	3		##IDS__IsCustomSelectionDlg_16##	Help		0			
-CustomSetup	Details	PushButton	93	243	66	17	3		##IDS__IsCustomSelectionDlg_5##	Back		0			
-CustomSetup	DlgDesc	Text	17	23	292	25	65539		##IDS__IsCustomSelectionDlg_6##			0			
-CustomSetup	DlgLine	Line	48	234	326	0	1					0			
-CustomSetup	DlgText	Text	9	51	360	10	3		##IDS__IsCustomSelectionDlg_7##			0			
-CustomSetup	DlgTitle	Text	9	6	292	25	65539		##IDS__IsCustomSelectionDlg_8##			0			
-CustomSetup	FeatureGroup	GroupBox	235	67	131	120	1		##IDS__IsCustomSelectionDlg_15##			0			
-CustomSetup	Help	PushButton	22	243	66	17	3		##IDS__IsCustomSelectionDlg_13##	Details		0			
-CustomSetup	InstallLabel	Text	8	190	360	10	3		##IDS__IsCustomSelectionDlg_18##			0			
-CustomSetup	ItemDescription	Text	241	80	120	50	3		##IDS__IsCustomSelectionDlg_14##			0			
-CustomSetup	Location	Text	8	203	291	20	3		##IDS__IsCustomSelectionDlg_17##			0			
-CustomSetup	Next	PushButton	230	243	66	17	3		##IDS__IsCustomSelectionDlg_11##	Cancel		0			
-CustomSetup	Size	Text	241	133	120	50	3		##IDS__IsCustomSelectionDlg_12##			0			
-CustomSetup	Tree	SelectionTree	8	70	220	118	7	_BrowseProperty		ChangeFolder		0			
-CustomSetupTips	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-CustomSetupTips	BannerLine	Line	0	44	374	0	1					0			
-CustomSetupTips	Branding1	Text	4	229	50	13	3		##IDS_SetupTips_2##			0			
-CustomSetupTips	Branding2	Text	3	228	50	13	65537		##IDS_SetupTips_3##			0			
-CustomSetupTips	DlgDesc	Text	21	23	292	25	65539		##IDS_SetupTips_4##			0			
-CustomSetupTips	DlgLine	Line	48	234	326	0	1					0			
-CustomSetupTips	DlgTitle	Text	13	6	292	25	65539		##IDS_SetupTips_5##			0			
-CustomSetupTips	DontInstall	Icon	21	155	24	24	5242881					0			NewBinary14
-CustomSetupTips	DontInstallText	Text	60	155	300	20	3		##IDS_SetupTips_6##			0			
-CustomSetupTips	FirstInstallText	Text	60	180	300	20	3		##IDS_SetupTips_10##			0			
-CustomSetupTips	Install	Icon	21	105	24	24	5242881					0			NewBinary15
-CustomSetupTips	InstallFirstUse	Icon	21	180	24	24	5242881					0			NewBinary16
-CustomSetupTips	InstallPartial	Icon	21	130	24	24	5242881					0			NewBinary17
-CustomSetupTips	InstallStateMenu	Icon	21	52	24	24	5242881					0			NewBinary18
-CustomSetupTips	InstallStateText	Text	21	91	300	10	3		##IDS_SetupTips_12##			0			
-CustomSetupTips	InstallText	Text	60	105	300	20	3		##IDS_SetupTips_8##			0			
-CustomSetupTips	MenuText	Text	50	52	300	36	3		##IDS_SetupTips_9##			0			
-CustomSetupTips	NetworkInstall	Icon	21	205	24	24	5242881					0			NewBinary13
-CustomSetupTips	NetworkInstallText	Text	60	205	300	20	3		##IDS_SetupTips_11##			0			
-CustomSetupTips	OK	PushButton	301	243	66	17	3		##IDS_SetupTips_1##			0			
-CustomSetupTips	PartialText	Text	60	130	300	20	3		##IDS_SetupTips_7##			0			
-DatabaseFolder	Back	PushButton	164	243	66	17	3		##IDS__DatabaseFolder_6##	Next		0			
-DatabaseFolder	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-DatabaseFolder	BannerLine	Line	0	44	374	0	1					0			
-DatabaseFolder	Branding1	Text	4	229	50	13	3		##IDS__DatabaseFolder_3##			0			
-DatabaseFolder	Branding2	Text	3	228	50	13	65537		##IDS__DatabaseFolder_2##			0			
-DatabaseFolder	Cancel	PushButton	301	243	66	17	3		##IDS__DatabaseFolder_1##	ChangeFolder		0			
-DatabaseFolder	ChangeFolder	PushButton	301	65	66	17	3		##IDS__DatabaseFolder_8##	Back		0			
-DatabaseFolder	DatabaseFolder	Icon	21	52	24	24	5242881					0			NewBinary12
-DatabaseFolder	DlgDesc	Text	21	23	292	25	65539		##IDS__DatabaseFolder_4##			0			
-DatabaseFolder	DlgLine	Line	48	234	326	0	1					0			
-DatabaseFolder	DlgTitle	Text	13	6	292	25	65539		##IDS__DatabaseFolder_5##			0			
-DatabaseFolder	Location	Text	57	65	240	40	3	_BrowseProperty	##IDS__DatabaseFolder_9##			0			
-DatabaseFolder	LocLabel	Text	57	52	290	10	3		##IDS__DatabaseFolder_10##			0			
-DatabaseFolder	Next	PushButton	230	243	66	17	3		##IDS__DatabaseFolder_7##	Cancel		0			
-DestinationFolder	Back	PushButton	164	243	66	17	3		##IDS__DestinationFolder_6##	Next		0			
-DestinationFolder	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-DestinationFolder	BannerLine	Line	0	44	374	0	1					0			
-DestinationFolder	Branding1	Text	4	229	50	13	3		##IDS__DestinationFolder_3##			0			
-DestinationFolder	Branding2	Text	3	228	50	13	65537		##IDS__DestinationFolder_2##			0			
-DestinationFolder	Cancel	PushButton	301	243	66	17	3		##IDS__DestinationFolder_1##	ChangeFolder		0			
-DestinationFolder	ChangeFolder	PushButton	301	65	66	17	3		##IDS__DestinationFolder_8##	Back		0			
-DestinationFolder	DestFolder	Icon	21	52	24	24	5242881					0			NewBinary12
-DestinationFolder	DlgDesc	Text	21	23	292	25	65539		##IDS__DestinationFolder_4##			0			
-DestinationFolder	DlgLine	Line	48	234	326	0	1					0			
-DestinationFolder	DlgTitle	Text	13	6	292	25	65539		##IDS__DestinationFolder_5##			0			
-DestinationFolder	Location	Text	57	65	240	40	3	_BrowseProperty	##IDS__DestinationFolder_9##			0			
-DestinationFolder	LocLabel	Text	57	52	290	12	3		##IDS__DestinationFolder_10##			0	0		
-DestinationFolder	Next	PushButton	230	243	66	17	3		##IDS__DestinationFolder_7##	Cancel		0			
-DiskSpaceRequirements	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-DiskSpaceRequirements	BannerLine	Line	0	44	374	0	1					0			
-DiskSpaceRequirements	Branding1	Text	4	229	50	13	3		##IDS__IsFeatureDetailsDlg_1##			0			
-DiskSpaceRequirements	Branding2	Text	3	228	50	13	65537		##IDS__IsFeatureDetailsDlg_2##			0			
-DiskSpaceRequirements	DlgDesc	Text	17	23	292	25	65539		##IDS__IsFeatureDetailsDlg_6##			0			
-DiskSpaceRequirements	DlgLine	Line	48	234	326	0	1					0			
-DiskSpaceRequirements	DlgText	Text	10	185	358	41	3		##IDS__IsFeatureDetailsDlg_7##			0			
-DiskSpaceRequirements	DlgTitle	Text	9	6	292	25	65539		##IDS__IsFeatureDetailsDlg_8##			0			
-DiskSpaceRequirements	List	VolumeCostList	8	55	358	125	393223		##IDS__IsFeatureDetailsDlg_13##			0			
-DiskSpaceRequirements	OK	PushButton	301	243	66	17	3		##IDS__IsFeatureDetailsDlg_14##			0			
-FilesInUse	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-FilesInUse	BannerLine	Line	0	44	374	0	1					0			
-FilesInUse	Branding1	Text	4	229	50	13	3		##IDS__IsFilesInUse_1##			0			
-FilesInUse	Branding2	Text	3	228	50	13	65537		##IDS__IsFilesInUse_2##			0			
-FilesInUse	DlgDesc	Text	21	23	292	25	65539		##IDS__IsFilesInUse_3##			0			
-FilesInUse	DlgLine	Line	48	234	326	0	1					0			
-FilesInUse	DlgText	Text	21	51	348	29	3		##IDS__IsFilesInUse_4##			0			
-FilesInUse	DlgTitle	Text	13	6	292	25	65539		##IDS__IsFilesInUse_5##			0			
-FilesInUse	Exit	PushButton	301	243	66	17	3		##IDS__IsFilesInUse_6##	List		0			
-FilesInUse	Ignore	PushButton	230	243	66	17	3		##IDS__IsFilesInUse_7##	Exit		0			
-FilesInUse	List	ListBox	21	87	331	135	7	FileInUseProcess		Retry		0			
-FilesInUse	Retry	PushButton	164	243	66	17	3		##IDS__IsFilesInUse_8##	Ignore		0			
-InstallChangeFolder	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-InstallChangeFolder	BannerLine	Line	0	44	374	0	1					0			
-InstallChangeFolder	Branding1	Text	4	229	50	13	3		##IDS__IsBrowseFolderDlg_1##			0			
-InstallChangeFolder	Branding2	Text	3	228	50	13	65537		##IDS__IsBrowseFolderDlg_2##			0			
-InstallChangeFolder	Cancel	PushButton	301	243	66	17	3		##IDS__IsBrowseFolderDlg_3##	ComboText		0			
-InstallChangeFolder	Combo	DirectoryCombo	21	64	277	80	4128779	_BrowseProperty	##IDS__IsBrowseFolderDlg_4##	Up		0			
-InstallChangeFolder	ComboText	Text	21	50	99	14	3		##IDS__IsBrowseFolderDlg_5##	Combo		0			
-InstallChangeFolder	DlgDesc	Text	21	23	292	25	65539		##IDS__IsBrowseFolderDlg_6##			0			
-InstallChangeFolder	DlgLine	Line	48	234	326	0	1					0			
-InstallChangeFolder	DlgTitle	Text	13	6	292	25	65539		##IDS__IsBrowseFolderDlg_7##			0			
-InstallChangeFolder	List	DirectoryList	21	90	332	97	15	_BrowseProperty	##IDS__IsBrowseFolderDlg_8##	TailText		0			
-InstallChangeFolder	NewFolder	PushButton	335	66	19	19	3670019			List	##IDS__IsBrowseFolderDlg_9##	0			NewBinary2
-InstallChangeFolder	OK	PushButton	230	243	66	17	3		##IDS__IsBrowseFolderDlg_10##	Cancel		0			
-InstallChangeFolder	Tail	PathEdit	21	207	332	17	15	_BrowseProperty	##IDS__IsBrowseFolderDlg_11##	OK		0			
-InstallChangeFolder	TailText	Text	21	193	99	13	3		##IDS__IsBrowseFolderDlg_12##	Tail		0			
-InstallChangeFolder	Up	PushButton	310	66	19	19	3670019			NewFolder	##IDS__IsBrowseFolderDlg_13##	0			NewBinary3
-InstallWelcome	Back	PushButton	164	243	66	17	1		##IDS__IsWelcomeDlg_1##	Copyright		0			
-InstallWelcome	Cancel	PushButton	301	243	66	17	3		##IDS__IsWelcomeDlg_2##	Back		0			
-InstallWelcome	Copyright	Text	135	144	228	73	65539		##IDS__IsWelcomeDlg_7##	Next		0			
-InstallWelcome	DlgLine	Line	0	234	374	0	1					0			
-InstallWelcome	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
-InstallWelcome	Next	PushButton	230	243	66	17	3		##IDS__IsWelcomeDlg_3##	Cancel		0			
-InstallWelcome	TextLine1	Text	135	8	225	45	65539		##IDS__IsWelcomeDlg_4##			0			
-InstallWelcome	TextLine2	Text	135	55	228	45	65539		##IDS__IsWelcomeDlg_5##			0			
-LicenseAgreement	Agree	RadioButtonGroup	8	190	330	40	3	AgreeToLicense		Back		0			
-LicenseAgreement	Back	PushButton	164	243	66	17	3		##IDS__IsLicenseDlg_1##	Next		0			
-LicenseAgreement	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-LicenseAgreement	BannerLine	Line	0	44	374	0	1					0			
-LicenseAgreement	Branding1	Text	4	229	50	13	3		##IDS__IsLicenseDlg_2##			0			
-LicenseAgreement	Branding2	Text	3	228	50	13	65537		##IDS__IsLicenseDlg_3##			0			
-LicenseAgreement	Cancel	PushButton	301	243	66	17	3		##IDS__IsLicenseDlg_4##	Agree		0			
-LicenseAgreement	DlgDesc	Text	21	23	292	25	65539		##IDS__IsLicenseDlg_5##			0			
-LicenseAgreement	DlgLine	Line	48	234	326	0	1					0			
-LicenseAgreement	DlgTitle	Text	13	6	292	25	65539		##IDS__IsLicenseDlg_7##			0			
-LicenseAgreement	Memo	ScrollableText	8	55	358	130	7					0	0	<ISProjectFolder>\license.rtf	
-LicenseAgreement	Next	PushButton	230	243	66	17	3		##IDS__IsLicenseDlg_8##	Cancel		0			
-MaintenanceType	Back	PushButton	164	243	66	17	3		##IDS__IsMaintenanceDlg_1##	Next		0			
-MaintenanceType	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-MaintenanceType	BannerLine	Line	0	44	374	0	1					0			
-MaintenanceType	Branding1	Text	4	229	50	13	3		##IDS__IsMaintenanceDlg_2##			0			
-MaintenanceType	Branding2	Text	3	228	50	13	65537		##IDS__IsMaintenanceDlg_3##			0			
-MaintenanceType	Cancel	PushButton	301	243	66	17	3		##IDS__IsMaintenanceDlg_4##	RadioGroup		0			
-MaintenanceType	DlgDesc	Text	21	23	292	25	65539		##IDS__IsMaintenanceDlg_5##			0			
-MaintenanceType	DlgLine	Line	48	234	326	0	1					0			
-MaintenanceType	DlgTitle	Text	13	6	292	25	65539		##IDS__IsMaintenanceDlg_6##			0			
-MaintenanceType	Ico2	Icon	35	75	24	24	5767169					0	0		NewBinary7
-MaintenanceType	Ico3	Icon	35	135	24	24	5767169					0	0		NewBinary8
-MaintenanceType	Next	PushButton	230	243	66	17	3		##IDS__IsMaintenanceDlg_7##	Cancel		0			
-MaintenanceType	RadioGroup	RadioButtonGroup	21	55	290	170	3	_IsMaintenance	##IDS__IsMaintenanceDlg_11##	Back		0	0		
-MaintenanceType	Text2	Text	80	75	260	35	3		##IDS__IsMaintenanceDlg_13##			0	0		
-MaintenanceType	Text3	Text	80	132	260	35	3		##IDS__IsMaintenanceDlg_14##			0	0		
-MaintenanceWelcome	Back	PushButton	164	243	66	17	1		##IDS__IsMaintenanceWelcome_1##	Next		0			
-MaintenanceWelcome	Cancel	PushButton	301	243	66	17	3		##IDS__IsMaintenanceWelcome_2##	Back		0			
-MaintenanceWelcome	DlgLine	Line	0	234	374	0	1					0			
-MaintenanceWelcome	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
-MaintenanceWelcome	Next	PushButton	230	243	66	17	3		##IDS__IsMaintenanceWelcome_3##	Cancel		0			
-MaintenanceWelcome	TextLine1	Text	135	8	225	45	65539		##IDS__IsMaintenanceWelcome_4##			0			
-MaintenanceWelcome	TextLine2	Text	135	55	228	50	65539		##IDS__IsMaintenanceWelcome_5##			0			
-OutOfSpace	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-OutOfSpace	BannerLine	Line	0	44	374	0	1					0			
-OutOfSpace	Branding1	Text	4	229	50	13	3		##IDS__IsDiskSpaceDlg_1##			0			
-OutOfSpace	Branding2	Text	3	228	50	13	65537		##IDS__IsDiskSpaceDlg_2##			0			
-OutOfSpace	DlgDesc	Text	21	23	292	25	65539		##IDS__IsDiskSpaceDlg_4##			0			
-OutOfSpace	DlgLine	Line	48	234	326	0	1					0			
-OutOfSpace	DlgText	Text	21	51	326	43	3		##IDS__IsDiskSpaceDlg_5##			0			
-OutOfSpace	DlgTitle	Text	13	6	292	25	65539		##IDS__IsDiskSpaceDlg_6##			0			
-OutOfSpace	List	VolumeCostList	21	95	332	120	393223		##IDS__IsDiskSpaceDlg_9##			0			
-OutOfSpace	Resume	PushButton	301	243	66	17	3		##IDS__IsDiskSpaceDlg_10##			0			
-PatchWelcome	Back	PushButton	164	243	66	17	1		##IDS__IsPatchDlg_4##	Next		0			
-PatchWelcome	Cancel	PushButton	301	243	66	17	3		##IDS__IsPatchDlg_3##	Back		0			
-PatchWelcome	DlgLine	Line	0	234	374	0	1					0			
-PatchWelcome	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
-PatchWelcome	Next	PushButton	230	243	66	17	3		##IDS__IsPatchDlg_5##	Cancel		0			
-PatchWelcome	TextLine1	Text	135	8	225	45	65539		##IDS__IsPatchDlg_1##			0			
-PatchWelcome	TextLine2	Text	135	54	228	45	65539		##IDS__IsPatchDlg_2##			0			
-ReadyToInstall	Back	PushButton	164	243	66	17	3		##IDS__IsVerifyReadyDlg_1##	InstallNow		0			
-ReadyToInstall	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-ReadyToInstall	BannerLine	Line	0	44	374	0	1					0			
-ReadyToInstall	Branding1	Text	4	229	50	13	3		##IDS__IsVerifyReadyDlg_2##			0			
-ReadyToInstall	Branding2	Text	3	228	50	13	65537		##IDS__IsVerifyReadyDlg_3##			0			
-ReadyToInstall	Cancel	PushButton	301	243	66	17	3		##IDS__IsVerifyReadyDlg_4##	Back		0			
-ReadyToInstall	DlgDesc	Text	21	23	292	25	65539		##IDS__IsVerifyReadyDlg_5##			0			
-ReadyToInstall	DlgLine	Line	48	234	374	0	1					0			
-ReadyToInstall	DlgText	Text	21	100	326	20	3		##IDS__IsVerifyReadyDlg_6##			0	0		
-ReadyToInstall	DlgText1	Text	21	119	330	24	3		##IDS__IsVerifyReadyDlg_7##			0	0		
-ReadyToInstall	DlgTitle	Text	13	6	292	25	65538		##IDS__IsVerifyReadyDlg_8##			0			
-ReadyToInstall	DlgTitle2	Text	13	6	292	25	65538		##IDS__IsVerifyReadyDlg_10##			0			
-ReadyToInstall	DlgTitle3	Text	13	6	292	25	65538		##IDS__IsVerifyReadyDlg_11##			0			
-ReadyToInstall	InstallNow	PushButton	230	243	66	17	3		##IDS__IsVerifyReadyDlg_9##	Cancel		0			
-ReadyToInstall	Text1	Text	21	51	326	43	3		##IDS__IsVerifyReadyDlg_22##			0	0		
-ReadyToRemove	Back	PushButton	164	243	66	17	3		##IDS__IsVerifyRemoveAllDlg_1##	RemoveNow		0			
-ReadyToRemove	Banner	Bitmap	0	1	374	44	262145					0	0		NewBinary1
-ReadyToRemove	BannerLine	Line	0	44	374	0	1					0			
-ReadyToRemove	Branding1	Text	4	229	50	13	3		##IDS__IsVerifyRemoveAllDlg_2##			0			
-ReadyToRemove	Branding2	Text	3	228	50	13	65537		##IDS__IsVerifyRemoveAllDlg_3##			0			
-ReadyToRemove	Cancel	PushButton	301	243	66	17	3		##IDS__IsVerifyRemoveAllDlg_4##	Back		0			
-ReadyToRemove	DlgDesc	Text	21	23	292	25	65539		##IDS__IsVerifyRemoveAllDlg_5##			0			
-ReadyToRemove	DlgLine	Line	48	234	326	0	1					0			
-ReadyToRemove	DlgText	Text	21	51	326	24	3		##IDS__IsVerifyRemoveAllDlg_6##			0			
-ReadyToRemove	DlgText1	Text	21	79	330	23	3		##IDS__IsVerifyRemoveAllDlg_7##			0			
-ReadyToRemove	DlgText2	Text	21	102	330	24	3					0			
-ReadyToRemove	DlgTitle	Text	13	6	292	25	65539		##IDS__IsVerifyRemoveAllDlg_8##			0			
-ReadyToRemove	RemoveNow	PushButton	230	243	66	17	3		##IDS__IsVerifyRemoveAllDlg_9##	Cancel		0			
-SetupBadPath	Icon1	Icon	15	15	24	24	5767169					0	0		NewBinary4
-SetupBadPath	PushButton7	PushButton	192	80	66	17	3		##NEW_STRING9##			0	0		
-SetupBadPath	Text1	Text	50	15	200	50	3	NewProperty1	##NEW_STRING6##			0	0		
-SetupCompleteError	Back	PushButton	164	243	66	17	1		##IDS__IsFatalError_1##	Finish		0			
-SetupCompleteError	Cancel	PushButton	301	243	66	17	1		##IDS__IsFatalError_2##	Back		0			
-SetupCompleteError	DlgLine	Line	0	234	374	0	1					0			
-SetupCompleteError	Finish	PushButton	230	243	66	17	3		##IDS__IsFatalError_3##	Cancel		0			
-SetupCompleteError	FinishText1	Text	135	80	228	50	65539		##IDS__IsFatalError_4##			0			
-SetupCompleteError	FinishText2	Text	135	135	228	25	65539		##IDS__IsFatalError_5##			0			
-SetupCompleteError	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
-SetupCompleteError	RestContText1	Text	135	80	228	50	65539		##IDS__IsFatalError_6##			0			
-SetupCompleteError	RestContText2	Text	135	135	228	25	65539		##IDS__IsFatalError_7##			0			
-SetupCompleteError	TextLine1	Text	135	8	225	45	65539		##IDS__IsFatalError_8##			0			
-SetupCompleteError	TextLine2	Text	135	55	228	25	65539		##IDS__IsFatalError_9##			0			
-SetupCompleteSuccess	Back	PushButton	164	243	66	17	1		##IDS__IsExitDialog_1##	OK		0			
-SetupCompleteSuccess	Cancel	PushButton	301	243	66	17	1		##IDS__IsExitDialog_2##	Image		0			
-SetupCompleteSuccess	CheckLaunchReadme	CheckBox	151	114	10	9	2	LAUNCHREADME				0	0		
-SetupCompleteSuccess	DlgLine	Line	0	234	374	0	1					0			
-SetupCompleteSuccess	Image	Bitmap	0	0	374	234	262145			Back		0	0		NewBinary5
-SetupCompleteSuccess	LaunchReadmeText	Text	164	112	198	13	65538		##IDS__IsExitDialog_8##			0	0		
-SetupCompleteSuccess	OK	PushButton	230	243	66	17	3		##IDS__IsExitDialog_3##	Cancel		0			
-SetupCompleteSuccess	TextLine1	Text	135	8	225	45	65539		##IDS__IsExitDialog_4##			0			
-SetupCompleteSuccess	TextLine2	Text	135	55	228	45	65538		##IDS__IsExitDialog_5##			0			
-SetupCompleteSuccess	TextLine3	Text	135	55	228	45	65538		##IDS__IsExitDialog_6##			0			
-SetupCompleteSuccess	UpdateTextLine1	Text	135	30	228	45	65538		##IDS__IsExitDialog_Update_4##			0			
-SetupError	A	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_1##			0			
-SetupError	C	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_2##			0			
-SetupError	ErrorText	Text	50	15	200	50	3		##IDS__IsErrorDlg_3##			0			
-SetupError	I	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_4##			0			
-SetupError	N	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_5##			0			
-SetupError	O	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_6##			0			
-SetupError	R	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_7##			0			
-SetupError	WarningIcon	Icon	15	15	24	24	5242881					0			NewBinary4
-SetupError	Y	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_8##			0			
-SetupInitialization	ActionData	Text	135	125	228	12	65539		##IDS__IsInitDlg_1##			0			
-SetupInitialization	ActionText	Text	135	109	220	36	65539		##IDS__IsInitDlg_2##			0			
-SetupInitialization	Back	PushButton	164	243	66	17	1		##IDS__IsInitDlg_3##			0			
-SetupInitialization	Cancel	PushButton	301	243	66	17	3		##IDS__IsInitDlg_4##			0			
-SetupInitialization	DlgLine	Line	0	234	374	0	1					0			
-SetupInitialization	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
-SetupInitialization	Next	PushButton	230	243	66	17	1		##IDS__IsInitDlg_5##			0			
-SetupInitialization	TextLine1	Text	135	8	225	45	65539		##IDS__IsInitDlg_6##			0			
-SetupInitialization	TextLine2	Text	135	55	228	30	65539		##IDS__IsInitDlg_7##			0			
-SetupInterrupted	Back	PushButton	164	243	66	17	1		##IDS__IsUserExit_1##			0			
-SetupInterrupted	Cancel	PushButton	301	243	66	17	1		##IDS__IsUserExit_2##			0			
-SetupInterrupted	DlgLine	Line	0	234	374	0	1					0			
-SetupInterrupted	Finish	PushButton	230	243	66	17	3		##IDS__IsUserExit_3##			0			
-SetupInterrupted	FinishText1	Text	135	80	228	50	65539		##IDS__IsUserExit_4##			0			
-SetupInterrupted	FinishText2	Text	135	135	228	25	65539		##IDS__IsUserExit_5##			0			
-SetupInterrupted	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
-SetupInterrupted	RestContText1	Text	135	80	228	50	65539		##IDS__IsUserExit_6##			0			
-SetupInterrupted	RestContText2	Text	135	135	228	25	65539		##IDS__IsUserExit_7##			0			
-SetupInterrupted	TextLine1	Text	135	8	225	45	65539		##IDS__IsUserExit_8##			0			
-SetupInterrupted	TextLine2	Text	135	55	228	25	65539		##IDS__IsUserExit_9##			0			
-SetupProgress	ActionProgress95	ProgressBar	59	113	275	12	65537		##IDS__IsProgressDlg_1##			0			
-SetupProgress	ActionText	Text	59	100	275	12	3		##IDS__IsProgressDlg_2##			0			
-SetupProgress	Back	PushButton	164	243	66	17	1		##IDS__IsProgressDlg_3##	Next		0			
-SetupProgress	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-SetupProgress	BannerLine	Line	0	44	374	0	1					0			
-SetupProgress	Branding1	Text	4	229	50	13	3		##IDS__IsProgressDlg_4##			0			
-SetupProgress	Branding2	Text	3	228	50	13	65537		##IDS__IsProgressDlg_5##			0			
-SetupProgress	Cancel	PushButton	301	243	66	17	3		##IDS__IsProgressDlg_6##	Back		0			
-SetupProgress	DlgDesc	Text	21	23	292	25	65538		##IDS__IsProgressDlg_7##			0			
-SetupProgress	DlgDesc2	Text	21	23	292	25	65538		##IDS__IsProgressDlg_16##			0			
-SetupProgress	DlgLine	Line	48	234	326	0	1					0			
-SetupProgress	DlgText	Text	59	51	275	30	65538		##IDS__IsProgressDlg_8##			0			
-SetupProgress	DlgText2	Text	59	51	275	30	65538		##IDS__IsProgressDlg_17##			0			
-SetupProgress	DlgTitle	Text	13	6	292	25	65538		##IDS__IsProgressDlg_9##			0			
-SetupProgress	DlgTitle2	Text	13	6	292	25	65538		##IDS__IsProgressDlg_15##			0			
-SetupProgress	LbSec	Text	172	139	32	12	2		##IDS__IsProgressDlg_10##			0			
-SetupProgress	LbStatus	Text	59	85	70	12	3		##IDS__IsProgressDlg_11##			0			
-SetupProgress	Next	PushButton	230	243	66	17	1		##IDS__IsProgressDlg_12##	Cancel		0			
-SetupProgress	SetupIcon	Icon	21	51	24	24	5242881					0			NewBinary9
-SetupProgress	ShowTime	Text	155	139	17	12	2		##IDS__IsProgressDlg_13##			0			
-SetupProgress	TextTime	Text	59	139	96	12	2		##IDS__IsProgressDlg_14##			0			
-SetupResume	Back	PushButton	164	243	66	17	1		##IDS__IsResumeDlg_1##	Next		0			
-SetupResume	Cancel	PushButton	301	243	66	17	3		##IDS__IsResumeDlg_2##	Back		0			
-SetupResume	DlgLine	Line	0	234	374	0	1					0			
-SetupResume	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
-SetupResume	Next	PushButton	230	243	66	17	3		##IDS__IsResumeDlg_3##	Cancel		0			
-SetupResume	PreselectedText	Text	135	55	228	45	65539		##IDS__IsResumeDlg_4##			0			
-SetupResume	ResumeText	Text	135	46	228	45	65539		##IDS__IsResumeDlg_5##			0			
-SetupResume	TextLine1	Text	135	8	225	45	65539		##IDS__IsResumeDlg_6##			0			
-SetupType	Back	PushButton	164	243	66	17	3		##IDS__IsSetupTypeMinDlg_1##	Next		0			
-SetupType	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
-SetupType	BannerLine	Line	0	44	374	0	1					0			
-SetupType	Branding1	Text	4	229	50	13	3		##IDS__IsSetupTypeMinDlg_2##			0			
-SetupType	Branding2	Text	3	228	50	13	65537		##IDS__IsSetupTypeMinDlg_3##			0			
-SetupType	Cancel	PushButton	301	243	66	17	3		##IDS__IsSetupTypeMinDlg_4##	RadioGroup		0			
-SetupType	CompleteIco	Icon	34	94	24	24	5242881					0			NewBinary10
-SetupType	CompText	Text	80	94	246	35	3		##IDS__IsSetupTypeMinDlg_5##			0			
-SetupType	CustomIco	Icon	34	154	24	24	5242881					0			NewBinary6
-SetupType	CustText	Text	80	154	246	35	3		##IDS__IsSetupTypeMinDlg_6##			0			
-SetupType	DlgDesc	Text	21	23	292	25	65539		##IDS__IsSetupTypeMinDlg_7##			0			
-SetupType	DlgLine	Line	48	234	326	0	1					0			
-SetupType	DlgText	Text	21	51	326	10	3		##IDS__IsSetupTypeMinDlg_8##			0			
-SetupType	DlgTitle	Text	13	6	292	25	65539		##IDS__IsSetupTypeMinDlg_9##			0			
-SetupType	Next	PushButton	230	243	66	17	3		##IDS__IsSetupTypeMinDlg_10##	Cancel		0			
-SetupType	RadioGroup	RadioButtonGroup	21	79	264	120	3	_IsSetupTypeMin	##IDS__IsSetupTypeMinDlg_13##	Back		0			
-SplashBitmap	Back	PushButton	164	243	66	17	1		##IDS__IsBitmapDlg_1##	Next		0			
-SplashBitmap	Branding1	Text	4	229	50	13	3		##IDS__IsBitmapDlg_2##			0			
-SplashBitmap	Branding2	Text	3	228	50	13	65537		##IDS__IsBitmapDlg_3##			0			
-SplashBitmap	Cancel	PushButton	301	243	66	17	3		##IDS__IsBitmapDlg_4##	Back		0			
-SplashBitmap	DlgLine	Line	48	234	374	0	1					0			
-SplashBitmap	Image	Bitmap	13	12	349	211	262145					0	0		NewBinary5
-SplashBitmap	Next	PushButton	230	243	66	17	3		##IDS__IsBitmapDlg_5##	Cancel		0			
+Dialog_	Control	Type	X	Y	Width	Height	Attributes	Property	Text	Control_Next	Help	ISWindowStyle	ISControlId	ISBuildSourcePath	Binary_
+s72	s50	s20	i2	i2	i2	i2	I4	S72	L0	S50	L50	I4	I4	S255	S50
+Control	Dialog_	Control
+AdminChangeFolder	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+AdminChangeFolder	BannerLine	Line	0	44	374	0	1					0			
+AdminChangeFolder	Branding1	Text	4	229	50	13	3		##IDS__IsAdminInstallBrowse_1##			0			
+AdminChangeFolder	Branding2	Text	3	228	50	13	65537		##IDS__IsAdminInstallBrowse_2##			0			
+AdminChangeFolder	Cancel	PushButton	301	243	66	17	3		##IDS__IsAdminInstallBrowse_3##	ComboText		0			
+AdminChangeFolder	Combo	DirectoryCombo	21	64	277	80	458755	TARGETDIR	##IDS__IsAdminInstallBrowse_4##	Up		0			
+AdminChangeFolder	ComboText	Text	21	50	99	14	3		##IDS__IsAdminInstallBrowse_5##	Combo		0			
+AdminChangeFolder	DlgDesc	Text	21	23	292	25	65539		##IDS__IsAdminInstallBrowse_6##			0			
+AdminChangeFolder	DlgLine	Line	48	234	326	0	1					0			
+AdminChangeFolder	DlgTitle	Text	13	6	292	25	65539		##IDS__IsAdminInstallBrowse_7##			0			
+AdminChangeFolder	List	DirectoryList	21	90	332	97	7	TARGETDIR	##IDS__IsAdminInstallBrowse_8##	TailText		0			
+AdminChangeFolder	NewFolder	PushButton	335	66	19	19	3670019			List	##IDS__IsAdminInstallBrowse_9##	0			NewBinary2
+AdminChangeFolder	OK	PushButton	230	243	66	17	3		##IDS__IsAdminInstallBrowse_10##	Cancel		0			
+AdminChangeFolder	Tail	PathEdit	21	207	332	17	3	TARGETDIR	##IDS__IsAdminInstallBrowse_11##	OK		0			
+AdminChangeFolder	TailText	Text	21	193	99	13	3		##IDS__IsAdminInstallBrowse_12##	Tail		0			
+AdminChangeFolder	Up	PushButton	310	66	19	19	3670019			NewFolder	##IDS__IsAdminInstallBrowse_13##	0			NewBinary3
+AdminNetworkLocation	Back	PushButton	164	243	66	17	3		##IDS__IsAdminInstallPoint_1##	InstallNow		0			
+AdminNetworkLocation	Banner	Bitmap	0	1	374	44	262145					0	0		NewBinary1
+AdminNetworkLocation	BannerLine	Line	0	44	374	0	1					0			
+AdminNetworkLocation	Branding1	Text	4	229	50	13	3		##IDS__IsAdminInstallPoint_2##			0			
+AdminNetworkLocation	Branding2	Text	3	228	50	13	65537		##IDS__IsAdminInstallPoint_3##			0			
+AdminNetworkLocation	Browse	PushButton	286	124	66	17	3		##IDS__IsAdminInstallPoint_4##	Back		0			
+AdminNetworkLocation	Cancel	PushButton	301	243	66	17	3		##IDS__IsAdminInstallPoint_5##	SetupPathEdit		0			
+AdminNetworkLocation	DlgDesc	Text	21	23	292	25	65539		##IDS__IsAdminInstallPoint_6##			0			
+AdminNetworkLocation	DlgLine	Line	48	234	326	0	1					0			
+AdminNetworkLocation	DlgText	Text	21	51	326	40	3		##IDS__IsAdminInstallPoint_7##			0			
+AdminNetworkLocation	DlgTitle	Text	13	6	292	25	65539		##IDS__IsAdminInstallPoint_8##			0			
+AdminNetworkLocation	InstallNow	PushButton	230	243	66	17	3		##IDS__IsAdminInstallPoint_9##	Cancel		0			
+AdminNetworkLocation	LBBrowse	Text	21	90	100	10	3		##IDS__IsAdminInstallPoint_10##			0			
+AdminNetworkLocation	SetupPathEdit	PathEdit	21	102	330	17	3	TARGETDIR		Browse		0			
+AdminWelcome	Back	PushButton	164	243	66	17	1		##IDS__IsAdminInstallPointWelcome_1##	Next		0			
+AdminWelcome	Cancel	PushButton	301	243	66	17	3		##IDS__IsAdminInstallPointWelcome_2##	Back		0			
+AdminWelcome	DlgLine	Line	0	234	326	0	1					0			
+AdminWelcome	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
+AdminWelcome	Next	PushButton	230	243	66	17	3		##IDS__IsAdminInstallPointWelcome_3##	Cancel		0			
+AdminWelcome	TextLine1	Text	135	8	225	45	65539		##IDS__IsAdminInstallPointWelcome_4##			0			
+AdminWelcome	TextLine2	Text	135	55	228	45	65539		##IDS__IsAdminInstallPointWelcome_5##			0			
+CancelSetup	Icon	Icon	15	15	24	24	5242881					0			NewBinary4
+CancelSetup	No	PushButton	135	57	66	17	3		##IDS__IsCancelDlg_6##	Yes		0			
+CancelSetup	Text	Text	48	15	194	30	3		##IDS__IsCancelDlg_4##			0			
+CancelSetup	Yes	PushButton	62	57	66	17	3		##IDS__IsCancelDlg_8##	No		0			
+CustomerInformation	Back	PushButton	164	243	66	17	3		##IDS__IsRegisterUserDlg_1##	ChangeFolder		0			
+CustomerInformation	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+CustomerInformation	BannerLine	Line	0	44	374	0	1					0			
+CustomerInformation	Branding1	Text	4	229	50	13	3		##IDS__IsRegisterUserDlg_2##			0			
+CustomerInformation	Branding2	Text	3	228	50	13	65537		##IDS__IsRegisterUserDlg_3##			0			
+CustomerInformation	Cancel	PushButton	301	243	66	17	3		##IDS__IsRegisterUserDlg_4##	ComboBox1		0	0		
+CustomerInformation	ChangeFolder	PushButton	301	55	66	17	3		##IDS__IsRegisterUserDlg_19##	Next		0	0		
+CustomerInformation	ComboBox1	ComboBox	59	73	232	120	11	_BrowseProperty		RadioGroup		0	12		
+CustomerInformation	DestFolder	Icon	21	52	24	24	5767169					0	0		NewBinary12
+CustomerInformation	DlgDesc	Text	21	23	292	25	65539		##IDS__IsRegisterUserDlg_7##			0	0		
+CustomerInformation	DlgLine	Line	48	234	326	0	1					0			
+CustomerInformation	DlgRadioGroupText	Text	57	124	200	14	3		##IDS__IsRegisterUserDlg_13##			0	0		
+CustomerInformation	DlgTitle	Text	13	6	292	25	65539		##IDS__IsRegisterUserDlg_9##			0	0		
+CustomerInformation	LocLabel	Text	57	52	240	12	3		##IDS__IsRegisterUserDlg_20##			0	0		
+CustomerInformation	MissingApache	Text	57	202	270	28	2		##IDS__IsRegisterUserDlg_21##			0	0		
+CustomerInformation	Next	PushButton	230	243	66	17	3		##IDS__IsRegisterUserDlg_12##	Cancel		0	0		
+CustomerInformation	RadioGroup	RadioButtonGroup	63	133	300	50	3	ApplicationUsers	##IDS__IsRegisterUserDlg_16##	Back		0	0		
+CustomSetup	Back	PushButton	164	243	66	17	3		##IDS__IsCustomSelectionDlg_1##	Next		0			
+CustomSetup	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+CustomSetup	BannerLine	Line	0	44	374	0	1					0			
+CustomSetup	Branding1	Text	4	229	50	13	3		##IDS__IsCustomSelectionDlg_2##			0			
+CustomSetup	Branding2	Text	3	228	50	13	65537		##IDS__IsCustomSelectionDlg_3##			0			
+CustomSetup	Cancel	PushButton	301	243	66	17	3		##IDS__IsCustomSelectionDlg_4##	Tree		0			
+CustomSetup	ChangeFolder	PushButton	301	203	66	17	3		##IDS__IsCustomSelectionDlg_16##	Help		0			
+CustomSetup	Details	PushButton	93	243	66	17	3		##IDS__IsCustomSelectionDlg_5##	Back		0			
+CustomSetup	DlgDesc	Text	17	23	292	25	65539		##IDS__IsCustomSelectionDlg_6##			0			
+CustomSetup	DlgLine	Line	48	234	326	0	1					0			
+CustomSetup	DlgText	Text	9	51	360	10	3		##IDS__IsCustomSelectionDlg_7##			0			
+CustomSetup	DlgTitle	Text	9	6	292	25	65539		##IDS__IsCustomSelectionDlg_8##			0			
+CustomSetup	FeatureGroup	GroupBox	235	67	131	120	1		##IDS__IsCustomSelectionDlg_15##			0			
+CustomSetup	Help	PushButton	22	243	66	17	3		##IDS__IsCustomSelectionDlg_13##	Details		0			
+CustomSetup	InstallLabel	Text	8	190	360	10	3		##IDS__IsCustomSelectionDlg_18##			0			
+CustomSetup	ItemDescription	Text	241	80	120	50	3		##IDS__IsCustomSelectionDlg_14##			0			
+CustomSetup	Location	Text	8	203	291	20	3		##IDS__IsCustomSelectionDlg_17##			0			
+CustomSetup	Next	PushButton	230	243	66	17	3		##IDS__IsCustomSelectionDlg_11##	Cancel		0			
+CustomSetup	Size	Text	241	133	120	50	3		##IDS__IsCustomSelectionDlg_12##			0			
+CustomSetup	Tree	SelectionTree	8	70	220	118	7	_BrowseProperty		ChangeFolder		0			
+CustomSetupTips	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+CustomSetupTips	BannerLine	Line	0	44	374	0	1					0			
+CustomSetupTips	Branding1	Text	4	229	50	13	3		##IDS_SetupTips_2##			0			
+CustomSetupTips	Branding2	Text	3	228	50	13	65537		##IDS_SetupTips_3##			0			
+CustomSetupTips	DlgDesc	Text	21	23	292	25	65539		##IDS_SetupTips_4##			0			
+CustomSetupTips	DlgLine	Line	48	234	326	0	1					0			
+CustomSetupTips	DlgTitle	Text	13	6	292	25	65539		##IDS_SetupTips_5##			0			
+CustomSetupTips	DontInstall	Icon	21	155	24	24	5242881					0			NewBinary14
+CustomSetupTips	DontInstallText	Text	60	155	300	20	3		##IDS_SetupTips_6##			0			
+CustomSetupTips	FirstInstallText	Text	60	180	300	20	3		##IDS_SetupTips_10##			0			
+CustomSetupTips	Install	Icon	21	105	24	24	5242881					0			NewBinary15
+CustomSetupTips	InstallFirstUse	Icon	21	180	24	24	5242881					0			NewBinary16
+CustomSetupTips	InstallPartial	Icon	21	130	24	24	5242881					0			NewBinary17
+CustomSetupTips	InstallStateMenu	Icon	21	52	24	24	5242881					0			NewBinary18
+CustomSetupTips	InstallStateText	Text	21	91	300	10	3		##IDS_SetupTips_12##			0			
+CustomSetupTips	InstallText	Text	60	105	300	20	3		##IDS_SetupTips_8##			0			
+CustomSetupTips	MenuText	Text	50	52	300	36	3		##IDS_SetupTips_9##			0			
+CustomSetupTips	NetworkInstall	Icon	21	205	24	24	5242881					0			NewBinary13
+CustomSetupTips	NetworkInstallText	Text	60	205	300	20	3		##IDS_SetupTips_11##			0			
+CustomSetupTips	OK	PushButton	301	243	66	17	3		##IDS_SetupTips_1##			0			
+CustomSetupTips	PartialText	Text	60	130	300	20	3		##IDS_SetupTips_7##			0			
+DatabaseFolder	Back	PushButton	164	243	66	17	3		##IDS__DatabaseFolder_6##	Next		0			
+DatabaseFolder	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+DatabaseFolder	BannerLine	Line	0	44	374	0	1					0			
+DatabaseFolder	Branding1	Text	4	229	50	13	3		##IDS__DatabaseFolder_3##			0			
+DatabaseFolder	Branding2	Text	3	228	50	13	65537		##IDS__DatabaseFolder_2##			0			
+DatabaseFolder	Cancel	PushButton	301	243	66	17	3		##IDS__DatabaseFolder_1##	ChangeFolder		0			
+DatabaseFolder	ChangeFolder	PushButton	301	65	66	17	3		##IDS__DatabaseFolder_8##	Back		0			
+DatabaseFolder	DatabaseFolder	Icon	21	52	24	24	5242881					0			NewBinary12
+DatabaseFolder	DlgDesc	Text	21	23	292	25	65539		##IDS__DatabaseFolder_4##			0			
+DatabaseFolder	DlgLine	Line	48	234	326	0	1					0			
+DatabaseFolder	DlgTitle	Text	13	6	292	25	65539		##IDS__DatabaseFolder_5##			0			
+DatabaseFolder	Location	Text	57	65	240	40	3	_BrowseProperty	##IDS__DatabaseFolder_9##			0			
+DatabaseFolder	LocLabel	Text	57	52	290	10	3		##IDS__DatabaseFolder_10##			0			
+DatabaseFolder	Next	PushButton	230	243	66	17	3		##IDS__DatabaseFolder_7##	Cancel		0			
+DestinationFolder	Back	PushButton	164	243	66	17	3		##IDS__DestinationFolder_6##	Next		0			
+DestinationFolder	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+DestinationFolder	BannerLine	Line	0	44	374	0	1					0			
+DestinationFolder	Branding1	Text	4	229	50	13	3		##IDS__DestinationFolder_3##			0			
+DestinationFolder	Branding2	Text	3	228	50	13	65537		##IDS__DestinationFolder_2##			0			
+DestinationFolder	Cancel	PushButton	301	243	66	17	3		##IDS__DestinationFolder_1##	ChangeFolder		0			
+DestinationFolder	ChangeFolder	PushButton	301	65	66	17	3		##IDS__DestinationFolder_8##	Back		0			
+DestinationFolder	DestFolder	Icon	21	52	24	24	5242881					0			NewBinary12
+DestinationFolder	DlgDesc	Text	21	23	292	25	65539		##IDS__DestinationFolder_4##			0			
+DestinationFolder	DlgLine	Line	48	234	326	0	1					0			
+DestinationFolder	DlgTitle	Text	13	6	292	25	65539		##IDS__DestinationFolder_5##			0			
+DestinationFolder	Location	Text	57	65	240	40	3	_BrowseProperty	##IDS__DestinationFolder_9##			0			
+DestinationFolder	LocLabel	Text	57	52	290	12	3		##IDS__DestinationFolder_10##			0	0		
+DestinationFolder	Next	PushButton	230	243	66	17	3		##IDS__DestinationFolder_7##	Cancel		0			
+DiskSpaceRequirements	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+DiskSpaceRequirements	BannerLine	Line	0	44	374	0	1					0			
+DiskSpaceRequirements	Branding1	Text	4	229	50	13	3		##IDS__IsFeatureDetailsDlg_1##			0			
+DiskSpaceRequirements	Branding2	Text	3	228	50	13	65537		##IDS__IsFeatureDetailsDlg_2##			0			
+DiskSpaceRequirements	DlgDesc	Text	17	23	292	25	65539		##IDS__IsFeatureDetailsDlg_6##			0			
+DiskSpaceRequirements	DlgLine	Line	48	234	326	0	1					0			
+DiskSpaceRequirements	DlgText	Text	10	185	358	41	3		##IDS__IsFeatureDetailsDlg_7##			0			
+DiskSpaceRequirements	DlgTitle	Text	9	6	292	25	65539		##IDS__IsFeatureDetailsDlg_8##			0			
+DiskSpaceRequirements	List	VolumeCostList	8	55	358	125	393223		##IDS__IsFeatureDetailsDlg_13##			0			
+DiskSpaceRequirements	OK	PushButton	301	243	66	17	3		##IDS__IsFeatureDetailsDlg_14##			0			
+FilesInUse	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+FilesInUse	BannerLine	Line	0	44	374	0	1					0			
+FilesInUse	Branding1	Text	4	229	50	13	3		##IDS__IsFilesInUse_1##			0			
+FilesInUse	Branding2	Text	3	228	50	13	65537		##IDS__IsFilesInUse_2##			0			
+FilesInUse	DlgDesc	Text	21	23	292	25	65539		##IDS__IsFilesInUse_3##			0			
+FilesInUse	DlgLine	Line	48	234	326	0	1					0			
+FilesInUse	DlgText	Text	21	51	348	29	3		##IDS__IsFilesInUse_4##			0			
+FilesInUse	DlgTitle	Text	13	6	292	25	65539		##IDS__IsFilesInUse_5##			0			
+FilesInUse	Exit	PushButton	301	243	66	17	3		##IDS__IsFilesInUse_6##	List		0			
+FilesInUse	Ignore	PushButton	230	243	66	17	3		##IDS__IsFilesInUse_7##	Exit		0			
+FilesInUse	List	ListBox	21	87	331	135	7	FileInUseProcess		Retry		0			
+FilesInUse	Retry	PushButton	164	243	66	17	3		##IDS__IsFilesInUse_8##	Ignore		0			
+InstallChangeFolder	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+InstallChangeFolder	BannerLine	Line	0	44	374	0	1					0			
+InstallChangeFolder	Branding1	Text	4	229	50	13	3		##IDS__IsBrowseFolderDlg_1##			0			
+InstallChangeFolder	Branding2	Text	3	228	50	13	65537		##IDS__IsBrowseFolderDlg_2##			0			
+InstallChangeFolder	Cancel	PushButton	301	243	66	17	3		##IDS__IsBrowseFolderDlg_3##	ComboText		0			
+InstallChangeFolder	Combo	DirectoryCombo	21	64	277	80	4128779	_BrowseProperty	##IDS__IsBrowseFolderDlg_4##	Up		0			
+InstallChangeFolder	ComboText	Text	21	50	99	14	3		##IDS__IsBrowseFolderDlg_5##	Combo		0			
+InstallChangeFolder	DlgDesc	Text	21	23	292	25	65539		##IDS__IsBrowseFolderDlg_6##			0			
+InstallChangeFolder	DlgLine	Line	48	234	326	0	1					0			
+InstallChangeFolder	DlgTitle	Text	13	6	292	25	65539		##IDS__IsBrowseFolderDlg_7##			0			
+InstallChangeFolder	List	DirectoryList	21	90	332	97	15	_BrowseProperty	##IDS__IsBrowseFolderDlg_8##	TailText		0			
+InstallChangeFolder	NewFolder	PushButton	335	66	19	19	3670019			List	##IDS__IsBrowseFolderDlg_9##	0			NewBinary2
+InstallChangeFolder	OK	PushButton	230	243	66	17	3		##IDS__IsBrowseFolderDlg_10##	Cancel		0			
+InstallChangeFolder	Tail	PathEdit	21	207	332	17	15	_BrowseProperty	##IDS__IsBrowseFolderDlg_11##	OK		0			
+InstallChangeFolder	TailText	Text	21	193	99	13	3		##IDS__IsBrowseFolderDlg_12##	Tail		0			
+InstallChangeFolder	Up	PushButton	310	66	19	19	3670019			NewFolder	##IDS__IsBrowseFolderDlg_13##	0			NewBinary3
+InstallWelcome	Back	PushButton	164	243	66	17	1		##IDS__IsWelcomeDlg_1##	Copyright		0			
+InstallWelcome	Cancel	PushButton	301	243	66	17	3		##IDS__IsWelcomeDlg_2##	Back		0			
+InstallWelcome	Copyright	Text	135	144	228	73	65539		##IDS__IsWelcomeDlg_7##	Next		0			
+InstallWelcome	DlgLine	Line	0	234	374	0	1					0			
+InstallWelcome	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
+InstallWelcome	Next	PushButton	230	243	66	17	3		##IDS__IsWelcomeDlg_3##	Cancel		0			
+InstallWelcome	TextLine1	Text	135	8	225	45	65539		##IDS__IsWelcomeDlg_4##			0			
+InstallWelcome	TextLine2	Text	135	55	228	45	65539		##IDS__IsWelcomeDlg_5##			0			
+LicenseAgreement	Agree	RadioButtonGroup	8	190	330	40	3	AgreeToLicense		Back		0			
+LicenseAgreement	Back	PushButton	164	243	66	17	3		##IDS__IsLicenseDlg_1##	Next		0			
+LicenseAgreement	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+LicenseAgreement	BannerLine	Line	0	44	374	0	1					0			
+LicenseAgreement	Branding1	Text	4	229	50	13	3		##IDS__IsLicenseDlg_2##			0			
+LicenseAgreement	Branding2	Text	3	228	50	13	65537		##IDS__IsLicenseDlg_3##			0			
+LicenseAgreement	Cancel	PushButton	301	243	66	17	3		##IDS__IsLicenseDlg_4##	Agree		0			
+LicenseAgreement	DlgDesc	Text	21	23	292	25	65539		##IDS__IsLicenseDlg_5##			0			
+LicenseAgreement	DlgLine	Line	48	234	326	0	1					0			
+LicenseAgreement	DlgTitle	Text	13	6	292	25	65539		##IDS__IsLicenseDlg_7##			0			
+LicenseAgreement	Memo	ScrollableText	8	55	358	130	7					0	0	<ISProjectFolder>\license.rtf	
+LicenseAgreement	Next	PushButton	230	243	66	17	3		##IDS__IsLicenseDlg_8##	Cancel		0			
+MaintenanceType	Back	PushButton	164	243	66	17	3		##IDS__IsMaintenanceDlg_1##	Next		0			
+MaintenanceType	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+MaintenanceType	BannerLine	Line	0	44	374	0	1					0			
+MaintenanceType	Branding1	Text	4	229	50	13	3		##IDS__IsMaintenanceDlg_2##			0			
+MaintenanceType	Branding2	Text	3	228	50	13	65537		##IDS__IsMaintenanceDlg_3##			0			
+MaintenanceType	Cancel	PushButton	301	243	66	17	3		##IDS__IsMaintenanceDlg_4##	RadioGroup		0			
+MaintenanceType	DlgDesc	Text	21	23	292	25	65539		##IDS__IsMaintenanceDlg_5##			0			
+MaintenanceType	DlgLine	Line	48	234	326	0	1					0			
+MaintenanceType	DlgTitle	Text	13	6	292	25	65539		##IDS__IsMaintenanceDlg_6##			0			
+MaintenanceType	Ico2	Icon	35	75	24	24	5767169					0	0		NewBinary7
+MaintenanceType	Ico3	Icon	35	135	24	24	5767169					0	0		NewBinary8
+MaintenanceType	Next	PushButton	230	243	66	17	3		##IDS__IsMaintenanceDlg_7##	Cancel		0			
+MaintenanceType	RadioGroup	RadioButtonGroup	21	55	290	170	3	_IsMaintenance	##IDS__IsMaintenanceDlg_11##	Back		0	0		
+MaintenanceType	Text2	Text	80	75	260	35	3		##IDS__IsMaintenanceDlg_13##			0	0		
+MaintenanceType	Text3	Text	80	132	260	35	3		##IDS__IsMaintenanceDlg_14##			0	0		
+MaintenanceWelcome	Back	PushButton	164	243	66	17	1		##IDS__IsMaintenanceWelcome_1##	Next		0			
+MaintenanceWelcome	Cancel	PushButton	301	243	66	17	3		##IDS__IsMaintenanceWelcome_2##	Back		0			
+MaintenanceWelcome	DlgLine	Line	0	234	374	0	1					0			
+MaintenanceWelcome	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
+MaintenanceWelcome	Next	PushButton	230	243	66	17	3		##IDS__IsMaintenanceWelcome_3##	Cancel		0			
+MaintenanceWelcome	TextLine1	Text	135	8	225	45	65539		##IDS__IsMaintenanceWelcome_4##			0			
+MaintenanceWelcome	TextLine2	Text	135	55	228	50	65539		##IDS__IsMaintenanceWelcome_5##			0			
+OutOfSpace	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+OutOfSpace	BannerLine	Line	0	44	374	0	1					0			
+OutOfSpace	Branding1	Text	4	229	50	13	3		##IDS__IsDiskSpaceDlg_1##			0			
+OutOfSpace	Branding2	Text	3	228	50	13	65537		##IDS__IsDiskSpaceDlg_2##			0			
+OutOfSpace	DlgDesc	Text	21	23	292	25	65539		##IDS__IsDiskSpaceDlg_4##			0			
+OutOfSpace	DlgLine	Line	48	234	326	0	1					0			
+OutOfSpace	DlgText	Text	21	51	326	43	3		##IDS__IsDiskSpaceDlg_5##			0			
+OutOfSpace	DlgTitle	Text	13	6	292	25	65539		##IDS__IsDiskSpaceDlg_6##			0			
+OutOfSpace	List	VolumeCostList	21	95	332	120	393223		##IDS__IsDiskSpaceDlg_9##			0			
+OutOfSpace	Resume	PushButton	301	243	66	17	3		##IDS__IsDiskSpaceDlg_10##			0			
+PatchWelcome	Back	PushButton	164	243	66	17	1		##IDS__IsPatchDlg_4##	Next		0			
+PatchWelcome	Cancel	PushButton	301	243	66	17	3		##IDS__IsPatchDlg_3##	Back		0			
+PatchWelcome	DlgLine	Line	0	234	374	0	1					0			
+PatchWelcome	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
+PatchWelcome	Next	PushButton	230	243	66	17	3		##IDS__IsPatchDlg_5##	Cancel		0			
+PatchWelcome	TextLine1	Text	135	8	225	45	65539		##IDS__IsPatchDlg_1##			0			
+PatchWelcome	TextLine2	Text	135	54	228	45	65539		##IDS__IsPatchDlg_2##			0			
+ReadyToInstall	Back	PushButton	164	243	66	17	3		##IDS__IsVerifyReadyDlg_1##	InstallNow		0			
+ReadyToInstall	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+ReadyToInstall	BannerLine	Line	0	44	374	0	1					0			
+ReadyToInstall	Branding1	Text	4	229	50	13	3		##IDS__IsVerifyReadyDlg_2##			0			
+ReadyToInstall	Branding2	Text	3	228	50	13	65537		##IDS__IsVerifyReadyDlg_3##			0			
+ReadyToInstall	Cancel	PushButton	301	243	66	17	3		##IDS__IsVerifyReadyDlg_4##	Back		0			
+ReadyToInstall	DlgDesc	Text	21	23	292	25	65539		##IDS__IsVerifyReadyDlg_5##			0			
+ReadyToInstall	DlgLine	Line	48	234	374	0	1					0			
+ReadyToInstall	DlgText	Text	21	100	326	20	3		##IDS__IsVerifyReadyDlg_6##			0	0		
+ReadyToInstall	DlgText1	Text	21	119	330	24	3		##IDS__IsVerifyReadyDlg_7##			0	0		
+ReadyToInstall	DlgTitle	Text	13	6	292	25	65538		##IDS__IsVerifyReadyDlg_8##			0			
+ReadyToInstall	DlgTitle2	Text	13	6	292	25	65538		##IDS__IsVerifyReadyDlg_10##			0			
+ReadyToInstall	DlgTitle3	Text	13	6	292	25	65538		##IDS__IsVerifyReadyDlg_11##			0			
+ReadyToInstall	InstallNow	PushButton	230	243	66	17	3		##IDS__IsVerifyReadyDlg_9##	Cancel		0			
+ReadyToInstall	Text1	Text	21	51	326	43	3		##IDS__IsVerifyReadyDlg_22##			0	0		
+ReadyToRemove	Back	PushButton	164	243	66	17	3		##IDS__IsVerifyRemoveAllDlg_1##	RemoveNow		0			
+ReadyToRemove	Banner	Bitmap	0	1	374	44	262145					0	0		NewBinary1
+ReadyToRemove	BannerLine	Line	0	44	374	0	1					0			
+ReadyToRemove	Branding1	Text	4	229	50	13	3		##IDS__IsVerifyRemoveAllDlg_2##			0			
+ReadyToRemove	Branding2	Text	3	228	50	13	65537		##IDS__IsVerifyRemoveAllDlg_3##			0			
+ReadyToRemove	Cancel	PushButton	301	243	66	17	3		##IDS__IsVerifyRemoveAllDlg_4##	Back		0			
+ReadyToRemove	DlgDesc	Text	21	23	292	25	65539		##IDS__IsVerifyRemoveAllDlg_5##			0			
+ReadyToRemove	DlgLine	Line	48	234	326	0	1					0			
+ReadyToRemove	DlgText	Text	21	51	326	24	3		##IDS__IsVerifyRemoveAllDlg_6##			0			
+ReadyToRemove	DlgText1	Text	21	79	330	23	3		##IDS__IsVerifyRemoveAllDlg_7##			0			
+ReadyToRemove	DlgText2	Text	21	102	330	24	3					0			
+ReadyToRemove	DlgTitle	Text	13	6	292	25	65539		##IDS__IsVerifyRemoveAllDlg_8##			0			
+ReadyToRemove	RemoveNow	PushButton	230	243	66	17	3		##IDS__IsVerifyRemoveAllDlg_9##	Cancel		0			
+SetupBadPath	Icon1	Icon	15	15	24	24	5767169					0	0		NewBinary4
+SetupBadPath	PushButton7	PushButton	192	80	66	17	3		##NEW_STRING9##			0	0		
+SetupBadPath	Text1	Text	50	15	200	50	3	NewProperty1	##NEW_STRING6##			0	0		
+SetupCompleteError	Back	PushButton	164	243	66	17	1		##IDS__IsFatalError_1##	Finish		0			
+SetupCompleteError	Cancel	PushButton	301	243	66	17	1		##IDS__IsFatalError_2##	Back		0			
+SetupCompleteError	DlgLine	Line	0	234	374	0	1					0			
+SetupCompleteError	Finish	PushButton	230	243	66	17	3		##IDS__IsFatalError_3##	Cancel		0			
+SetupCompleteError	FinishText1	Text	135	80	228	50	65539		##IDS__IsFatalError_4##			0			
+SetupCompleteError	FinishText2	Text	135	135	228	25	65539		##IDS__IsFatalError_5##			0			
+SetupCompleteError	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
+SetupCompleteError	RestContText1	Text	135	80	228	50	65539		##IDS__IsFatalError_6##			0			
+SetupCompleteError	RestContText2	Text	135	135	228	25	65539		##IDS__IsFatalError_7##			0			
+SetupCompleteError	TextLine1	Text	135	8	225	45	65539		##IDS__IsFatalError_8##			0			
+SetupCompleteError	TextLine2	Text	135	55	228	25	65539		##IDS__IsFatalError_9##			0			
+SetupCompleteSuccess	Back	PushButton	164	243	66	17	1		##IDS__IsExitDialog_1##	OK		0			
+SetupCompleteSuccess	Cancel	PushButton	301	243	66	17	1		##IDS__IsExitDialog_2##	Image		0			
+SetupCompleteSuccess	CheckLaunchReadme	CheckBox	151	114	10	9	2	LAUNCHREADME				0	0		
+SetupCompleteSuccess	DlgLine	Line	0	234	374	0	1					0			
+SetupCompleteSuccess	Image	Bitmap	0	0	374	234	262145			Back		0	0		NewBinary5
+SetupCompleteSuccess	LaunchReadmeText	Text	164	112	198	13	65538		##IDS__IsExitDialog_8##			0	0		
+SetupCompleteSuccess	OK	PushButton	230	243	66	17	3		##IDS__IsExitDialog_3##	Cancel		0			
+SetupCompleteSuccess	TextLine1	Text	135	8	225	45	65539		##IDS__IsExitDialog_4##			0			
+SetupCompleteSuccess	TextLine2	Text	135	55	228	45	65538		##IDS__IsExitDialog_5##			0			
+SetupCompleteSuccess	TextLine3	Text	135	55	228	45	65538		##IDS__IsExitDialog_6##			0			
+SetupCompleteSuccess	UpdateTextLine1	Text	135	30	228	45	65538		##IDS__IsExitDialog_Update_4##			0			
+SetupError	A	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_1##			0			
+SetupError	C	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_2##			0			
+SetupError	ErrorText	Text	50	15	200	50	3		##IDS__IsErrorDlg_3##			0			
+SetupError	I	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_4##			0			
+SetupError	N	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_5##			0			
+SetupError	O	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_6##			0			
+SetupError	R	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_7##			0			
+SetupError	WarningIcon	Icon	15	15	24	24	5242881					0			NewBinary4
+SetupError	Y	PushButton	192	80	66	17	3		##IDS__IsErrorDlg_8##			0			
+SetupInitialization	ActionData	Text	135	125	228	12	65539		##IDS__IsInitDlg_1##			0			
+SetupInitialization	ActionText	Text	135	109	220	36	65539		##IDS__IsInitDlg_2##			0			
+SetupInitialization	Back	PushButton	164	243	66	17	1		##IDS__IsInitDlg_3##			0			
+SetupInitialization	Cancel	PushButton	301	243	66	17	3		##IDS__IsInitDlg_4##			0			
+SetupInitialization	DlgLine	Line	0	234	374	0	1					0			
+SetupInitialization	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
+SetupInitialization	Next	PushButton	230	243	66	17	1		##IDS__IsInitDlg_5##			0			
+SetupInitialization	TextLine1	Text	135	8	225	45	65539		##IDS__IsInitDlg_6##			0			
+SetupInitialization	TextLine2	Text	135	55	228	30	65539		##IDS__IsInitDlg_7##			0			
+SetupInterrupted	Back	PushButton	164	243	66	17	1		##IDS__IsUserExit_1##			0			
+SetupInterrupted	Cancel	PushButton	301	243	66	17	1		##IDS__IsUserExit_2##			0			
+SetupInterrupted	DlgLine	Line	0	234	374	0	1					0			
+SetupInterrupted	Finish	PushButton	230	243	66	17	3		##IDS__IsUserExit_3##			0			
+SetupInterrupted	FinishText1	Text	135	80	228	50	65539		##IDS__IsUserExit_4##			0			
+SetupInterrupted	FinishText2	Text	135	135	228	25	65539		##IDS__IsUserExit_5##			0			
+SetupInterrupted	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
+SetupInterrupted	RestContText1	Text	135	80	228	50	65539		##IDS__IsUserExit_6##			0			
+SetupInterrupted	RestContText2	Text	135	135	228	25	65539		##IDS__IsUserExit_7##			0			
+SetupInterrupted	TextLine1	Text	135	8	225	45	65539		##IDS__IsUserExit_8##			0			
+SetupInterrupted	TextLine2	Text	135	55	228	25	65539		##IDS__IsUserExit_9##			0			
+SetupProgress	ActionProgress95	ProgressBar	59	113	275	12	65537		##IDS__IsProgressDlg_1##			0			
+SetupProgress	ActionText	Text	59	100	275	12	3		##IDS__IsProgressDlg_2##			0			
+SetupProgress	Back	PushButton	164	243	66	17	1		##IDS__IsProgressDlg_3##	Next		0			
+SetupProgress	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+SetupProgress	BannerLine	Line	0	44	374	0	1					0			
+SetupProgress	Branding1	Text	4	229	50	13	3		##IDS__IsProgressDlg_4##			0			
+SetupProgress	Branding2	Text	3	228	50	13	65537		##IDS__IsProgressDlg_5##			0			
+SetupProgress	Cancel	PushButton	301	243	66	17	3		##IDS__IsProgressDlg_6##	Back		0			
+SetupProgress	DlgDesc	Text	21	23	292	25	65538		##IDS__IsProgressDlg_7##			0			
+SetupProgress	DlgDesc2	Text	21	23	292	25	65538		##IDS__IsProgressDlg_16##			0			
+SetupProgress	DlgLine	Line	48	234	326	0	1					0			
+SetupProgress	DlgText	Text	59	51	275	30	65538		##IDS__IsProgressDlg_8##			0			
+SetupProgress	DlgText2	Text	59	51	275	30	65538		##IDS__IsProgressDlg_17##			0			
+SetupProgress	DlgTitle	Text	13	6	292	25	65538		##IDS__IsProgressDlg_9##			0			
+SetupProgress	DlgTitle2	Text	13	6	292	25	65538		##IDS__IsProgressDlg_15##			0			
+SetupProgress	LbSec	Text	172	139	32	12	2		##IDS__IsProgressDlg_10##			0			
+SetupProgress	LbStatus	Text	59	85	70	12	3		##IDS__IsProgressDlg_11##			0			
+SetupProgress	Next	PushButton	230	243	66	17	1		##IDS__IsProgressDlg_12##	Cancel		0			
+SetupProgress	SetupIcon	Icon	21	51	24	24	5242881					0			NewBinary9
+SetupProgress	ShowTime	Text	155	139	17	12	2		##IDS__IsProgressDlg_13##			0			
+SetupProgress	TextTime	Text	59	139	96	12	2		##IDS__IsProgressDlg_14##			0			
+SetupResume	Back	PushButton	164	243	66	17	1		##IDS__IsResumeDlg_1##	Next		0			
+SetupResume	Cancel	PushButton	301	243	66	17	3		##IDS__IsResumeDlg_2##	Back		0			
+SetupResume	DlgLine	Line	0	234	374	0	1					0			
+SetupResume	Image	Bitmap	0	0	374	234	262145					0	0		NewBinary5
+SetupResume	Next	PushButton	230	243	66	17	3		##IDS__IsResumeDlg_3##	Cancel		0			
+SetupResume	PreselectedText	Text	135	55	228	45	65539		##IDS__IsResumeDlg_4##			0			
+SetupResume	ResumeText	Text	135	46	228	45	65539		##IDS__IsResumeDlg_5##			0			
+SetupResume	TextLine1	Text	135	8	225	45	65539		##IDS__IsResumeDlg_6##			0			
+SetupType	Back	PushButton	164	243	66	17	3		##IDS__IsSetupTypeMinDlg_1##	Next		0			
+SetupType	Banner	Bitmap	0	0	374	44	262145					0	0		NewBinary1
+SetupType	BannerLine	Line	0	44	374	0	1					0			
+SetupType	Branding1	Text	4	229	50	13	3		##IDS__IsSetupTypeMinDlg_2##			0			
+SetupType	Branding2	Text	3	228	50	13	65537		##IDS__IsSetupTypeMinDlg_3##			0			
+SetupType	Cancel	PushButton	301	243	66	17	3		##IDS__IsSetupTypeMinDlg_4##	RadioGroup		0			
+SetupType	CompleteIco	Icon	34	94	24	24	5242881					0			NewBinary10
+SetupType	CompText	Text	80	94	246	35	3		##IDS__IsSetupTypeMinDlg_5##			0			
+SetupType	CustomIco	Icon	34	154	24	24	5242881					0			NewBinary6
+SetupType	CustText	Text	80	154	246	35	3		##IDS__IsSetupTypeMinDlg_6##			0			
+SetupType	DlgDesc	Text	21	23	292	25	65539		##IDS__IsSetupTypeMinDlg_7##			0			
+SetupType	DlgLine	Line	48	234	326	0	1					0			
+SetupType	DlgText	Text	21	51	326	10	3		##IDS__IsSetupTypeMinDlg_8##			0			
+SetupType	DlgTitle	Text	13	6	292	25	65539		##IDS__IsSetupTypeMinDlg_9##			0			
+SetupType	Next	PushButton	230	243	66	17	3		##IDS__IsSetupTypeMinDlg_10##	Cancel		0			
+SetupType	RadioGroup	RadioButtonGroup	21	79	264	120	3	_IsSetupTypeMin	##IDS__IsSetupTypeMinDlg_13##	Back		0			
+SplashBitmap	Back	PushButton	164	243	66	17	1		##IDS__IsBitmapDlg_1##	Next		0			
+SplashBitmap	Branding1	Text	4	229	50	13	3		##IDS__IsBitmapDlg_2##			0			
+SplashBitmap	Branding2	Text	3	228	50	13	65537		##IDS__IsBitmapDlg_3##			0			
+SplashBitmap	Cancel	PushButton	301	243	66	17	3		##IDS__IsBitmapDlg_4##	Back		0			
+SplashBitmap	DlgLine	Line	48	234	374	0	1					0			
+SplashBitmap	Image	Bitmap	13	12	349	211	262145					0	0		NewBinary5
+SplashBitmap	Next	PushButton	230	243	66	17	3		##IDS__IsBitmapDlg_5##	Cancel		0			

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ControlCondition.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ControlCondition.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ControlCondition.idt	Fri Jul 16 09:27:17 2004
@@ -1,64 +1,64 @@
-Dialog_	Control_	Action	Condition
-s72	s50	s50	s255
-ControlCondition	Dialog_	Control_	Action	Condition
-CustomerInformation	DlgRadioGroupText	Hide	NOT Privileged
-CustomerInformation	DlgRadioGroupText	Hide	ProductState > 0
-CustomerInformation	DlgRadioGroupText	Hide	Version9X
-CustomerInformation	MissingApache	Show	APACHE_FOUND = ""
-CustomerInformation	RadioGroup	Hide	NOT Privileged
-CustomerInformation	RadioGroup	Hide	ProductState > 0
-CustomerInformation	RadioGroup	Hide	Version9X
-CustomSetup	ChangeFolder	Hide	Installed
-CustomSetup	Details	Hide	Installed
-CustomSetup	InstallLabel	Hide	Installed
-InstallWelcome	Back	Disable	1
-InstallWelcome	Copyright	Hide	SHOWCOPYRIGHT="No"
-InstallWelcome	Copyright	Show	SHOWCOPYRIGHT="Yes"
-LicenseAgreement	Next	Disable	AgreeToLicense <> "Yes"
-LicenseAgreement	Next	Enable	AgreeToLicense = "Yes"
-ReadyToInstall	DlgTitle	Show	ProgressType0="Modify"
-ReadyToInstall	DlgTitle2	Show	ProgressType0="Repair"
-ReadyToInstall	DlgTitle3	Show	ProgressType0="install"
-SetupCompleteError	Back	Default	UpdateStarted
-SetupCompleteError	Back	Disable	NOT UpdateStarted
-SetupCompleteError	Back	Enable	UpdateStarted
-SetupCompleteError	Cancel	Disable	NOT UpdateStarted
-SetupCompleteError	Cancel	Enable	UpdateStarted
-SetupCompleteError	Finish	Default	NOT UpdateStarted
-SetupCompleteError	FinishText1	Hide	UpdateStarted
-SetupCompleteError	FinishText1	Show	NOT UpdateStarted
-SetupCompleteError	FinishText2	Hide	UpdateStarted
-SetupCompleteError	FinishText2	Show	NOT UpdateStarted
-SetupCompleteError	RestContText1	Hide	NOT UpdateStarted
-SetupCompleteError	RestContText1	Show	UpdateStarted
-SetupCompleteError	RestContText2	Hide	NOT UpdateStarted
-SetupCompleteError	RestContText2	Show	UpdateStarted
-SetupCompleteSuccess	CheckLaunchReadme	Show	SHOWLAUNCHREADME="-1"  And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOG
-SetupCompleteSuccess	LaunchReadmeText	Show	SHOWLAUNCHREADME="-1"  And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOG
-SetupCompleteSuccess	TextLine2	Show	ProgressType2="installed" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))
-SetupCompleteSuccess	TextLine3	Show	ProgressType2="uninstalled" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))
-SetupCompleteSuccess	UpdateTextLine1	Show	ISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"
-SetupInterrupted	Back	Default	UpdateStarted
-SetupInterrupted	Back	Disable	NOT UpdateStarted
-SetupInterrupted	Back	Enable	UpdateStarted
-SetupInterrupted	Cancel	Disable	NOT UpdateStarted
-SetupInterrupted	Cancel	Enable	UpdateStarted
-SetupInterrupted	Finish	Default	NOT UpdateStarted
-SetupInterrupted	FinishText1	Hide	UpdateStarted
-SetupInterrupted	FinishText1	Show	NOT UpdateStarted
-SetupInterrupted	FinishText2	Hide	UpdateStarted
-SetupInterrupted	FinishText2	Show	NOT UpdateStarted
-SetupInterrupted	RestContText1	Hide	NOT UpdateStarted
-SetupInterrupted	RestContText1	Show	UpdateStarted
-SetupInterrupted	RestContText2	Hide	NOT UpdateStarted
-SetupInterrupted	RestContText2	Show	UpdateStarted
-SetupProgress	DlgDesc	Show	ProgressType2="installed"
-SetupProgress	DlgDesc2	Show	ProgressType2="uninstalled"
-SetupProgress	DlgText	Show	ProgressType3="installs"
-SetupProgress	DlgText2	Show	ProgressType3="uninstalls"
-SetupProgress	DlgTitle	Show	ProgressType1="Installing"
-SetupProgress	DlgTitle2	Show	ProgressType1="Uninstalling"
-SetupResume	PreselectedText	Hide	RESUME
-SetupResume	PreselectedText	Show	NOT RESUME
-SetupResume	ResumeText	Hide	NOT RESUME
-SetupResume	ResumeText	Show	RESUME
+Dialog_	Control_	Action	Condition
+s72	s50	s50	s255
+ControlCondition	Dialog_	Control_	Action	Condition
+CustomerInformation	DlgRadioGroupText	Hide	NOT Privileged
+CustomerInformation	DlgRadioGroupText	Hide	ProductState > 0
+CustomerInformation	DlgRadioGroupText	Hide	Version9X
+CustomerInformation	MissingApache	Show	APACHE_FOUND = ""
+CustomerInformation	RadioGroup	Hide	NOT Privileged
+CustomerInformation	RadioGroup	Hide	ProductState > 0
+CustomerInformation	RadioGroup	Hide	Version9X
+CustomSetup	ChangeFolder	Hide	Installed
+CustomSetup	Details	Hide	Installed
+CustomSetup	InstallLabel	Hide	Installed
+InstallWelcome	Back	Disable	1
+InstallWelcome	Copyright	Hide	SHOWCOPYRIGHT="No"
+InstallWelcome	Copyright	Show	SHOWCOPYRIGHT="Yes"
+LicenseAgreement	Next	Disable	AgreeToLicense <> "Yes"
+LicenseAgreement	Next	Enable	AgreeToLicense = "Yes"
+ReadyToInstall	DlgTitle	Show	ProgressType0="Modify"
+ReadyToInstall	DlgTitle2	Show	ProgressType0="Repair"
+ReadyToInstall	DlgTitle3	Show	ProgressType0="install"
+SetupCompleteError	Back	Default	UpdateStarted
+SetupCompleteError	Back	Disable	NOT UpdateStarted
+SetupCompleteError	Back	Enable	UpdateStarted
+SetupCompleteError	Cancel	Disable	NOT UpdateStarted
+SetupCompleteError	Cancel	Enable	UpdateStarted
+SetupCompleteError	Finish	Default	NOT UpdateStarted
+SetupCompleteError	FinishText1	Hide	UpdateStarted
+SetupCompleteError	FinishText1	Show	NOT UpdateStarted
+SetupCompleteError	FinishText2	Hide	UpdateStarted
+SetupCompleteError	FinishText2	Show	NOT UpdateStarted
+SetupCompleteError	RestContText1	Hide	NOT UpdateStarted
+SetupCompleteError	RestContText1	Show	UpdateStarted
+SetupCompleteError	RestContText2	Hide	NOT UpdateStarted
+SetupCompleteError	RestContText2	Show	UpdateStarted
+SetupCompleteSuccess	CheckLaunchReadme	Show	SHOWLAUNCHREADME="-1"  And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOG
+SetupCompleteSuccess	LaunchReadmeText	Show	SHOWLAUNCHREADME="-1"  And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOG
+SetupCompleteSuccess	TextLine2	Show	ProgressType2="installed" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))
+SetupCompleteSuccess	TextLine3	Show	ProgressType2="uninstalled" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))
+SetupCompleteSuccess	UpdateTextLine1	Show	ISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"
+SetupInterrupted	Back	Default	UpdateStarted
+SetupInterrupted	Back	Disable	NOT UpdateStarted
+SetupInterrupted	Back	Enable	UpdateStarted
+SetupInterrupted	Cancel	Disable	NOT UpdateStarted
+SetupInterrupted	Cancel	Enable	UpdateStarted
+SetupInterrupted	Finish	Default	NOT UpdateStarted
+SetupInterrupted	FinishText1	Hide	UpdateStarted
+SetupInterrupted	FinishText1	Show	NOT UpdateStarted
+SetupInterrupted	FinishText2	Hide	UpdateStarted
+SetupInterrupted	FinishText2	Show	NOT UpdateStarted
+SetupInterrupted	RestContText1	Hide	NOT UpdateStarted
+SetupInterrupted	RestContText1	Show	UpdateStarted
+SetupInterrupted	RestContText2	Hide	NOT UpdateStarted
+SetupInterrupted	RestContText2	Show	UpdateStarted
+SetupProgress	DlgDesc	Show	ProgressType2="installed"
+SetupProgress	DlgDesc2	Show	ProgressType2="uninstalled"
+SetupProgress	DlgText	Show	ProgressType3="installs"
+SetupProgress	DlgText2	Show	ProgressType3="uninstalls"
+SetupProgress	DlgTitle	Show	ProgressType1="Installing"
+SetupProgress	DlgTitle2	Show	ProgressType1="Uninstalling"
+SetupResume	PreselectedText	Hide	RESUME
+SetupResume	PreselectedText	Show	NOT RESUME
+SetupResume	ResumeText	Hide	NOT RESUME
+SetupResume	ResumeText	Show	RESUME

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ControlEvent.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ControlEvent.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ControlEvent.idt	Fri Jul 16 09:27:17 2004
@@ -1,136 +1,136 @@
-Dialog_	Control_	Event	Argument	Condition	Ordering
-s72	s50	s50	s255	S255	I2
-ControlEvent	Dialog_	Control_	Event	Argument	Condition
-AdminChangeFolder	Cancel	EndDialog	Return	1	2
-AdminChangeFolder	Cancel	Reset	0	1	1
-AdminChangeFolder	NewFolder	DirectoryListNew	0	1	0
-AdminChangeFolder	OK	EndDialog	Return	1	0
-AdminChangeFolder	OK	SetTargetPath	TARGETDIR	1	1
-AdminChangeFolder	Up	DirectoryListUp	0	1	0
-AdminNetworkLocation	Back	NewDialog	AdminWelcome	1	0
-AdminNetworkLocation	Browse	SpawnDialog	AdminChangeFolder	1	0
-AdminNetworkLocation	Cancel	SpawnDialog	CancelSetup	1	0
-AdminNetworkLocation	InstallNow	EndDialog	Return	OutOfNoRbDiskSpace <> 1	3
-AdminNetworkLocation	InstallNow	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	2
-AdminNetworkLocation	InstallNow	SetTargetPath	TARGETDIR	1	1
-AdminWelcome	Cancel	SpawnDialog	CancelSetup	1	0
-AdminWelcome	Next	NewDialog	AdminNetworkLocation	1	0
-CancelSetup	No	EndDialog	Return	1	0
-CancelSetup	Yes	EndDialog	Exit	1	2
-CustomerInformation	Back	NewDialog	LicenseAgreement	1	1
-CustomerInformation	Cancel	SpawnDialog	CancelSetup	1	1
-CustomerInformation	ChangeFolder	[_BrowseProperty]	INSTALLDIR	1	1
-CustomerInformation	ChangeFolder	SpawnDialog	InstallChangeFolder	1	2
-CustomerInformation	Next	[ALLUSERS]	{}	ApplicationUsers = "OnlyCurrentUser" And Privileged	2
-CustomerInformation	Next	[ALLUSERS]	2	ApplicationUsers = "AllUsers" And Privileged	1
-CustomerInformation	Next	DoAction	VerifyApachePath	1	3
-CustomerInformation	Next	NewDialog	ReadyToInstall	_BadPath = 0	4
-CustomerInformation	Next	SpawnDialog	SetupBadPath	_BadPath = 1	5
-CustomSetup	Back	NewDialog	MaintenanceType	Installed	1
-CustomSetup	Back	NewDialog	SetupType	NOT Installed	2
-CustomSetup	Cancel	SpawnDialog	CancelSetup	1	0
-CustomSetup	ChangeFolder	SelectionBrowse	InstallChangeFolder	1	0
-CustomSetup	Details	SelectionBrowse	DiskSpaceRequirements	1	1
-CustomSetup	Help	SpawnDialog	CustomSetupTips	1	1
-CustomSetup	Next	[_IsSetupTypeMin]	Custom	1	0
-CustomSetup	Next	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	0
-CustomSetup	Next	NewDialog	ReadyToInstall	OutOfNoRbDiskSpace <> 1	0
-CustomSetupTips	OK	EndDialog	Return	1	1
-DatabaseFolder	Back	NewDialog	CustomerInformation	1	1
-DatabaseFolder	Cancel	SpawnDialog	CancelSetup	1	1
-DatabaseFolder	ChangeFolder	[_BrowseProperty]	DATABASEDIR	1	2
-DatabaseFolder	ChangeFolder	SpawnDialog	InstallChangeFolder	1	1
-DatabaseFolder	Next	NewDialog	SetupType	1	1
-DestinationFolder	Back	NewDialog	SetupType	1	1
-DestinationFolder	Cancel	SpawnDialog	CancelSetup	1	1
-DestinationFolder	ChangeFolder	[_BrowseProperty]	INSTALLDIR	1	2
-DestinationFolder	ChangeFolder	SpawnDialog	InstallChangeFolder	1	1
-DestinationFolder	Next	NewDialog	ReadyToInstall	1	1
-DiskSpaceRequirements	OK	EndDialog	Return	1	0
-FilesInUse	Exit	EndDialog	Exit	1	0
-FilesInUse	Ignore	EndDialog	Ignore	1	0
-FilesInUse	Retry	EndDialog	Retry	1	0
-InstallChangeFolder	Cancel	EndDialog	Return	1	2
-InstallChangeFolder	Cancel	Reset	0	1	1
-InstallChangeFolder	NewFolder	DirectoryListNew	0	1	1
-InstallChangeFolder	OK	DoAction	VerifyApachePath	1	2
-InstallChangeFolder	OK	EndDialog	Return	_BadPath = 0	2
-InstallChangeFolder	OK	SpawnDialog	SetupBadPath	_BadPath = 1	3
-InstallChangeFolder	Up	DirectoryListUp	0	1	1
-InstallWelcome	Back	NewDialog	SplashBitmap	Display_IsBitmapDlg	1
-InstallWelcome	Cancel	SpawnDialog	CancelSetup	1	0
-InstallWelcome	Next	NewDialog	LicenseAgreement	1	1
-LicenseAgreement	Back	NewDialog	InstallWelcome	1	0
-LicenseAgreement	Cancel	SpawnDialog	CancelSetup	1	0
-LicenseAgreement	Next	[_BrowseProperty]	INSTALLDIR	1	1
-LicenseAgreement	Next	NewDialog	CustomerInformation	AgreeToLicense = "Yes"	2
-MaintenanceType	Back	NewDialog	MaintenanceWelcome	1	1
-MaintenanceType	Cancel	SpawnDialog	CancelSetup	1	1
-MaintenanceType	Next	[ProgressType0]	Repair	_IsMaintenance = "Reinstall"	1
-MaintenanceType	Next	[ProgressType1]	Repairing	_IsMaintenance = "Reinstall"	2
-MaintenanceType	Next	[ProgressType2]	repairs	_IsMaintenance = "Reinstall"	3
-MaintenanceType	Next	[ProgressType3]	repairs	_IsMaintenance = "Reinstall"	4
-MaintenanceType	Next	NewDialog	ReadyToInstall	_IsMaintenance = "Reinstall"	8
-MaintenanceType	Next	NewDialog	ReadyToRemove	_IsMaintenance = "Remove"	7
-MaintenanceType	Next	Reinstall	ALL	_IsMaintenance = "Reinstall"	6
-MaintenanceType	Next	ReinstallMode	[ReinstallModeText]	_IsMaintenance = "Reinstall"	5
-MaintenanceWelcome	Cancel	SpawnDialog	CancelSetup	1	1
-MaintenanceWelcome	Next	NewDialog	MaintenanceType	1	1
-OutOfSpace	Resume	NewDialog	AdminNetworkLocation	ACTION = "ADMIN"	0
-OutOfSpace	Resume	NewDialog	CustomSetup	ACTION <> "ADMIN"	0
-PatchWelcome	Back	NewDialog	SplashBitmap	Display_IsBitmapDlg	0
-PatchWelcome	Cancel	SpawnDialog	CancelSetup	1	1
-PatchWelcome	Next	EndDialog	Return	1	3
-PatchWelcome	Next	Reinstall	ALL	PATCH And REINSTALL=""	1
-PatchWelcome	Next	ReinstallMode	omus	PATCH And REINSTALLMODE=""	2
-ReadyToInstall	Back	[_BrowseProperty]	INSTALLDIR	NOT Installed	1
-ReadyToInstall	Back	NewDialog	CustomerInformation	NOT Installed	2
-ReadyToInstall	Back	NewDialog	MaintenanceType	Installed	3
-ReadyToInstall	Cancel	SpawnDialog	CancelSetup	1	1
-ReadyToInstall	InstallNow	[ProgressType1]	Installing	1	3
-ReadyToInstall	InstallNow	[ProgressType2]	installed	1	4
-ReadyToInstall	InstallNow	[ProgressType3]	installs	1	5
-ReadyToInstall	InstallNow	EndDialog	Return	OutOfNoRbDiskSpace <> 1	1
-ReadyToInstall	InstallNow	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	2
-ReadyToRemove	Back	NewDialog	MaintenanceType	1	0
-ReadyToRemove	Cancel	SpawnDialog	CancelSetup	1	0
-ReadyToRemove	RemoveNow	[ProgressType1]	Uninstalling	1	0
-ReadyToRemove	RemoveNow	[ProgressType2]	uninstalled	1	0
-ReadyToRemove	RemoveNow	[ProgressType3]	uninstalls	1	0
-ReadyToRemove	RemoveNow	EndDialog	Return	OutOfNoRbDiskSpace <> 1	2
-ReadyToRemove	RemoveNow	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	2
-ReadyToRemove	RemoveNow	Remove	ALL	1	1
-SetupBadPath	PushButton7	EndDialog	Return	1	
-SetupCompleteError	Back	[Suspend]	{}	1	1
-SetupCompleteError	Back	EndDialog	Return	1	2
-SetupCompleteError	Cancel	[Suspend]	1	1	1
-SetupCompleteError	Cancel	EndDialog	Return	1	2
-SetupCompleteError	Finish	EndDialog	Exit	1	2
-SetupCompleteSuccess	OK	DoAction	CheckForProductUpdates	ISCHECKFORPRODUCTUPDATES="1" And ISENABLEDWUSFINISHDIALOG And NOT ISREBOOTREQUIRED And NOT Installed And ACTION="INSTALL"	4
-SetupCompleteSuccess	OK	DoAction	CheckForProductUpdatesOnReboot	ISCHECKFORPRODUCTUPDATES="1" And ISENABLEDWUSFINISHDIALOG And ISREBOOTREQUIRED And NOT Installed And ACTION="INSTALL"	5
-SetupCompleteSuccess	OK	EndDialog	Exit	1	2
-SetupError	A	EndDialog	ErrorAbort	1	1
-SetupError	C	EndDialog	ErrorCancel	1	1
-SetupError	I	EndDialog	ErrorIgnore	1	1
-SetupError	N	EndDialog	ErrorNo	1	1
-SetupError	O	EndDialog	ErrorOk	1	1
-SetupError	R	EndDialog	ErrorRetry	1	1
-SetupError	Y	EndDialog	ErrorYes	1	1
-SetupInitialization	Cancel	SpawnDialog	CancelSetup	1	0
-SetupInterrupted	Back	[Suspend]	{}	1	1
-SetupInterrupted	Back	EndDialog	Exit	1	2
-SetupInterrupted	Cancel	[Suspend]	1	1	1
-SetupInterrupted	Cancel	EndDialog	Exit	1	2
-SetupInterrupted	Finish	EndDialog	Exit	1	2
-SetupProgress	Cancel	SpawnDialog	CancelSetup	1	0
-SetupResume	Cancel	SpawnDialog	CancelSetup	1	0
-SetupResume	Next	EndDialog	Return	OutOfNoRbDiskSpace <> 1	0
-SetupResume	Next	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	0
-SetupType	Back	NewDialog	CustomerInformation	1	1
-SetupType	Cancel	SpawnDialog	CancelSetup	1	0
-SetupType	Next	AddLocal	ALL	_IsSetupTypeMin = "Typical"	4
-SetupType	Next	NewDialog	CustomSetup	_IsSetupTypeMin = "Custom"	1
-SetupType	Next	NewDialog	DestinationFolder	_IsSetupTypeMin <> "Custom" And APACHE.EXE=""	2
-SetupType	Next	NewDialog	ReadyToInstall	_IsSetupTypeMin <> "Custom" And APACHE.EXE<>""	3
-SplashBitmap	Cancel	SpawnDialog	CancelSetup	1	0
-SplashBitmap	Next	NewDialog	InstallWelcome	1	0
+Dialog_	Control_	Event	Argument	Condition	Ordering
+s72	s50	s50	s255	S255	I2
+ControlEvent	Dialog_	Control_	Event	Argument	Condition
+AdminChangeFolder	Cancel	EndDialog	Return	1	2
+AdminChangeFolder	Cancel	Reset	0	1	1
+AdminChangeFolder	NewFolder	DirectoryListNew	0	1	0
+AdminChangeFolder	OK	EndDialog	Return	1	0
+AdminChangeFolder	OK	SetTargetPath	TARGETDIR	1	1
+AdminChangeFolder	Up	DirectoryListUp	0	1	0
+AdminNetworkLocation	Back	NewDialog	AdminWelcome	1	0
+AdminNetworkLocation	Browse	SpawnDialog	AdminChangeFolder	1	0
+AdminNetworkLocation	Cancel	SpawnDialog	CancelSetup	1	0
+AdminNetworkLocation	InstallNow	EndDialog	Return	OutOfNoRbDiskSpace <> 1	3
+AdminNetworkLocation	InstallNow	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	2
+AdminNetworkLocation	InstallNow	SetTargetPath	TARGETDIR	1	1
+AdminWelcome	Cancel	SpawnDialog	CancelSetup	1	0
+AdminWelcome	Next	NewDialog	AdminNetworkLocation	1	0
+CancelSetup	No	EndDialog	Return	1	0
+CancelSetup	Yes	EndDialog	Exit	1	2
+CustomerInformation	Back	NewDialog	LicenseAgreement	1	1
+CustomerInformation	Cancel	SpawnDialog	CancelSetup	1	1
+CustomerInformation	ChangeFolder	[_BrowseProperty]	INSTALLDIR	1	1
+CustomerInformation	ChangeFolder	SpawnDialog	InstallChangeFolder	1	2
+CustomerInformation	Next	[ALLUSERS]	{}	ApplicationUsers = "OnlyCurrentUser" And Privileged	2
+CustomerInformation	Next	[ALLUSERS]	2	ApplicationUsers = "AllUsers" And Privileged	1
+CustomerInformation	Next	DoAction	VerifyApachePath	1	3
+CustomerInformation	Next	NewDialog	ReadyToInstall	_BadPath = 0	4
+CustomerInformation	Next	SpawnDialog	SetupBadPath	_BadPath = 1	5
+CustomSetup	Back	NewDialog	MaintenanceType	Installed	1
+CustomSetup	Back	NewDialog	SetupType	NOT Installed	2
+CustomSetup	Cancel	SpawnDialog	CancelSetup	1	0
+CustomSetup	ChangeFolder	SelectionBrowse	InstallChangeFolder	1	0
+CustomSetup	Details	SelectionBrowse	DiskSpaceRequirements	1	1
+CustomSetup	Help	SpawnDialog	CustomSetupTips	1	1
+CustomSetup	Next	[_IsSetupTypeMin]	Custom	1	0
+CustomSetup	Next	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	0
+CustomSetup	Next	NewDialog	ReadyToInstall	OutOfNoRbDiskSpace <> 1	0
+CustomSetupTips	OK	EndDialog	Return	1	1
+DatabaseFolder	Back	NewDialog	CustomerInformation	1	1
+DatabaseFolder	Cancel	SpawnDialog	CancelSetup	1	1
+DatabaseFolder	ChangeFolder	[_BrowseProperty]	DATABASEDIR	1	2
+DatabaseFolder	ChangeFolder	SpawnDialog	InstallChangeFolder	1	1
+DatabaseFolder	Next	NewDialog	SetupType	1	1
+DestinationFolder	Back	NewDialog	SetupType	1	1
+DestinationFolder	Cancel	SpawnDialog	CancelSetup	1	1
+DestinationFolder	ChangeFolder	[_BrowseProperty]	INSTALLDIR	1	2
+DestinationFolder	ChangeFolder	SpawnDialog	InstallChangeFolder	1	1
+DestinationFolder	Next	NewDialog	ReadyToInstall	1	1
+DiskSpaceRequirements	OK	EndDialog	Return	1	0
+FilesInUse	Exit	EndDialog	Exit	1	0
+FilesInUse	Ignore	EndDialog	Ignore	1	0
+FilesInUse	Retry	EndDialog	Retry	1	0
+InstallChangeFolder	Cancel	EndDialog	Return	1	2
+InstallChangeFolder	Cancel	Reset	0	1	1
+InstallChangeFolder	NewFolder	DirectoryListNew	0	1	1
+InstallChangeFolder	OK	DoAction	VerifyApachePath	1	2
+InstallChangeFolder	OK	EndDialog	Return	_BadPath = 0	2
+InstallChangeFolder	OK	SpawnDialog	SetupBadPath	_BadPath = 1	3
+InstallChangeFolder	Up	DirectoryListUp	0	1	1
+InstallWelcome	Back	NewDialog	SplashBitmap	Display_IsBitmapDlg	1
+InstallWelcome	Cancel	SpawnDialog	CancelSetup	1	0
+InstallWelcome	Next	NewDialog	LicenseAgreement	1	1
+LicenseAgreement	Back	NewDialog	InstallWelcome	1	0
+LicenseAgreement	Cancel	SpawnDialog	CancelSetup	1	0
+LicenseAgreement	Next	[_BrowseProperty]	INSTALLDIR	1	1
+LicenseAgreement	Next	NewDialog	CustomerInformation	AgreeToLicense = "Yes"	2
+MaintenanceType	Back	NewDialog	MaintenanceWelcome	1	1
+MaintenanceType	Cancel	SpawnDialog	CancelSetup	1	1
+MaintenanceType	Next	[ProgressType0]	Repair	_IsMaintenance = "Reinstall"	1
+MaintenanceType	Next	[ProgressType1]	Repairing	_IsMaintenance = "Reinstall"	2
+MaintenanceType	Next	[ProgressType2]	repairs	_IsMaintenance = "Reinstall"	3
+MaintenanceType	Next	[ProgressType3]	repairs	_IsMaintenance = "Reinstall"	4
+MaintenanceType	Next	NewDialog	ReadyToInstall	_IsMaintenance = "Reinstall"	8
+MaintenanceType	Next	NewDialog	ReadyToRemove	_IsMaintenance = "Remove"	7
+MaintenanceType	Next	Reinstall	ALL	_IsMaintenance = "Reinstall"	6
+MaintenanceType	Next	ReinstallMode	[ReinstallModeText]	_IsMaintenance = "Reinstall"	5
+MaintenanceWelcome	Cancel	SpawnDialog	CancelSetup	1	1
+MaintenanceWelcome	Next	NewDialog	MaintenanceType	1	1
+OutOfSpace	Resume	NewDialog	AdminNetworkLocation	ACTION = "ADMIN"	0
+OutOfSpace	Resume	NewDialog	CustomSetup	ACTION <> "ADMIN"	0
+PatchWelcome	Back	NewDialog	SplashBitmap	Display_IsBitmapDlg	0
+PatchWelcome	Cancel	SpawnDialog	CancelSetup	1	1
+PatchWelcome	Next	EndDialog	Return	1	3
+PatchWelcome	Next	Reinstall	ALL	PATCH And REINSTALL=""	1
+PatchWelcome	Next	ReinstallMode	omus	PATCH And REINSTALLMODE=""	2
+ReadyToInstall	Back	[_BrowseProperty]	INSTALLDIR	NOT Installed	1
+ReadyToInstall	Back	NewDialog	CustomerInformation	NOT Installed	2
+ReadyToInstall	Back	NewDialog	MaintenanceType	Installed	3
+ReadyToInstall	Cancel	SpawnDialog	CancelSetup	1	1
+ReadyToInstall	InstallNow	[ProgressType1]	Installing	1	3
+ReadyToInstall	InstallNow	[ProgressType2]	installed	1	4
+ReadyToInstall	InstallNow	[ProgressType3]	installs	1	5
+ReadyToInstall	InstallNow	EndDialog	Return	OutOfNoRbDiskSpace <> 1	1
+ReadyToInstall	InstallNow	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	2
+ReadyToRemove	Back	NewDialog	MaintenanceType	1	0
+ReadyToRemove	Cancel	SpawnDialog	CancelSetup	1	0
+ReadyToRemove	RemoveNow	[ProgressType1]	Uninstalling	1	0
+ReadyToRemove	RemoveNow	[ProgressType2]	uninstalled	1	0
+ReadyToRemove	RemoveNow	[ProgressType3]	uninstalls	1	0
+ReadyToRemove	RemoveNow	EndDialog	Return	OutOfNoRbDiskSpace <> 1	2
+ReadyToRemove	RemoveNow	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	2
+ReadyToRemove	RemoveNow	Remove	ALL	1	1
+SetupBadPath	PushButton7	EndDialog	Return	1	
+SetupCompleteError	Back	[Suspend]	{}	1	1
+SetupCompleteError	Back	EndDialog	Return	1	2
+SetupCompleteError	Cancel	[Suspend]	1	1	1
+SetupCompleteError	Cancel	EndDialog	Return	1	2
+SetupCompleteError	Finish	EndDialog	Exit	1	2
+SetupCompleteSuccess	OK	DoAction	CheckForProductUpdates	ISCHECKFORPRODUCTUPDATES="1" And ISENABLEDWUSFINISHDIALOG And NOT ISREBOOTREQUIRED And NOT Installed And ACTION="INSTALL"	4
+SetupCompleteSuccess	OK	DoAction	CheckForProductUpdatesOnReboot	ISCHECKFORPRODUCTUPDATES="1" And ISENABLEDWUSFINISHDIALOG And ISREBOOTREQUIRED And NOT Installed And ACTION="INSTALL"	5
+SetupCompleteSuccess	OK	EndDialog	Exit	1	2
+SetupError	A	EndDialog	ErrorAbort	1	1
+SetupError	C	EndDialog	ErrorCancel	1	1
+SetupError	I	EndDialog	ErrorIgnore	1	1
+SetupError	N	EndDialog	ErrorNo	1	1
+SetupError	O	EndDialog	ErrorOk	1	1
+SetupError	R	EndDialog	ErrorRetry	1	1
+SetupError	Y	EndDialog	ErrorYes	1	1
+SetupInitialization	Cancel	SpawnDialog	CancelSetup	1	0
+SetupInterrupted	Back	[Suspend]	{}	1	1
+SetupInterrupted	Back	EndDialog	Exit	1	2
+SetupInterrupted	Cancel	[Suspend]	1	1	1
+SetupInterrupted	Cancel	EndDialog	Exit	1	2
+SetupInterrupted	Finish	EndDialog	Exit	1	2
+SetupProgress	Cancel	SpawnDialog	CancelSetup	1	0
+SetupResume	Cancel	SpawnDialog	CancelSetup	1	0
+SetupResume	Next	EndDialog	Return	OutOfNoRbDiskSpace <> 1	0
+SetupResume	Next	NewDialog	OutOfSpace	OutOfNoRbDiskSpace = 1	0
+SetupType	Back	NewDialog	CustomerInformation	1	1
+SetupType	Cancel	SpawnDialog	CancelSetup	1	0
+SetupType	Next	AddLocal	ALL	_IsSetupTypeMin = "Typical"	4
+SetupType	Next	NewDialog	CustomSetup	_IsSetupTypeMin = "Custom"	1
+SetupType	Next	NewDialog	DestinationFolder	_IsSetupTypeMin <> "Custom" And APACHE.EXE=""	2
+SetupType	Next	NewDialog	ReadyToInstall	_IsSetupTypeMin <> "Custom" And APACHE.EXE<>""	3
+SplashBitmap	Cancel	SpawnDialog	CancelSetup	1	0
+SplashBitmap	Next	NewDialog	InstallWelcome	1	0

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/CreateFolder.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/CreateFolder.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/CreateFolder.idt	Fri Jul 16 09:27:17 2004
@@ -1,4 +1,4 @@
-Directory_	Component_
-s72	s72
-CreateFolder	Directory_	Component_
-HTML	html_docs
+Directory_	Component_
+s72	s72
+CreateFolder	Directory_	Component_
+HTML	html_docs

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/CustomAction.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/CustomAction.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/CustomAction.idt	Fri Jul 16 09:27:17 2004
@@ -1,14 +1,14 @@
-Action	Type	Source	Target	ISComments
-s72	i2	S64	S0	S255
-CustomAction	Action
-ISInitAllUsers	307	ALLUSERS	2	Initializes ALLUSERS property
-ISSelfRegisterCosting	1	ISSELFREG.DLL	ISSelfRegisterCosting	
-ISSelfRegisterFiles	1025	ISSELFREG.DLL	ISSelfRegisterFiles	
-ISSelfRegisterFinalize	1	ISSELFREG.DLL	ISSelfRegisterFinalize	
-ISUnSelfRegisterFiles	1025	ISSELFREG.DLL	ISUnSelfRegisterFiles	
-ResolveApacheInstances	257	NewBinary11	_ResolveApacheInstances@4	Initialize the INSTALLDIR combo to valid Apache paths
-setAllUsersProfile2K	51	ALLUSERSPROFILE	[%ALLUSERSPROFILE]	
-SetAllUsersProfileNT	51	ALLUSERSPROFILE	[%SystemRoot]\Profiles\All Users	
-SetApachePath	35	INSTALLDIR	[_BrowseProperty]	
-setUserProfileNT	51	USERPROFILE	[%USERPROFILE]	
-VerifyApachePath	1	NewBinary11	_VerifyApachePath@4	Test that INSTALLDIR is a valid Apache path
+Action	Type	Source	Target	ISComments
+s72	i2	S64	S0	S255
+CustomAction	Action
+ISInitAllUsers	307	ALLUSERS	2	Initializes ALLUSERS property
+ISSelfRegisterCosting	1	ISSELFREG.DLL	ISSelfRegisterCosting	
+ISSelfRegisterFiles	1025	ISSELFREG.DLL	ISSelfRegisterFiles	
+ISSelfRegisterFinalize	1	ISSELFREG.DLL	ISSelfRegisterFinalize	
+ISUnSelfRegisterFiles	1025	ISSELFREG.DLL	ISUnSelfRegisterFiles	
+ResolveApacheInstances	257	NewBinary11	_ResolveApacheInstances@4	Initialize the INSTALLDIR combo to valid Apache paths
+setAllUsersProfile2K	51	ALLUSERSPROFILE	[%ALLUSERSPROFILE]	
+SetAllUsersProfileNT	51	ALLUSERSPROFILE	[%SystemRoot]\Profiles\All Users	
+SetApachePath	35	INSTALLDIR	[_BrowseProperty]	
+setUserProfileNT	51	USERPROFILE	[%USERPROFILE]	
+VerifyApachePath	1	NewBinary11	_VerifyApachePath@4	Test that INSTALLDIR is a valid Apache path

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Dialog.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Dialog.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Dialog.idt	Fri Jul 16 09:27:17 2004
@@ -1,33 +1,33 @@
-Dialog	HCentering	VCentering	Width	Height	Attributes	Title	Control_First	Control_Default	Control_Cancel	ISComments	TextStyle_	ISWindowStyle	ISResourceId
-s72	i2	i2	i2	i2	I4	L128	s50	S50	S50	S255	S72	I4	I4
-Dialog	Dialog
-AdminChangeFolder	50	50	374	266	3	##IDS__IsAdminInstallBrowse_0##	Tail	OK	Cancel	Install Point Browse		0	
-AdminNetworkLocation	50	50	374	266	3	##IDS__IsAdminInstallPoint_0##	InstallNow	InstallNow	Cancel	Network Location		0	
-AdminWelcome	50	50	374	266	3	##IDS__IsAdminInstallPointWelcome_0##	Next	Next	Cancel	Administration Welcome		0	
-CancelSetup	50	50	260	85	3	##IDS__IsCancelDlg_0##	No	No	No	Cancel		0	
-CustomerInformation	50	50	374	266	3	##IDS__IsRegisterUserDlg_0##	Next	Next	Cancel	Identification		0	
-CustomSetup	50	50	374	266	35	##IDS__IsCustomSelectionDlg_0##	Tree	Next	Cancel	Custom Selection		0	
-CustomSetupTips	50	50	374	266	3	##IDS__SetupTips_0##	OK	OK	OK	Custom Setup Tips		0	
-DatabaseFolder	50	50	374	266	3	##IDS__DatabaseFolder_0##	Next	Next	Cancel	Database Folder		0	
-DestinationFolder	50	50	374	266	3	##IDS__DestinationFolder_0##	Next	Next	Cancel	Destination Folder		0	
-DiskSpaceRequirements	50	50	374	266	3	##IDS__IsFeatureDetailsDlg_0##	OK	OK	OK	Feature Details		0	
-FilesInUse	50	50	374	266	19	##IDS__IsFilesInUse_0##	Retry	Retry	Exit	Files in Use		0	
-InstallChangeFolder	50	50	374	266	3	##IDS__IsBrowseFolderDlg_0##	Tail	OK	Cancel	Browse		0	
-InstallWelcome	50	50	374	266	3	##IDS__IsWelcomeDlg_0##	Next	Next	Cancel	Welcome Panel		0	
-LicenseAgreement	50	50	374	266	2	##IDS__IsLicenseDlg_0##	Agree	Next	Cancel	License Agreement		0	
-MaintenanceType	50	50	374	266	3	##IDS__IsMaintenanceDlg_0##	RadioGroup	Next	Cancel	Change, Reinstall, Remove		0	
-MaintenanceWelcome	50	50	374	266	3	##IDS__IsMaintenanceWelcome_0##	Next	Next	Cancel	Maintenance Welcome		0	
-OutOfSpace	50	50	374	266	3	##IDS__IsDiskSpaceDlg_0##	Resume	Resume	Resume	Out Of Disk Space		0	
-PatchWelcome	50	50	374	266	3	##IDS__IsPatchDlg_0##	Next	Next	Cancel	Patch Panel		0	
-ReadyToInstall	50	50	374	266	35	##IDS__IsVerifyReadyDlg_0##	InstallNow	InstallNow	Cancel	Ready to Install		0	
-ReadyToRemove	50	50	374	266	3	##IDS__IsVerifyRemoveAllDlg_0##	RemoveNow	RemoveNow	Cancel	Verify Remove		0	
-SetupBadPath	50	10	270	110	7	##NEW_STRING1##	PushButton7	PushButton7	PushButton7	Path Error		0	
-SetupCompleteError	50	50	374	266	3	##IDS__IsFatalError_0##	Finish	Finish	Finish	Fatal Error		0	
-SetupCompleteSuccess	50	50	374	266	3	##IDS__IsExitDialog_0##	OK	OK	OK	Exit		0	
-SetupError	50	10	270	110	65543	##IDS__IsErrorDlg_0##	ErrorText	O	C	Error		0	
-SetupInitialization	50	50	374	266	5	##IDS__IsInitDlg_0##	Cancel	Cancel	Cancel	Setup Initialization		0	
-SetupInterrupted	50	50	374	266	3	##IDS__IsUserExit_0##	Finish	Finish	Finish	User Exit		0	
-SetupProgress	50	50	374	266	5	##IDS__IsProgressDlg_0##	Cancel	Cancel	Cancel	Progress		0	
-SetupResume	50	50	374	266	3	##IDS__IsResumeDlg_0##	Next	Next	Cancel	Resume		0	
-SetupType	50	50	374	266	3	##IDS__IsSetupTypeMinDlg_0##	RadioGroup	Next	Cancel	Setup Type		0	
-SplashBitmap	50	50	374	266	3	##IDS__IsBitmapDlg_0##	Next	Next	Cancel	Welcome Bitmap		0	
+Dialog	HCentering	VCentering	Width	Height	Attributes	Title	Control_First	Control_Default	Control_Cancel	ISComments	TextStyle_	ISWindowStyle	ISResourceId
+s72	i2	i2	i2	i2	I4	L128	s50	S50	S50	S255	S72	I4	I4
+Dialog	Dialog
+AdminChangeFolder	50	50	374	266	3	##IDS__IsAdminInstallBrowse_0##	Tail	OK	Cancel	Install Point Browse		0	
+AdminNetworkLocation	50	50	374	266	3	##IDS__IsAdminInstallPoint_0##	InstallNow	InstallNow	Cancel	Network Location		0	
+AdminWelcome	50	50	374	266	3	##IDS__IsAdminInstallPointWelcome_0##	Next	Next	Cancel	Administration Welcome		0	
+CancelSetup	50	50	260	85	3	##IDS__IsCancelDlg_0##	No	No	No	Cancel		0	
+CustomerInformation	50	50	374	266	3	##IDS__IsRegisterUserDlg_0##	Next	Next	Cancel	Identification		0	
+CustomSetup	50	50	374	266	35	##IDS__IsCustomSelectionDlg_0##	Tree	Next	Cancel	Custom Selection		0	
+CustomSetupTips	50	50	374	266	3	##IDS__SetupTips_0##	OK	OK	OK	Custom Setup Tips		0	
+DatabaseFolder	50	50	374	266	3	##IDS__DatabaseFolder_0##	Next	Next	Cancel	Database Folder		0	
+DestinationFolder	50	50	374	266	3	##IDS__DestinationFolder_0##	Next	Next	Cancel	Destination Folder		0	
+DiskSpaceRequirements	50	50	374	266	3	##IDS__IsFeatureDetailsDlg_0##	OK	OK	OK	Feature Details		0	
+FilesInUse	50	50	374	266	19	##IDS__IsFilesInUse_0##	Retry	Retry	Exit	Files in Use		0	
+InstallChangeFolder	50	50	374	266	3	##IDS__IsBrowseFolderDlg_0##	Tail	OK	Cancel	Browse		0	
+InstallWelcome	50	50	374	266	3	##IDS__IsWelcomeDlg_0##	Next	Next	Cancel	Welcome Panel		0	
+LicenseAgreement	50	50	374	266	2	##IDS__IsLicenseDlg_0##	Agree	Next	Cancel	License Agreement		0	
+MaintenanceType	50	50	374	266	3	##IDS__IsMaintenanceDlg_0##	RadioGroup	Next	Cancel	Change, Reinstall, Remove		0	
+MaintenanceWelcome	50	50	374	266	3	##IDS__IsMaintenanceWelcome_0##	Next	Next	Cancel	Maintenance Welcome		0	
+OutOfSpace	50	50	374	266	3	##IDS__IsDiskSpaceDlg_0##	Resume	Resume	Resume	Out Of Disk Space		0	
+PatchWelcome	50	50	374	266	3	##IDS__IsPatchDlg_0##	Next	Next	Cancel	Patch Panel		0	
+ReadyToInstall	50	50	374	266	35	##IDS__IsVerifyReadyDlg_0##	InstallNow	InstallNow	Cancel	Ready to Install		0	
+ReadyToRemove	50	50	374	266	3	##IDS__IsVerifyRemoveAllDlg_0##	RemoveNow	RemoveNow	Cancel	Verify Remove		0	
+SetupBadPath	50	10	270	110	7	##NEW_STRING1##	PushButton7	PushButton7	PushButton7	Path Error		0	
+SetupCompleteError	50	50	374	266	3	##IDS__IsFatalError_0##	Finish	Finish	Finish	Fatal Error		0	
+SetupCompleteSuccess	50	50	374	266	3	##IDS__IsExitDialog_0##	OK	OK	OK	Exit		0	
+SetupError	50	10	270	110	65543	##IDS__IsErrorDlg_0##	ErrorText	O	C	Error		0	
+SetupInitialization	50	50	374	266	5	##IDS__IsInitDlg_0##	Cancel	Cancel	Cancel	Setup Initialization		0	
+SetupInterrupted	50	50	374	266	3	##IDS__IsUserExit_0##	Finish	Finish	Finish	User Exit		0	
+SetupProgress	50	50	374	266	5	##IDS__IsProgressDlg_0##	Cancel	Cancel	Cancel	Progress		0	
+SetupResume	50	50	374	266	3	##IDS__IsResumeDlg_0##	Next	Next	Cancel	Resume		0	
+SetupType	50	50	374	266	3	##IDS__IsSetupTypeMinDlg_0##	RadioGroup	Next	Cancel	Setup Type		0	
+SplashBitmap	50	50	374	266	3	##IDS__IsBitmapDlg_0##	Next	Next	Cancel	Welcome Bitmap		0	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Directory.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Directory.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Directory.idt	Fri Jul 16 09:27:17 2004
@@ -1,27 +1,27 @@
-Directory	Directory_Parent	DefaultDir	ISDescription	ISAttributes
-s72	S72	l255	S255	I4
-Directory	Directory
-APACHE_ROOT	INSTALLDIR	.		0
-APACHE_GROUP	ProgramFilesFolder	.:APACHE~1|Apache Group		0
-APACHE_MODULES	APACHE	modules		0
-DesktopFolder	TARGETDIR	.:Desktop		0
-DOCS	INSTALLDIR	docs		0
-FontsFolder	TARGETDIR	.:Fonts		0
-GlobalAssemblyCache	TARGETDIR	.:Global~1|GlobalAssemblyCache		0
-HTML	DOCS	HTML		0
-INSTALLDIR	APACHE_GROUP	apache2		0
-LocalAppDataFolder	TARGETDIR	.:LocalA~1|LocalAppData		0
-MyPicturesFolder	TARGETDIR	.:MyPict~1|MyPictures		0
-PDF	DOCS	PDF		0
-PersonalFolder	TARGETDIR	.:Personal		0
-PrimaryVolumePath	TARGETDIR	.:Primar~1|PrimaryVolumePath		0
-ProgramFiles64Folder	TARGETDIR	.:Prog64~1|Program Files 64		0
-ProgramMenuFolder	TARGETDIR	.:Programs		3
-SendToFolder	TARGETDIR	.:SendTo		3
-StartMenuFolder	TARGETDIR	.:STARTM~1|Start Menu		3
-StartupFolder	TARGETDIR	.:StartUp		0
-System16Folder	TARGETDIR	.:System		0
-System64Folder	TARGETDIR	.:System64		0
-SystemFolder	TARGETDIR	.:System32		0
-TARGETDIR		SourceDir		0
-WindowsVolume	TARGETDIR	.:WinRoot		0
+Directory	Directory_Parent	DefaultDir	ISDescription	ISAttributes
+s72	S72	l255	S255	I4
+Directory	Directory
+APACHE_ROOT	INSTALLDIR	.		0
+APACHE_GROUP	ProgramFilesFolder	.:APACHE~1|Apache Group		0
+APACHE_MODULES	APACHE	modules		0
+DesktopFolder	TARGETDIR	.:Desktop		0
+DOCS	INSTALLDIR	docs		0
+FontsFolder	TARGETDIR	.:Fonts		0
+GlobalAssemblyCache	TARGETDIR	.:Global~1|GlobalAssemblyCache		0
+HTML	DOCS	HTML		0
+INSTALLDIR	APACHE_GROUP	apache2		0
+LocalAppDataFolder	TARGETDIR	.:LocalA~1|LocalAppData		0
+MyPicturesFolder	TARGETDIR	.:MyPict~1|MyPictures		0
+PDF	DOCS	PDF		0
+PersonalFolder	TARGETDIR	.:Personal		0
+PrimaryVolumePath	TARGETDIR	.:Primar~1|PrimaryVolumePath		0
+ProgramFiles64Folder	TARGETDIR	.:Prog64~1|Program Files 64		0
+ProgramMenuFolder	TARGETDIR	.:Programs		3
+SendToFolder	TARGETDIR	.:SendTo		3
+StartMenuFolder	TARGETDIR	.:STARTM~1|Start Menu		3
+StartupFolder	TARGETDIR	.:StartUp		0
+System16Folder	TARGETDIR	.:System		0
+System64Folder	TARGETDIR	.:System64		0
+SystemFolder	TARGETDIR	.:System32		0
+TARGETDIR		SourceDir		0
+WindowsVolume	TARGETDIR	.:WinRoot		0

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/DrLocator.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/DrLocator.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/DrLocator.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Signature_	Parent	Path	Depth
-s72	S72	S255	I2
-DrLocator	Signature_	Parent	Path
+Signature_	Parent	Path	Depth
+s72	S72	S255	I2
+DrLocator	Signature_	Parent	Path

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/DuplicateFile.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/DuplicateFile.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/DuplicateFile.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-FileKey	Component_	File_	DestName	DestFolder
-s72	s72	s72	L255	S32
-DuplicateFile	FileKey
+FileKey	Component_	File_	DestName	DestFolder
+s72	s72	s72	L255	S32
+DuplicateFile	FileKey

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Environment.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Environment.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Environment.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Environment	Name	Value	Component_
-s72	l255	L255	s72
-Environment	Environment
+Environment	Name	Value	Component_
+s72	l255	L255	s72
+Environment	Environment

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Error.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Error.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Error.idt	Fri Jul 16 09:27:17 2004
@@ -1,134 +1,134 @@
-Error	Message
-i2	L255
-Error	Error
-0	##IDS_ERROR_0##
-1	##IDS_ERROR_1##
-2	##IDS_ERROR_2##
-4	##IDS_ERROR_3##
-5	##IDS_ERROR_4##
-7	##IDS_ERROR_5##
-8	##IDS_ERROR_6##
-9	##IDS_ERROR_7##
-10	##IDS_ERROR_8##
-11	##IDS_ERROR_9##
-12	##IDS_ERROR_10##
-13	##IDS_ERROR_11##
-14	##IDS_ERROR_12##
-15	##IDS_ERROR_13##
-16	##IDS_ERROR_14##
-17	##IDS_ERROR_15##
-18	##IDS_ERROR_16##
-19	##IDS_ERROR_17##
-20	##IDS_ERROR_18##
-21	##IDS_ERROR_19##
-22	##IDS_ERROR_120##
-23	##IDS_ERROR_121##
-32	##IDS_ERROR_20##
-33	##IDS_ERROR_21##
-1101	##IDS_ERROR_22##
-1301	##IDS_ERROR_23##
-1302	##IDS_ERROR_24##
-1303	##IDS_ERROR_25##
-1304	##IDS_ERROR_26##
-1305	##IDS_ERROR_27##
-1306	##IDS_ERROR_28##
-1307	##IDS_ERROR_29##
-1308	##IDS_ERROR_30##
-1309	##IDS_ERROR_31##
-1310	##IDS_ERROR_32##
-1311	##IDS_ERROR_33##
-1312	##IDS_ERROR_34##
-1313	##IDS_ERROR_35##
-1314	##IDS_ERROR_36##
-1315	##IDS_ERROR_37##
-1316	##IDS_ERROR_38##
-1317	##IDS_ERROR_39##
-1318	##IDS_ERROR_40##
-1319	##IDS_ERROR_41##
-1320	##IDS_ERROR_42##
-1321	##IDS_ERROR_43##
-1322	##IDS_ERROR_44##
-1323	##IDS_ERROR_45##
-1324	##IDS_ERROR_46##
-1325	##IDS_ERROR_47##
-1326	##IDS_ERROR_48##
-1327	##IDS_ERROR_49##
-1328	##IDS_ERROR_122##
-1401	##IDS_ERROR_50##
-1402	##IDS_ERROR_51##
-1403	##IDS_ERROR_52##
-1404	##IDS_ERROR_53##
-1405	##IDS_ERROR_54##
-1406	##IDS_ERROR_55##
-1407	##IDS_ERROR_56##
-1408	##IDS_ERROR_57##
-1409	##IDS_ERROR_58##
-1410	##IDS_ERROR_59##
-1500	##IDS_ERROR_60##
-1501	##IDS_ERROR_61##
-1502	##IDS_ERROR_62##
-1503	##IDS_ERROR_63##
-1601	##IDS_ERROR_64##
-1602	##IDS_ERROR_65##
-1603	##IDS_ERROR_66##
-1604	##IDS_ERROR_67##
-1605	##IDS_ERROR_68##
-1606	##IDS_ERROR_69##
-1607	##IDS_ERROR_70##
-1608	##IDS_ERROR_71##
-1701	##IDS_ERROR_72##
-1702	##IDS_ERROR_73##
-1703	##IDS_ERROR_74##
-1704	##IDS_ERROR_75##
-1705	##IDS_ERROR_76##
-1706	##IDS_ERROR_77##
-1707	##IDS_ERROR_78##
-1708	##IDS_ERROR_79##
-1709	##IDS_ERROR_80##
-1710	##IDS_ERROR_81##
-1711	##IDS_ERROR_82##
-1712	##IDS_ERROR_83##
-1713	##IDS_ERROR_123##
-1714	##IDS_ERROR_124##
-1801	##IDS_ERROR_84##
-1802	##IDS_ERROR_85##
-1803	##IDS_ERROR_86##
-1804	##IDS_ERROR_87##
-1805	##IDS_ERROR_88##
-1806	##IDS_ERROR_89##
-1807	##IDS_ERROR_90##
-1901	##IDS_ERROR_91##
-1902	##IDS_ERROR_92##
-1903	##IDS_ERROR_93##
-1904	##IDS_ERROR_94##
-1905	##IDS_ERROR_95##
-1906	##IDS_ERROR_96##
-1907	##IDS_ERROR_97##
-1908	##IDS_ERROR_98##
-1909	##IDS_ERROR_99##
-1910	##IDS_ERROR_100##
-1911	##IDS_ERROR_101##
-1912	##IDS_ERROR_102##
-1913	##IDS_ERROR_103##
-1914	##IDS_ERROR_104##
-1915	##IDS_ERROR_105##
-1916	##IDS_ERROR_106##
-1917	##IDS_ERROR_107##
-1918	##IDS_ERROR_108##
-1919	##IDS_ERROR_109##
-1920	##IDS_ERROR_110##
-1921	##IDS_ERROR_111##
-1922	##IDS_ERROR_112##
-1923	##IDS_ERROR_113##
-1924	##IDS_ERROR_114##
-1925	##IDS_ERROR_115##
-1926	##IDS_ERROR_116##
-1927	##IDS_ERROR_117##
-1928	##IDS_ERROR_118##
-1929	##IDS_ERROR_119##
-1930	##IDS_ERROR_125##
-1931	##IDS_ERROR_126##
-1932	##IDS_ERROR_127##
-1933	##IDS_ERROR_128##
-1934	##IDS_ERROR_129##
-25000	##ID_STRING2##
+Error	Message
+i2	L255
+Error	Error
+0	##IDS_ERROR_0##
+1	##IDS_ERROR_1##
+2	##IDS_ERROR_2##
+4	##IDS_ERROR_3##
+5	##IDS_ERROR_4##
+7	##IDS_ERROR_5##
+8	##IDS_ERROR_6##
+9	##IDS_ERROR_7##
+10	##IDS_ERROR_8##
+11	##IDS_ERROR_9##
+12	##IDS_ERROR_10##
+13	##IDS_ERROR_11##
+14	##IDS_ERROR_12##
+15	##IDS_ERROR_13##
+16	##IDS_ERROR_14##
+17	##IDS_ERROR_15##
+18	##IDS_ERROR_16##
+19	##IDS_ERROR_17##
+20	##IDS_ERROR_18##
+21	##IDS_ERROR_19##
+22	##IDS_ERROR_120##
+23	##IDS_ERROR_121##
+32	##IDS_ERROR_20##
+33	##IDS_ERROR_21##
+1101	##IDS_ERROR_22##
+1301	##IDS_ERROR_23##
+1302	##IDS_ERROR_24##
+1303	##IDS_ERROR_25##
+1304	##IDS_ERROR_26##
+1305	##IDS_ERROR_27##
+1306	##IDS_ERROR_28##
+1307	##IDS_ERROR_29##
+1308	##IDS_ERROR_30##
+1309	##IDS_ERROR_31##
+1310	##IDS_ERROR_32##
+1311	##IDS_ERROR_33##
+1312	##IDS_ERROR_34##
+1313	##IDS_ERROR_35##
+1314	##IDS_ERROR_36##
+1315	##IDS_ERROR_37##
+1316	##IDS_ERROR_38##
+1317	##IDS_ERROR_39##
+1318	##IDS_ERROR_40##
+1319	##IDS_ERROR_41##
+1320	##IDS_ERROR_42##
+1321	##IDS_ERROR_43##
+1322	##IDS_ERROR_44##
+1323	##IDS_ERROR_45##
+1324	##IDS_ERROR_46##
+1325	##IDS_ERROR_47##
+1326	##IDS_ERROR_48##
+1327	##IDS_ERROR_49##
+1328	##IDS_ERROR_122##
+1401	##IDS_ERROR_50##
+1402	##IDS_ERROR_51##
+1403	##IDS_ERROR_52##
+1404	##IDS_ERROR_53##
+1405	##IDS_ERROR_54##
+1406	##IDS_ERROR_55##
+1407	##IDS_ERROR_56##
+1408	##IDS_ERROR_57##
+1409	##IDS_ERROR_58##
+1410	##IDS_ERROR_59##
+1500	##IDS_ERROR_60##
+1501	##IDS_ERROR_61##
+1502	##IDS_ERROR_62##
+1503	##IDS_ERROR_63##
+1601	##IDS_ERROR_64##
+1602	##IDS_ERROR_65##
+1603	##IDS_ERROR_66##
+1604	##IDS_ERROR_67##
+1605	##IDS_ERROR_68##
+1606	##IDS_ERROR_69##
+1607	##IDS_ERROR_70##
+1608	##IDS_ERROR_71##
+1701	##IDS_ERROR_72##
+1702	##IDS_ERROR_73##
+1703	##IDS_ERROR_74##
+1704	##IDS_ERROR_75##
+1705	##IDS_ERROR_76##
+1706	##IDS_ERROR_77##
+1707	##IDS_ERROR_78##
+1708	##IDS_ERROR_79##
+1709	##IDS_ERROR_80##
+1710	##IDS_ERROR_81##
+1711	##IDS_ERROR_82##
+1712	##IDS_ERROR_83##
+1713	##IDS_ERROR_123##
+1714	##IDS_ERROR_124##
+1801	##IDS_ERROR_84##
+1802	##IDS_ERROR_85##
+1803	##IDS_ERROR_86##
+1804	##IDS_ERROR_87##
+1805	##IDS_ERROR_88##
+1806	##IDS_ERROR_89##
+1807	##IDS_ERROR_90##
+1901	##IDS_ERROR_91##
+1902	##IDS_ERROR_92##
+1903	##IDS_ERROR_93##
+1904	##IDS_ERROR_94##
+1905	##IDS_ERROR_95##
+1906	##IDS_ERROR_96##
+1907	##IDS_ERROR_97##
+1908	##IDS_ERROR_98##
+1909	##IDS_ERROR_99##
+1910	##IDS_ERROR_100##
+1911	##IDS_ERROR_101##
+1912	##IDS_ERROR_102##
+1913	##IDS_ERROR_103##
+1914	##IDS_ERROR_104##
+1915	##IDS_ERROR_105##
+1916	##IDS_ERROR_106##
+1917	##IDS_ERROR_107##
+1918	##IDS_ERROR_108##
+1919	##IDS_ERROR_109##
+1920	##IDS_ERROR_110##
+1921	##IDS_ERROR_111##
+1922	##IDS_ERROR_112##
+1923	##IDS_ERROR_113##
+1924	##IDS_ERROR_114##
+1925	##IDS_ERROR_115##
+1926	##IDS_ERROR_116##
+1927	##IDS_ERROR_117##
+1928	##IDS_ERROR_118##
+1929	##IDS_ERROR_119##
+1930	##IDS_ERROR_125##
+1931	##IDS_ERROR_126##
+1932	##IDS_ERROR_127##
+1933	##IDS_ERROR_128##
+1934	##IDS_ERROR_129##
+25000	##ID_STRING2##

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/EventMapping.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/EventMapping.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/EventMapping.idt	Fri Jul 16 09:27:17 2004
@@ -1,18 +1,18 @@
-Dialog_	Control_	Event	Attribute
-s72	s50	s50	s50
-EventMapping	Dialog_	Control_	Event
-CustomSetup	ItemDescription	SelectionDescription	Text
-CustomSetup	Location	SelectionPath	Text
-CustomSetup	Size	SelectionSize	Text
-SetupInitialization	ActionData	ActionData	Text
-SetupInitialization	ActionText	ActionText	Text
-SetupProgress	ActionProgress95	AdminInstallFinalize	Progress
-SetupProgress	ActionProgress95	InstallFiles	Progress
-SetupProgress	ActionProgress95	MoveFiles	Progress
-SetupProgress	ActionProgress95	RemoveFiles	Progress
-SetupProgress	ActionProgress95	RemoveRegistryValues	Progress
-SetupProgress	ActionProgress95	SetProgress	Progress
-SetupProgress	ActionProgress95	UnmoveFiles	Progress
-SetupProgress	ActionProgress95	WriteIniValues	Progress
-SetupProgress	ActionProgress95	WriteRegistryValues	Progress
-SetupProgress	ActionText	ActionText	Text
+Dialog_	Control_	Event	Attribute
+s72	s50	s50	s50
+EventMapping	Dialog_	Control_	Event
+CustomSetup	ItemDescription	SelectionDescription	Text
+CustomSetup	Location	SelectionPath	Text
+CustomSetup	Size	SelectionSize	Text
+SetupInitialization	ActionData	ActionData	Text
+SetupInitialization	ActionText	ActionText	Text
+SetupProgress	ActionProgress95	AdminInstallFinalize	Progress
+SetupProgress	ActionProgress95	InstallFiles	Progress
+SetupProgress	ActionProgress95	MoveFiles	Progress
+SetupProgress	ActionProgress95	RemoveFiles	Progress
+SetupProgress	ActionProgress95	RemoveRegistryValues	Progress
+SetupProgress	ActionProgress95	SetProgress	Progress
+SetupProgress	ActionProgress95	UnmoveFiles	Progress
+SetupProgress	ActionProgress95	WriteIniValues	Progress
+SetupProgress	ActionProgress95	WriteRegistryValues	Progress
+SetupProgress	ActionText	ActionText	Text

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Extension.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Extension.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Extension.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Extension	Component_	ProgId_	MIME_	Feature_
-s255	s72	S255	S64	s38
-Extension	Extension	Component_
+Extension	Component_	ProgId_	MIME_	Feature_
+s255	s72	S255	S64	s38
+Extension	Extension	Component_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Feature.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Feature.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Feature.idt	Fri Jul 16 09:27:17 2004
@@ -1,4 +1,4 @@
-Feature	Feature_Parent	Title	Description	Display	Level	Directory_	Attributes	ISReleaseFlags	ISComments
-s38	S38	L64	L255	I2	i2	S72	i2	S255	S255
-Feature	Feature
-mod_aspdotnet		##FEATURE_NAME##	##FEATURE_DESC##	3	1	INSTALLDIR	24		Enter comments regarding this feature here.
+Feature	Feature_Parent	Title	Description	Display	Level	Directory_	Attributes	ISReleaseFlags	ISComments
+s38	S38	L64	L255	I2	i2	S72	i2	S255	S255
+Feature	Feature
+mod_aspdotnet		##FEATURE_NAME##	##FEATURE_DESC##	3	1	INSTALLDIR	24		Enter comments regarding this feature here.

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/FeatureComponents.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/FeatureComponents.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/FeatureComponents.idt	Fri Jul 16 09:27:17 2004
@@ -1,5 +1,5 @@
-Feature_	Component_
-s38	s72
-FeatureComponents	Feature_	Component_
-mod_aspdotnet	Apache.Web
-mod_aspdotnet	mod_aspdotnet.so
+Feature_	Component_
+s38	s72
+FeatureComponents	Feature_	Component_
+mod_aspdotnet	Apache.Web
+mod_aspdotnet	mod_aspdotnet.so

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/File.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/File.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/File.idt	Fri Jul 16 09:27:17 2004
@@ -1,6 +1,6 @@
-File	Component_	FileName	FileSize	Version	Language	Attributes	Sequence	ISBuildSourcePath	ISAttributes
-s72	s72	s255	i4	S72	S20	I2	i2	S255	I4
-File	File
-Apache.Web.dll	Apache.Web	APACHE~1.DLL|Apache.Web.dll	0			512	1	<ISProjectFolder>\release\Apache.Web.dll	1
-Apache.Web.Helpers.netmodu	Apache.Web	APACHE~1.NET|Apache.Web.Helpers.netmodule	0				1	<ISProjectFolder>\release\Apache.Web.Helpers.netmodule	1
-mod_aspdotnet.so	mod_aspdotnet.so	MOD_AS~1.SO|mod_aspdotnet.so	0			0	1	<ISProjectFolder>\release\mod_aspdotnet.so	1
+File	Component_	FileName	FileSize	Version	Language	Attributes	Sequence	ISBuildSourcePath	ISAttributes
+s72	s72	s255	i4	S72	S20	I2	i2	S255	I4
+File	File
+Apache.Web.dll	Apache.Web	APACHE~1.DLL|Apache.Web.dll	0			512	1	<ISProjectFolder>\release\Apache.Web.dll	1
+Apache.Web.Helpers.netmodu	Apache.Web	APACHE~1.NET|Apache.Web.Helpers.netmodule	0				1	<ISProjectFolder>\release\Apache.Web.Helpers.netmodule	1
+mod_aspdotnet.so	mod_aspdotnet.so	MOD_AS~1.SO|mod_aspdotnet.so	0			0	1	<ISProjectFolder>\release\mod_aspdotnet.so	1

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/FileSFPCatalog.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/FileSFPCatalog.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/FileSFPCatalog.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-File_	SFPCatalog_
-s72	s255
-FileSFPCatalog	File_	SFPCatalog_
+File_	SFPCatalog_
+s72	s255
+FileSFPCatalog	File_	SFPCatalog_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Font.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Font.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Font.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-File_	FontTitle
-s72	S128
-Font	File_
+File_	FontTitle
+s72	S128
+Font	File_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISComponentExtended.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISComponentExtended.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISComponentExtended.idt	Fri Jul 16 09:27:17 2004
@@ -1,6 +1,6 @@
-Component_	OS	Language	FilterProperty
-s72	I4	S0	s72
-ISComponentExtended	Component_
-Apache.Web			_A19D17B5_68F0_4170_8BFD_6334E5F3CDEE_FILTER
-html_docs			_2D798142_97A8_40D0_B28D_1C72F2B3A710_FILTER
-mod_aspdotnet.so			_00646B0C_1EA0_4FEE_A560_8FDA43CAD89A_FILTER
+Component_	OS	Language	FilterProperty
+s72	I4	S0	s72
+ISComponentExtended	Component_
+Apache.Web			_A19D17B5_68F0_4170_8BFD_6334E5F3CDEE_FILTER
+html_docs			_2D798142_97A8_40D0_B28D_1C72F2B3A710_FILTER
+mod_aspdotnet.so			_00646B0C_1EA0_4FEE_A560_8FDA43CAD89A_FILTER

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDLLWrapper.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDLLWrapper.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDLLWrapper.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-EntryPoint	Type	Source	Target
-s72	I4	s0	s255
-ISDLLWrapper	EntryPoint
+EntryPoint	Type	Source	Target
+s72	I4	s0	s255
+ISDLLWrapper	EntryPoint

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDependency.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDependency.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDependency.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ISDependency	Exclude
-S50	I2
-ISDependency	ISDependency
+ISDependency	Exclude
+S50	I2
+ISDependency	ISDependency

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDisk1File.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDisk1File.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDisk1File.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ISDisk1File	ISBuildSourcePath
-s72	s255
-ISDisk1File	ISDisk1File
+ISDisk1File	ISBuildSourcePath
+s72	s255
+ISDisk1File	ISDisk1File

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDynamicFile.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDynamicFile.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISDynamicFile.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Component_	SourceFolder	IncludeFlags	IncludeFiles	ExcludeFiles	ISAttributes
-s72	s255	I2	S255	S255	I4
-ISDynamicFile	Component_	SourceFolder
+Component_	SourceFolder	IncludeFlags	IncludeFiles	ExcludeFiles	ISAttributes
+s72	s255	I2	S255	S255	I4
+ISDynamicFile	Component_	SourceFolder

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISFeatureMergeModules.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISFeatureMergeModules.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISFeatureMergeModules.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Feature_	ISMergeModule_	Language_
-s38	s255	i2
-ISFeatureMergeModules	Feature_	ISMergeModule_	Language_
+Feature_	ISMergeModule_	Language_
+s38	s255	i2
+ISFeatureMergeModules	Feature_	ISMergeModule_	Language_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISInstallScriptAction.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISInstallScriptAction.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISInstallScriptAction.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-EntryPoint	Type	Source	Target
-s72	I4	s72	S255
-ISInstallScriptAction	EntryPoint
+EntryPoint	Type	Source	Target
+s72	I4	s72	S255
+ISInstallScriptAction	EntryPoint

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLanguage.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLanguage.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLanguage.idt	Fri Jul 16 09:27:17 2004
@@ -1,4 +1,4 @@
-ISLanguage	Included
-s50	I2
-ISLanguage	ISLanguage
-1033	1
+ISLanguage	Included
+s50	I2
+ISLanguage	ISLanguage
+1033	1

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLinkerLibrary.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLinkerLibrary.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLinkerLibrary.idt	Fri Jul 16 09:27:17 2004
@@ -1,6 +1,6 @@
-ISLinkerLibrary	Library	Order
-s72	s255	i4
-ISLinkerLibrary	ISLinkerLibrary
-_IfxObl	<ISProductFolder>\Script\ifx\Lib\ifx.obl	3
-_IsrtObl	<ISProductFolder>\Script\ISRT\Lib\isrt.obl	2
-_IswiObl	<ISProductFolder>\Script\ISWi\Lib\iswi.obl	1
+ISLinkerLibrary	Library	Order
+s72	s255	i4
+ISLinkerLibrary	ISLinkerLibrary
+_IfxObl	<ISProductFolder>\Script\ifx\Lib\ifx.obl	3
+_IsrtObl	<ISProductFolder>\Script\ISRT\Lib\isrt.obl	2
+_IswiObl	<ISProductFolder>\Script\ISWi\Lib\iswi.obl	1

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLocalControl.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLocalControl.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLocalControl.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Dialog_	Control_	ISLanguage_	Attributes	X	Y	Width	Height	Binary_	ISBuildSourcePath
-s72	s50	s50	I4	I2	I2	I2	I2	S50	S255
-ISLocalControl	Dialog_	Control_	ISLanguage_
+Dialog_	Control_	ISLanguage_	Attributes	X	Y	Width	Height	Binary_	ISBuildSourcePath
+s72	s50	s50	I4	I2	I2	I2	I2	S50	S255
+ISLocalControl	Dialog_	Control_	ISLanguage_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLocalDialog.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLocalDialog.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLocalDialog.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Dialog_	ISLanguage_	Attributes	TextStyle_	Width	Height
-S50	S50	I4	S72	i2	i2
-ISLocalDialog	Dialog_	ISLanguage_
+Dialog_	ISLanguage_	Attributes	TextStyle_	Width	Height
+S50	S50	I4	S72	i2	i2
+ISLocalDialog	Dialog_	ISLanguage_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLogicalDisk.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLogicalDisk.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLogicalDisk.idt	Fri Jul 16 09:27:17 2004
@@ -1,4 +1,4 @@
-DiskId	ISProductConfiguration_	ISRelease_	LastSequence	DiskPrompt	Cabinet	VolumeLabel	Source
-i2	s255	s255	i2	L64	S255	S32	S32
-ISLogicalDisk	DiskId	ISProductConfiguration_	ISRelease_
-1	mod_aspdotnet	x86-winnt	0				
+DiskId	ISProductConfiguration_	ISRelease_	LastSequence	DiskPrompt	Cabinet	VolumeLabel	Source
+i2	s255	s255	i2	L64	S255	S32	S32
+ISLogicalDisk	DiskId	ISProductConfiguration_	ISRelease_
+1	mod_aspdotnet	x86-winnt	0				

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLogicalDiskFeatures.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLogicalDiskFeatures.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISLogicalDiskFeatures.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ISLogicalDisk_	ISProductConfiguration_	ISRelease_	Feature_	Sequence	ISAttributes
-i2	s255	s255	S38	i2	I4
-ISLogicalDiskFeatures	ISLogicalDisk_	ISProductConfiguration_	ISRelease_	Feature_
+ISLogicalDisk_	ISProductConfiguration_	ISRelease_	Feature_	Sequence	ISAttributes
+i2	s255	s255	S38	i2	I4
+ISLogicalDiskFeatures	ISLogicalDisk_	ISProductConfiguration_	ISRelease_	Feature_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISMergeModule.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISMergeModule.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISMergeModule.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ISMergeModule	Language	Name	Destination
-s255	i2	s255	S255
-ISMergeModule	ISMergeModule	Language
+ISMergeModule	Language	Name	Destination
+s255	i2	s255	S255
+ISMergeModule	ISMergeModule	Language

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISObject.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISObject.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISObject.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ObjectName	Language
-s50	s15
-ISObject	ObjectName
+ObjectName	Language
+s50	s15
+ISObject	ObjectName

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISObjectProperty.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISObjectProperty.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISObjectProperty.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ObjectName	Property	Value	IncludeInBuild
-S50	S50	S0	I2
-ISObjectProperty	ObjectName	Property
+ObjectName	Property	Value	IncludeInBuild
+S50	S50	S0	I2
+ISObjectProperty	ObjectName	Property

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISPathVariable.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISPathVariable.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISPathVariable.idt	Fri Jul 16 09:27:17 2004
@@ -1,13 +1,13 @@
-ISPathVariable	Value	TestValue	Type
-s32	S255	S255	i4
-ISPathVariable	ISPathVariable
-Apache.Web	Apache.Web\Apache.Web.vcproj		2
-CommonFilesFolder			1
-ISProductFolder			1
-ISProjectDataFolder			1
-ISProjectFolder			1
-mod_aspdotnet	mod\mod_aspdotnet.vcproj		2
-Objects	Release		2
-ProgramFilesFolder			1
-SystemFolder			1
-WindowsFolder			1
+ISPathVariable	Value	TestValue	Type
+s32	S255	S255	i4
+ISPathVariable	ISPathVariable
+Apache.Web	Apache.Web\Apache.Web.vcproj		2
+CommonFilesFolder			1
+ISProductFolder			1
+ISProjectDataFolder			1
+ISProjectFolder			1
+mod_aspdotnet	mod\mod_aspdotnet.vcproj		2
+Objects	Release		2
+ProgramFilesFolder			1
+SystemFolder			1
+WindowsFolder			1

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISProductConfiguration.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISProductConfiguration.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISProductConfiguration.idt	Fri Jul 16 09:27:17 2004
@@ -1,5 +1,5 @@
-ISProductConfiguration	ProductConfigurationFlags	GeneratePackageCode
-s72	S255	I4
-ISProductConfiguration	ISProductConfiguration
-Default Configuration		0
-mod_aspdotnet		0
+ISProductConfiguration	ProductConfigurationFlags	GeneratePackageCode
+s72	S255	I4
+ISProductConfiguration	ISProductConfiguration
+Default Configuration		0
+mod_aspdotnet		0

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISProductConfigurationProperty.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISProductConfigurationProperty.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISProductConfigurationProperty.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ISProductConfiguration_	Property	Value
-s72	s72	L255
-ISProductConfigurationProperty	ISProductConfiguration_	Property
+ISProductConfiguration_	Property	Value
+s72	s72	L255
+ISProductConfigurationProperty	ISProductConfiguration_	Property

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISRelease.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISRelease.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISRelease.idt	Fri Jul 16 09:27:17 2004
@@ -1,6 +1,6 @@
-ISRelease	ISProductConfiguration_	BuildLocation	PackageName	Type	SupportedLanguagesUI	MsiSourceType	ReleaseType	Platforms	SupportedLanguagesData	DefaultLanguage	SupportedOSs	DiskSize	DiskSizeUnit	DiskClusterSize	ReleaseFlags	DiskSpanning	SynchMsi	MediaLocation	URLLocation	DigitalURL	DigitalPVK	DigitalSPC	Password	VersionCopyright	Attributes	CDBrowser	DotNetBuildConfiguration	MsiCommandLine
-s72	s72	s255	s255	i4	s255	i4	i4	s72	S255	s6	i4	s50	i4	i4	S255	i4	S255	s255	S255	S255	S255	S255	S255	S255	i4	S255	S255	S255
-ISRelease	ISRelease	ISProductConfiguration_
-Debug	Default Configuration	<ISProjectFolder>\Debug	PackageName	1	1033	2	2	Intel		1033	3	0	0	0		0		MediaLocation		http://					75789			
-Release	Default Configuration	<ISProjectFolder>\Release	PackageName	1	1033	2	2	Intel		1033	3	0	0	0		0		MediaLocation		http://					75789			
-x86-winnt	mod_aspdotnet	<ISProjectFolder>\Release	PackageName	1	1033	2	1	Intel		1033	0	0	1	0		0		MediaLocation		http://					139276			
+ISRelease	ISProductConfiguration_	BuildLocation	PackageName	Type	SupportedLanguagesUI	MsiSourceType	ReleaseType	Platforms	SupportedLanguagesData	DefaultLanguage	SupportedOSs	DiskSize	DiskSizeUnit	DiskClusterSize	ReleaseFlags	DiskSpanning	SynchMsi	MediaLocation	URLLocation	DigitalURL	DigitalPVK	DigitalSPC	Password	VersionCopyright	Attributes	CDBrowser	DotNetBuildConfiguration	MsiCommandLine
+s72	s72	s255	s255	i4	s255	i4	i4	s72	S255	s6	i4	s50	i4	i4	S255	i4	S255	s255	S255	S255	S255	S255	S255	S255	i4	S255	S255	S255
+ISRelease	ISRelease	ISProductConfiguration_
+Debug	Default Configuration	<ISProjectFolder>\Debug	PackageName	1	1033	2	2	Intel		1033	3	0	0	0		0		MediaLocation		http://					75789			
+Release	Default Configuration	<ISProjectFolder>\Release	PackageName	1	1033	2	2	Intel		1033	3	0	0	0		0		MediaLocation		http://					75789			
+x86-winnt	mod_aspdotnet	<ISProjectFolder>\Release	PackageName	1	1033	2	1	Intel		1033	0	0	1	0		0		MediaLocation		http://					139276			

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISReleaseExtended.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISReleaseExtended.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISReleaseExtended.idt	Fri Jul 16 09:27:17 2004
@@ -1,7 +1,7 @@
-ISRelease_	ISProductConfiguration_	WebType	WebURL	WebCabSize	OneClickCabName	OneClickHtmlName	WebLocalCachePath	EngineLocation	Win9xMsiUrl	WinNTMsiUrl	ISEngineLocation	ISEngineURL	OneClickTargetBrowser	DigitalCertificateIdNS	DigitalCertificateDBaseNS	DigitalCertificatePasswordNS	DotNetRedistLocation	DotNetRedistURL
-s72	s72	I4	S255	I4	S255	S255	S255	I4	S255	S255	I4	S255	I4	S255	S255	S255	I4	S255
-ISReleaseExtended	ISRelease_	ISProductConfiguration_
-.msi Installer	mod_aspdotnet	0	http://	0	install	install	[WindowsFolder]Downloaded Installations	0	http://www.installengine.com/Msiengine20	http://www.installengine.com/Msiengine20	0	http://www.installengine.com/cert02/isengine					3	http://www.installengine.com/cert02/dotnetfx
-Debug	Default Configuration	0	http://	0	install	install	[WindowsFolder]Downloaded Installations	0	http://www.installengine.com/Msiengine20	http://www.installengine.com/Msiengine20	0	http://www.installengine.com/cert02/isengine					3	http://www.installengine.com/cert02/dotnetfx
-Release	Default Configuration	0	http://	0	install	install	[WindowsFolder]Downloaded Installations	0	http://www.installengine.com/Msiengine20	http://www.installengine.com/Msiengine20	0	http://www.installengine.com/cert02/isengine					3	http://www.installengine.com/cert02/dotnetfx
-x86-winnt	mod_aspdotnet	0	http://	0	install	install	[WindowsFolder]Downloaded Installations	0	http://www.installengine.com/Msiengine20	http://www.installengine.com/Msiengine20	0	http://www.installengine.com/cert02/isengine					3	http://www.installengine.com/cert02/dotnetfx
+ISRelease_	ISProductConfiguration_	WebType	WebURL	WebCabSize	OneClickCabName	OneClickHtmlName	WebLocalCachePath	EngineLocation	Win9xMsiUrl	WinNTMsiUrl	ISEngineLocation	ISEngineURL	OneClickTargetBrowser	DigitalCertificateIdNS	DigitalCertificateDBaseNS	DigitalCertificatePasswordNS	DotNetRedistLocation	DotNetRedistURL
+s72	s72	I4	S255	I4	S255	S255	S255	I4	S255	S255	I4	S255	I4	S255	S255	S255	I4	S255
+ISReleaseExtended	ISRelease_	ISProductConfiguration_
+.msi Installer	mod_aspdotnet	0	http://	0	install	install	[WindowsFolder]Downloaded Installations	0	http://www.installengine.com/Msiengine20	http://www.installengine.com/Msiengine20	0	http://www.installengine.com/cert02/isengine					3	http://www.installengine.com/cert02/dotnetfx
+Debug	Default Configuration	0	http://	0	install	install	[WindowsFolder]Downloaded Installations	0	http://www.installengine.com/Msiengine20	http://www.installengine.com/Msiengine20	0	http://www.installengine.com/cert02/isengine					3	http://www.installengine.com/cert02/dotnetfx
+Release	Default Configuration	0	http://	0	install	install	[WindowsFolder]Downloaded Installations	0	http://www.installengine.com/Msiengine20	http://www.installengine.com/Msiengine20	0	http://www.installengine.com/cert02/isengine					3	http://www.installengine.com/cert02/dotnetfx
+x86-winnt	mod_aspdotnet	0	http://	0	install	install	[WindowsFolder]Downloaded Installations	0	http://www.installengine.com/Msiengine20	http://www.installengine.com/Msiengine20	0	http://www.installengine.com/cert02/isengine					3	http://www.installengine.com/cert02/dotnetfx

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISScriptFile.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISScriptFile.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISScriptFile.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ISScriptFile
-s255
-ISScriptFile	ISScriptFile
+ISScriptFile
+s255
+ISScriptFile	ISScriptFile

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISSelfReg.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISSelfReg.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISSelfReg.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-FileKey	Cost	Order	CmdLine
-s72	I2	I2	S50
-ISSelfReg	FileKey
+FileKey	Cost	Order	CmdLine
+s72	I2	I2	S50
+ISSelfReg	FileKey

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISSetupFile.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISSetupFile.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISSetupFile.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ISSetupFile	FileName	Stream	Language	Splash	Path
-s72	S255	V0	S50	I2	S0
-ISSetupFile	ISSetupFile
+ISSetupFile	FileName	Stream	Language	Splash	Path
+s72	S255	V0	S50	I2	S0
+ISSetupFile	ISSetupFile

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISStorages.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISStorages.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISStorages.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Name	ISBuildSourcePath
-s72	S0
-ISStorages	Name
+Name	ISBuildSourcePath
+s72	S0
+ISStorages	Name

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISString.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISString.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISString.idt	Fri Jul 16 09:27:17 2004
@@ -1,791 +1,791 @@
-ISString	ISLanguage_	Value	Encoded	Comment	TimeStamp
-s255	s50	S0	I2	S0	I4
-ISString	ISString	ISLanguage_
-COMPANY_NAME	1033	The Apache Software Foundation	0		-1021924763
-COMPANY_URI	1033	http://httpd.apache.org/	0		605450580
-DN_AlwaysInstall	1033	Always Install	0		-1021924763
-FEATURE_DESC	1033	Microsoft ASP.NET support module for Apache httpd Web Server	0		739664554
-FEATURE_NAME	1033	Apache mod_aspdotnet	0		605430132
-ID_STRING1	1033	No comment	0		0
-ID_STRING2	1033	The install path must be an installed Apache httpd Web Server path. [1] was not a valid path to Apache.	0		1687578668
-IDPROP_ARPCOMMENTS	1033	Your Comments	0		-1021924763
-IDPROP_ARPCONTACT	1033	Customer Support Department	0		-1021924763
-IDPROP_ARPHELPLINK	1033	http://www.yourcompany.com/help	0		-1021924763
-IDPROP_ARPHELPTELEPHONE	1033	1-555-555-4505	0		-1021924763
-IDPROP_ARPURLINFOABOUT	1033	http://www.yourcompany.com	0		-1021924763
-IDPROP_ARPURLUPDATEINFO	1033	http://www.yourcompany.com/updateinfo	0		-1021924763
-IDPROP_EXPRESS_LAUNCH_CONDITION_COLOR	1033	The color settings of your system are not adequate for running [ProductName].	0		-1021924763
-IDPROP_EXPRESS_LAUNCH_CONDITION_OS	1033	The operating system is not adequate for running [ProductName].	0		-1021924763
-IDPROP_EXPRESS_LAUNCH_CONDITION_PROCESSOR	1033	The processor is not adequate for running [ProductName].	0		-1021924763
-IDPROP_EXPRESS_LAUNCH_CONDITION_RAM	1033	The amount of RAM is not adequate for running [ProductName].	0		-1021924763
-IDPROP_EXPRESS_LAUNCH_CONDITION_SCREEN	1033	The screen resolution is not adequate for running [ProductName].	0		-1021924763
-IDPROP_SETUPTYPE_COMPACT	1033	Compact	0		-1021924763
-IDPROP_SETUPTYPE_COMPACT_DESC	1033	Compact Description	0		-1021924763
-IDPROP_SETUPTYPE_CUSTOM	1033	Custom	0		-1021924763
-IDPROP_SETUPTYPE_CUSTOM_DESC	1033	Custom Description	0		-1021924763
-IDPROP_SETUPTYPE_TYPICAL	1033	Typical	0		-1021924763
-IDPROP_SETUPTYPE_TYPICAL_DESC	1033	Typical Description	0		-1021924763
-IDS__AgreeToLicense_0	1033	I &do not accept the terms in the license agreement	0		-1021924763
-IDS__AgreeToLicense_1	1033	I &accept the terms in the license agreement	0		-1021924763
-IDS__DatabaseFolder_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__DatabaseFolder_1	1033	Cancel	0		-1021924763
-IDS__DatabaseFolder_10	1033	Install [ProductName] database to:	0		-1021924763
-IDS__DatabaseFolder_11	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__DatabaseFolder_12	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibd	0		-1021924763
-IDS__DatabaseFolder_2	1033	InstallShield	0		-1021924763
-IDS__DatabaseFolder_3	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__DatabaseFolder_4	1033	Click Next to install to this folder, or click Change to install to a different folder.	0		-1021924763
-IDS__DatabaseFolder_5	1033	{&MSSansBold8}Database Folder	0		-1021924763
-IDS__DatabaseFolder_6	1033	< &Back	0		-1021924763
-IDS__DatabaseFolder_7	1033	&Next >	0		-1021924763
-IDS__DatabaseFolder_8	1033	&Change...	0		-1021924763
-IDS__DatabaseFolder_9	1033	[DATABASEDIR]	0		-1021924763
-IDS__DestinationFolder_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__DestinationFolder_1	1033	Cancel	0		-1021924763
-IDS__DestinationFolder_10	1033	Install [ProductName] to:	0		-1021924763
-IDS__DestinationFolder_11	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__DestinationFolder_12	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibd	0		-1021924763
-IDS__DestinationFolder_2	1033	InstallShield	0		-1021924763
-IDS__DestinationFolder_3	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__DestinationFolder_4	1033	Click Next to install to this folder, or click Change to install to a different folder.	0		-1021924763
-IDS__DestinationFolder_5	1033	{&MSSansBold8}Destination Folder	0		-1021924763
-IDS__DestinationFolder_6	1033	< &Back	0		-1021924763
-IDS__DestinationFolder_7	1033	&Next >	0		-1021924763
-IDS__DestinationFolder_8	1033	&Change...	0		-1021924763
-IDS__DestinationFolder_9	1033	[INSTALLDIR]	0		-1021924763
-IDS__DisplayName_Custom	1033	Custom	0		-1021924763
-IDS__DisplayName_Minimal	1033	Minimal	0		-1021924763
-IDS__DisplayName_Typical	1033	Typical	0		-1021924763
-IDS__IsAdminInstallBrowse_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsAdminInstallBrowse_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsAdminInstallBrowse_10	1033	OK	0		-1021924763
-IDS__IsAdminInstallBrowse_11	1033		0		-1021924763
-IDS__IsAdminInstallBrowse_12	1033	&Folder name:	0		-1021924763
-IDS__IsAdminInstallBrowse_13	1033	Up one level|	0		-1021924763
-IDS__IsAdminInstallBrowse_14	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsAdminInstallBrowse_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibd	0		-1021924763
-IDS__IsAdminInstallBrowse_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibd	0		-1021924763
-IDS__IsAdminInstallBrowse_2	1033	InstallShield	0		-1021924763
-IDS__IsAdminInstallBrowse_3	1033	Cancel	0		-1021924763
-IDS__IsAdminInstallBrowse_4	1033		0		-1021924763
-IDS__IsAdminInstallBrowse_5	1033	&Look in:	0		-1021924763
-IDS__IsAdminInstallBrowse_6	1033	Browse to the destination folder.	0		-1021924763
-IDS__IsAdminInstallBrowse_7	1033	{&MSSansBold8}Change Current Destination Folder	0		-1021924763
-IDS__IsAdminInstallBrowse_8	1033		0		-1021924763
-IDS__IsAdminInstallBrowse_9	1033	Create new folder|	0		-1021924763
-IDS__IsAdminInstallPoint_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsAdminInstallPoint_1	1033	< &Back	0		-1021924763
-IDS__IsAdminInstallPoint_10	1033	&Network location:	0		-1021924763
-IDS__IsAdminInstallPoint_11	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsAdminInstallPoint_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsAdminInstallPoint_3	1033	InstallShield	0		-1021924763
-IDS__IsAdminInstallPoint_4	1033	&Change...	0		-1021924763
-IDS__IsAdminInstallPoint_5	1033	Cancel	0		-1021924763
-IDS__IsAdminInstallPoint_6	1033	Specify a network location for the server image of the product.	0		-1021924763
-IDS__IsAdminInstallPoint_7	1033	Enter the network location or click Change to browse to a location.  Click Install to create a server image of [ProductName] at the specified network location or click Cancel to exit the wizard.	0		-1021924763
-IDS__IsAdminInstallPoint_8	1033	{&MSSansBold8}Network Location	0		-1021924763
-IDS__IsAdminInstallPoint_9	1033	&Install	0		-1021924763
-IDS__IsAdminInstallPointWelcome_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsAdminInstallPointWelcome_1	1033	< &Back	0		-1021924763
-IDS__IsAdminInstallPointWelcome_2	1033	Cancel	0		-1021924763
-IDS__IsAdminInstallPointWelcome_3	1033	&Next >	0		-1021924763
-IDS__IsAdminInstallPointWelcome_4	1033	{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]	0		-1021924763
-IDS__IsAdminInstallPointWelcome_5	1033	The InstallShield(R) Wizard will create a server image of [ProductName] at a specified network location. To continue, click Next.	0		-1021924763
-IDS__IsAdminInstallPointWelcome_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsBitmapDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsBitmapDlg_1	1033	< &Back	0		-1021924763
-IDS__IsBitmapDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsBitmapDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsBitmapDlg_4	1033	Cancel	0		-1021924763
-IDS__IsBitmapDlg_5	1033	&Next >	0		-1021924763
-IDS__IsBitmapDlg_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsBrowseFolderDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsBrowseFolderDlg_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsBrowseFolderDlg_10	1033	OK	0		-1021924763
-IDS__IsBrowseFolderDlg_11	1033		0		-1021924763
-IDS__IsBrowseFolderDlg_12	1033	&Folder name:	0		-1021924763
-IDS__IsBrowseFolderDlg_13	1033	Up One Level|	0		-1021924763
-IDS__IsBrowseFolderDlg_14	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsBrowseFolderDlg_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibd	0		-1021924763
-IDS__IsBrowseFolderDlg_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibd	0		-1021924763
-IDS__IsBrowseFolderDlg_2	1033	InstallShield	0		-1021924763
-IDS__IsBrowseFolderDlg_3	1033	Cancel	0		-1021924763
-IDS__IsBrowseFolderDlg_4	1033		0		-1021924763
-IDS__IsBrowseFolderDlg_5	1033	&Look in:	0		-1021924763
-IDS__IsBrowseFolderDlg_6	1033	Browse to the destination folder.	0		-1021924763
-IDS__IsBrowseFolderDlg_7	1033	{&MSSansBold8}Change Current Destination Folder	0		-1021924763
-IDS__IsBrowseFolderDlg_8	1033		0		-1021924763
-IDS__IsBrowseFolderDlg_9	1033	Create New Folder|	0		-1021924763
-IDS__IsCancelDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsCancelDlg_1	1033	Information icon|	0		-1021924763
-IDS__IsCancelDlg_2	1033	InstallShield	0		-1021924763
-IDS__IsCancelDlg_3	1033	Are you sure you want to cancel the installation?	0		-1021924763
-IDS__IsCancelDlg_4	1033	Are you sure you want to cancel [ProductName] installation?	0		-1021924763
-IDS__IsCancelDlg_5	1033	{&MSSansBold8}Cancel Setup	0		-1021924763
-IDS__IsCancelDlg_6	1033	&No	0		-1021924763
-IDS__IsCancelDlg_7	1033	To continue installing [ProductName], click Resume. To exit the installation, click Exit.	0		-1021924763
-IDS__IsCancelDlg_8	1033	&Yes	0		-1021924763
-IDS__IsCancelDlg_9	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibd	0		-1021924763
-IDS__IsCustomSelectionDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsCustomSelectionDlg_1	1033	< &Back	0		-1021924763
-IDS__IsCustomSelectionDlg_10	1033	Feature Description:	0		-1021924763
-IDS__IsCustomSelectionDlg_11	1033	&Next >	0		-1021924763
-IDS__IsCustomSelectionDlg_12	1033	Feature size	0		-1021924763
-IDS__IsCustomSelectionDlg_13	1033	&Help	0		-1021924763
-IDS__IsCustomSelectionDlg_14	1033	Multiline description of the currently selected item	0		-1021924763
-IDS__IsCustomSelectionDlg_15	1033	Feature Description	0		-1021924763
-IDS__IsCustomSelectionDlg_16	1033	&Change...	0		-1021924763
-IDS__IsCustomSelectionDlg_17	1033	<selected feature path>	0		-1021924763
-IDS__IsCustomSelectionDlg_18	1033	Install to:	0		-1021924763
-IDS__IsCustomSelectionDlg_19	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsCustomSelectionDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsCustomSelectionDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsCustomSelectionDlg_4	1033	Cancel	0		-1021924763
-IDS__IsCustomSelectionDlg_5	1033	&Space	0		-1021924763
-IDS__IsCustomSelectionDlg_6	1033	Select the program features you want installed.	0		-1021924763
-IDS__IsCustomSelectionDlg_7	1033	Click on an icon in the list below to change how a feature is installed.	0		-1021924763
-IDS__IsCustomSelectionDlg_8	1033	{&MSSansBold8}Custom Setup	0		-1021924763
-IDS__IsCustomSelectionDlg_9	1033	Multiline description of the currently selected item	0		-1021924763
-IDS__IsDatabaseLocation_1	1033	InstallShield	0		-1021924763
-IDS__IsDatabaseLocation_10	1033	[DATABASEDIR]	0		-1021924763
-IDS__IsDatabaseLocation_11	1033	Install Application Database to:	0		-1021924763
-IDS__IsDatabaseLocation_12	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsDatabaseLocation_13	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsDatabaseLocation_2	1033	2	0		-1021924763
-IDS__IsDatabaseLocation_3	1033	Cancel	0		-1021924763
-IDS__IsDatabaseLocation_4	1033	4	0		-1021924763
-IDS__IsDatabaseLocation_5	1033	Click next to install the application's database to this folder, or click change to install it to a different folder.	0		-1021924763
-IDS__IsDatabaseLocation_6	1033	{&MSSansBold8}Database Destination Folder	0		-1021924763
-IDS__IsDatabaseLocation_7	1033	< &Back	0		-1021924763
-IDS__IsDatabaseLocation_8	1033	&Next >	0		-1021924763
-IDS__IsDatabaseLocation_9	1033	&Change...	0		-1021924763
-IDS__IsDiskSpaceDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsDiskSpaceDlg_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsDiskSpaceDlg_10	1033	OK	0		-1021924763
-IDS__IsDiskSpaceDlg_11	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsDiskSpaceDlg_2	1033	InstallShield	0		-1021924763
-IDS__IsDiskSpaceDlg_3	1033	&Disk Cleanup	0		-1021924763
-IDS__IsDiskSpaceDlg_4	1033	Disk space required for the installation exceeds available disk space.	0		-1021924763
-IDS__IsDiskSpaceDlg_5	1033	The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install less features onto local drives, or select different destination drives.	0		-1021924763
-IDS__IsDiskSpaceDlg_6	1033	{&MSSansBold8}Out of Disk Space	0		-1021924763
-IDS__IsDiskSpaceDlg_7	1033	&Exit	0		-1021924763
-IDS__IsDiskSpaceDlg_8	1033	Use disk cleanup to free more disk space by removing unneeded files.	0		-1021924763
-IDS__IsDiskSpaceDlg_9	1033	{120}{70}{70}{70}{70}	0		-1021924763
-IDS__IsErrorDlg_0	1033	[ProductName] Installer Information	0		-1021924763
-IDS__IsErrorDlg_1	1033	&Abort	0		-1021924763
-IDS__IsErrorDlg_2	1033	&Cancel	0		-1021924763
-IDS__IsErrorDlg_3	1033	<error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here>	0		-1021924763
-IDS__IsErrorDlg_4	1033	&Ignore	0		-1021924763
-IDS__IsErrorDlg_5	1033	&No	0		-1021924763
-IDS__IsErrorDlg_6	1033	&OK	0		-1021924763
-IDS__IsErrorDlg_7	1033	&Retry	0		-1021924763
-IDS__IsErrorDlg_8	1033	&Yes	0		-1021924763
-IDS__IsErrorDlg_9	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibd	0		-1021924763
-IDS__IsExitDialog_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsExitDialog_1	1033	< &Back	0		-1021924763
-IDS__IsExitDialog_2	1033	Cancel	0		-1021924763
-IDS__IsExitDialog_3	1033	&Finish	0		-1021924763
-IDS__IsExitDialog_4	1033	{&TahomaBold10}InstallShield Wizard Completed	0		-1021924763
-IDS__IsExitDialog_5	1033	The InstallShield Wizard has successfully installed [ProductName]. Click Finish to exit the wizard.	0		-1021924763
-IDS__IsExitDialog_6	1033	The InstallShield Wizard has successfully uninstalled [ProductName]. Click Finish to exit the wizard.	0		-1021924763
-IDS__IsExitDialog_7	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsExitDialog_8	1033	Show the readme file	0		-1021924763
-IDS__IsExitDialog_9	1033	Launch the program	0		-1021924763
-IDS__IsExitDialog_Update_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsExitDialog_Update_1	1033	< &Back	0		-1021924763
-IDS__IsExitDialog_Update_2	1033	Cancel	0		-1021924763
-IDS__IsExitDialog_Update_3	1033	&Finish	0		-1021924763
-IDS__IsExitDialog_Update_4	1033	Setup has finished installing [ProductName].	0		-1021924763
-IDS__IsExitDialog_Update_5	1033	Some program files might have been updated since you purchased your copy of [ProductName].	0		-1021924763
-IDS__IsExitDialog_Update_6	1033	Your Internet connection can be used to make sure that you have the latest updates.	0		-1021924763
-IDS__IsExitDialog_Update_7	1033	&Yes, check for program updates (Recommended) after the setup completes.	0		-1021924763
-IDS__IsFatalError_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsFatalError_1	1033	< &Back	0		-1021924763
-IDS__IsFatalError_10	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsFatalError_2	1033	Cancel	0		-1021924763
-IDS__IsFatalError_3	1033	&Finish	0		-1021924763
-IDS__IsFatalError_4	1033	Your system has not been modified. To complete installation at another time, please run setup again.	0		-1021924763
-IDS__IsFatalError_5	1033	Click Finish to exit the wizard.	0		-1021924763
-IDS__IsFatalError_6	1033	You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.	0		-1021924763
-IDS__IsFatalError_7	1033	Click Restore or Continue Later to exit the wizard.	0		-1021924763
-IDS__IsFatalError_8	1033	{&TahomaBold10}InstallShield Wizard Completed	0		-1021924763
-IDS__IsFatalError_9	1033	The wizard was interrupted before [ProductName] could be completely installed.	0		-1021924763
-IDS__IsFeatureDetailsDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsFeatureDetailsDlg_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsFeatureDetailsDlg_10	1033	Use disk cleanup to free more disk space by removing unneeded files.	0		-1021924763
-IDS__IsFeatureDetailsDlg_11	1033	Install to:	0		-1021924763
-IDS__IsFeatureDetailsDlg_12	1033	Total disk space required:	0		-1021924763
-IDS__IsFeatureDetailsDlg_13	1033	{120}{70}{70}{70}{70}	0		-1021924763
-IDS__IsFeatureDetailsDlg_14	1033	OK	0		-1021924763
-IDS__IsFeatureDetailsDlg_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsFeatureDetailsDlg_2	1033	InstallShield	0		-1021924763
-IDS__IsFeatureDetailsDlg_3	1033	&Change...	0		-1021924763
-IDS__IsFeatureDetailsDlg_4	1033	Cancel	0		-1021924763
-IDS__IsFeatureDetailsDlg_5	1033	&Disk Cleanup	0		-1021924763
-IDS__IsFeatureDetailsDlg_6	1033	The disk space required for the installation of the selected features.	0		-1021924763
-IDS__IsFeatureDetailsDlg_7	1033	The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install less features onto local drives, or select different destination drives.	0		-1021924763
-IDS__IsFeatureDetailsDlg_8	1033	{&MSSansBold8}Disk Space Requirements	0		-1021924763
-IDS__IsFeatureDetailsDlg_9	1033		0		-1021924763
-IDS__IsFilesInUse_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsFilesInUse_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsFilesInUse_10	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsFilesInUse_2	1033	InstallShield	0		-1021924763
-IDS__IsFilesInUse_3	1033	Some files that need to be updated are currently in use.	0		-1021924763
-IDS__IsFilesInUse_4	1033	The following applications are using files that need to be updated by this setup. Close these applications and click Retry to continue.	0		-1021924763
-IDS__IsFilesInUse_5	1033	{&MSSansBold8}Files in Use	0		-1021924763
-IDS__IsFilesInUse_6	1033	&Exit	0		-1021924763
-IDS__IsFilesInUse_7	1033	&Ignore	0		-1021924763
-IDS__IsFilesInUse_8	1033	&Retry	0		-1021924763
-IDS__IsFilesInUse_9	1033		0		-1021924763
-IDS__IsInitDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsInitDlg_1	1033		0		-1021924763
-IDS__IsInitDlg_2	1033		0		-1021924763
-IDS__IsInitDlg_3	1033	< &Back	0		-1021924763
-IDS__IsInitDlg_4	1033	Cancel	0		-1021924763
-IDS__IsInitDlg_5	1033	&Next >	0		-1021924763
-IDS__IsInitDlg_6	1033	{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]	0		-1021924763
-IDS__IsInitDlg_7	1033	[ProductName] Setup is preparing the InstallShield Wizard which will guide you through the program setup process.  Please wait.	0		-1021924763
-IDS__IsInitDlg_8	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsLicenseDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsLicenseDlg_1	1033	< &Back	0		-1021924763
-IDS__IsLicenseDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsLicenseDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsLicenseDlg_4	1033	Cancel	0		-1021924763
-IDS__IsLicenseDlg_5	1033	Please read the following license agreement carefully.	0		-1021924763
-IDS__IsLicenseDlg_6	1033	Click Accept to accept the terms of this agreement, or click Decline to exit the wizard.	0		-1021924763
-IDS__IsLicenseDlg_7	1033	{&MSSansBold8}License Agreement	0		-1021924763
-IDS__IsLicenseDlg_8	1033	&Next >	0		-1021924763
-IDS__IsLicenseDlg_9	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsLicenseDlg_EULA	1033	<ISProductFolder>\Redist\0409\Eula.rtf	0		-1021924763
-IDS__IsMaintenanceDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsMaintenanceDlg_1	1033	< &Back	0		-1021924763
-IDS__IsMaintenanceDlg_10	1033	{&MSSansBold8}&Remove	0		-1021924763
-IDS__IsMaintenanceDlg_11	1033		0		-1021924763
-IDS__IsMaintenanceDlg_12	1033	Change which program features are installed. This option displays the Custom Selection dialog in which you can change the way features are installed.	0		-1021924763
-IDS__IsMaintenanceDlg_13	1033	Repair installation errors in the program. This option fixes missing or corrupt files, shortcuts, and registry entries.	0		-1021924763
-IDS__IsMaintenanceDlg_14	1033	Remove [ProductName] from your computer.	0		-1021924763
-IDS__IsMaintenanceDlg_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsMaintenanceDlg_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\RemoveIco.ibd	0		-1021924763
-IDS__IsMaintenanceDlg_17	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\ReinstIco.ibd	0		-1021924763
-IDS__IsMaintenanceDlg_18	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd	0		-1021924763
-IDS__IsMaintenanceDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsMaintenanceDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsMaintenanceDlg_4	1033	Cancel	0		-1021924763
-IDS__IsMaintenanceDlg_5	1033	Modify, repair, or remove the program.	0		-1021924763
-IDS__IsMaintenanceDlg_6	1033	{&MSSansBold8}Program Maintenance	0		-1021924763
-IDS__IsMaintenanceDlg_7	1033	&Next >	0		-1021924763
-IDS__IsMaintenanceDlg_8	1033	{&MSSansBold8}&Modify	0		-1021924763
-IDS__IsMaintenanceDlg_9	1033	{&MSSansBold8}Re&pair	0		-1021924763
-IDS__IsMaintenanceWelcome_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsMaintenanceWelcome_1	1033	< &Back	0		-1021924763
-IDS__IsMaintenanceWelcome_2	1033	Cancel	0		-1021924763
-IDS__IsMaintenanceWelcome_3	1033	&Next >	0		-1021924763
-IDS__IsMaintenanceWelcome_4	1033	{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]	0		-1021924763
-IDS__IsMaintenanceWelcome_5	1033	The InstallShield(R) Wizard will allow you to modify, repair, or remove [ProductName]. To continue, click Next.	0		-1021924763
-IDS__IsMaintenanceWelcome_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsPatchDlg_0	1033	[ProductName] Patch - InstallShield Wizard	0		-1021924763
-IDS__IsPatchDlg_1	1033	{&TahomaBold10}Welcome to the Patch for [ProductName]	0		-1021924763
-IDS__IsPatchDlg_2	1033	The InstallShield(R) Wizard will install the Patch for [ProductName] on your computer.  To continue, click Update.	0		-1021924763
-IDS__IsPatchDlg_3	1033	Cancel	0		-1021924763
-IDS__IsPatchDlg_4	1033	< &Back	0		-1021924763
-IDS__IsPatchDlg_5	1033	&Update >	0		-1021924763
-IDS__IsPatchDlg_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsProgressDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsProgressDlg_1	1033	Progress done	0		-1021924763
-IDS__IsProgressDlg_10	1033	(Hidden for now)Sec.	0		-1021924763
-IDS__IsProgressDlg_11	1033	Status:	0		-1021924763
-IDS__IsProgressDlg_12	1033	&Next >	0		-1021924763
-IDS__IsProgressDlg_13	1033	(Hidden for now)	0		-1021924763
-IDS__IsProgressDlg_14	1033	)Hidden for now)Estimated time remaining:	0		-1021924763
-IDS__IsProgressDlg_15	1033	{&MSSansBold8}Uninstalling [ProductName]	0		-1021924763
-IDS__IsProgressDlg_16	1033	The program features you selected are being uninstalled.	0		-1021924763
-IDS__IsProgressDlg_17	1033	Please wait while the InstallShield Wizard uninstalls [ProductName]. This may take several minutes.	0		-1021924763
-IDS__IsProgressDlg_18	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\SetupIcon.ibd	0		-1021924763
-IDS__IsProgressDlg_19	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsProgressDlg_2	1033		0		-1021924763
-IDS__IsProgressDlg_3	1033	< &Back	0		-1021924763
-IDS__IsProgressDlg_4	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsProgressDlg_5	1033	InstallShield	0		-1021924763
-IDS__IsProgressDlg_6	1033	Cancel	0		-1021924763
-IDS__IsProgressDlg_7	1033	The program features you selected are being installed.	0		-1021924763
-IDS__IsProgressDlg_8	1033	Please wait while the InstallShield Wizard installs [ProductName]. This may take several minutes.	0		-1021924763
-IDS__IsProgressDlg_9	1033	{&MSSansBold8}Installing [ProductName]	0		-1021924763
-IDS__IsReadmeDlg_0	1033	{&MSSansBold8}Readme Information	0		-1021924763
-IDS__IsReadmeDlg_1	1033	Please read the following readme information carefully.	0		-1021924763
-IDS__IsReadmeDlg_2	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsReadmeDlg_3	1033	< &Back	0		-1021924763
-IDS__IsReadmeDlg_4	1033	&Next >	0		-1021924763
-IDS__IsReadmeDlg_5	1033	&Cancel	0		-1021924763
-IDS__IsReadmeDlg_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsReadmeDlg_7	1033	InstallShield	0		-1021924763
-IDS__IsReadmeDlg_8	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsRegisterUserDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsRegisterUserDlg_1	1033	< &Back	0		-1021924763
-IDS__IsRegisterUserDlg_10	1033	{\Tahoma8}{50}	0		-1021924763
-IDS__IsRegisterUserDlg_11	1033	&User Name:	0		-1021924763
-IDS__IsRegisterUserDlg_12	1033	&Next >	0		-1021924763
-IDS__IsRegisterUserDlg_13	1033	Install the help documentation for:	0		-1021924763
-IDS__IsRegisterUserDlg_14	1033	&Anyone who uses this computer (all users)	0		-1021924763
-IDS__IsRegisterUserDlg_15	1033	Only for &me ([USERNAME])	0		-1021924763
-IDS__IsRegisterUserDlg_16	1033		0		-1021924763
-IDS__IsRegisterUserDlg_17	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsRegisterUserDlg_18	1033	&Serial Number:	0		-1021924763
-IDS__IsRegisterUserDlg_19	1033	&Other...	0		-602530036
-IDS__IsRegisterUserDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsRegisterUserDlg_20	1033	Install [ProductName] to:	0		-602530036
-IDS__IsRegisterUserDlg_21	1033	WARNING: You must choose the Apache root directory above.  (This root contains the directories bin, htdocs, etc...)	0		-602534547
-IDS__IsRegisterUserDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsRegisterUserDlg_4	1033	Cancel	0		-1021924763
-IDS__IsRegisterUserDlg_5	1033	{\Tahoma8}{80}	0		-1021924763
-IDS__IsRegisterUserDlg_6	1033	&Organization:	0		-1021924763
-IDS__IsRegisterUserDlg_7	1033	The options below must correspond to your exiting Apache httpd Web Server installation.	0		-1021924763
-IDS__IsRegisterUserDlg_8	1033	Please enter your name and organization.	0		-1021924763
-IDS__IsRegisterUserDlg_9	1033	{&MSSansBold8}Installation Options	0		-1021924763
-IDS__IsReinstallDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsReinstallDlg_1	1033	< &Back	0		-1021924763
-IDS__IsReinstallDlg_10	1033	&Complete	0		-1021924763
-IDS__IsReinstallDlg_11	1033		0		-1021924763
-IDS__IsReinstallDlg_12	1033	Replace all files whose versions differ from that required by the program and all registry entries and shortcuts required by the program.	0		-1021924763
-IDS__IsReinstallDlg_13	1033	Replace only missing program files and registry entries for installed features.	0		-1021924763
-IDS__IsReinstallDlg_14	1033	Replace all files, registry entries, and shortcuts required by the program.	0		-1021924763
-IDS__IsReinstallDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsReinstallDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsReinstallDlg_4	1033	Cancel	0		-1021924763
-IDS__IsReinstallDlg_5	1033	Select how you want the program elements reinstalled.	0		-1021924763
-IDS__IsReinstallDlg_6	1033	{&MSSansBold8}Reinstallation Mode	0		-1021924763
-IDS__IsReinstallDlg_7	1033	&Next >	0		-1021924763
-IDS__IsReinstallDlg_8	1033	No&rmal	0		-1021924763
-IDS__IsReinstallDlg_9	1033	&Minimal	0		-1021924763
-IDS__IsResumeDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsResumeDlg_1	1033	< &Back	0		-1021924763
-IDS__IsResumeDlg_2	1033	Cancel	0		-1021924763
-IDS__IsResumeDlg_3	1033	&Next >	0		-1021924763
-IDS__IsResumeDlg_4	1033	The InstallShield(R) Wizard will complete the installation of [ProductName] on your computer. To continue, click Next.	0		-1021924763
-IDS__IsResumeDlg_5	1033	The InstallShield(R) Wizard will complete the suspended installation of [ProductName] on your computer. To continue, click Next.	0		-1021924763
-IDS__IsResumeDlg_6	1033	{&TahomaBold10}Resuming the InstallShield Wizard for [ProductName]	0		-1021924763
-IDS__IsResumeDlg_7	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsSetupTypeMinDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsSetupTypeMinDlg_1	1033	< &Back	0		-1021924763
-IDS__IsSetupTypeMinDlg_10	1033	&Next >	0		-1021924763
-IDS__IsSetupTypeMinDlg_11	1033	{&MSSansBold8}&Complete	0		-1021924763
-IDS__IsSetupTypeMinDlg_12	1033	{&MSSansBold8}Cu&stom	0		-1021924763
-IDS__IsSetupTypeMinDlg_13	1033		0		-1021924763
-IDS__IsSetupTypeMinDlg_14	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd	0		-1021924763
-IDS__IsSetupTypeMinDlg_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsSetupTypeMinDlg_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibd	0		-1021924763
-IDS__IsSetupTypeMinDlg_17	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibd	0		-1021924763
-IDS__IsSetupTypeMinDlg_18	1033	Minimum required features will be installed.	0		-1021924763
-IDS__IsSetupTypeMinDlg_19	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd	0		-1021924763
-IDS__IsSetupTypeMinDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsSetupTypeMinDlg_20	1033	{&MSSansBold8}&Minimal	0		-1021924763
-IDS__IsSetupTypeMinDlg_21	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd	0		-1021924763
-IDS__IsSetupTypeMinDlg_22	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibd	0		-1021924763
-IDS__IsSetupTypeMinDlg_23	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsSetupTypeMinDlg_24	1033	{&MSSansBold8}&Typical	0		-1021924763
-IDS__IsSetupTypeMinDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsSetupTypeMinDlg_4	1033	Cancel	0		-1021924763
-IDS__IsSetupTypeMinDlg_5	1033	All program features will be installed. (Requires the most disk space.)	0		-1021924763
-IDS__IsSetupTypeMinDlg_6	1033	Choose which program features you want installed and where they will be installed. Recommended for advanced users.	0		-1021924763
-IDS__IsSetupTypeMinDlg_7	1033	Choose the setup type that best suits your needs.	0		-1021924763
-IDS__IsSetupTypeMinDlg_8	1033	Please select a setup type.	0		-1021924763
-IDS__IsSetupTypeMinDlg_9	1033	{&MSSansBold8}Setup Type	0		-1021924763
-IDS__IsStartCopyDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsStartCopyDlg_1	1033	< &Back	0		-1021924763
-IDS__IsStartCopyDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsStartCopyDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsStartCopyDlg_4	1033	Cancel	0		-1021924763
-IDS__IsStartCopyDlg_5	1033	The wizard is ready to begin installation.	0		-1021924763
-IDS__IsStartCopyDlg_6	1033	Click Next to begin the installation.	0		-1021924763
-IDS__IsStartCopyDlg_7	1033	If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.	0		-1021924763
-IDS__IsStartCopyDlg_8	1033	{&MSSansBold8}Ready to Install	0		-1021924763
-IDS__IsStartCopyDlg_9	1033	&Next >	0		-1021924763
-IDS__IsUserExit_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsUserExit_1	1033	< &Back	0		-1021924763
-IDS__IsUserExit_10	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsUserExit_2	1033	Cancel	0		-1021924763
-IDS__IsUserExit_3	1033	&Finish	0		-1021924763
-IDS__IsUserExit_4	1033	Your system has not been modified. To install this program at a later time, please run the installation again.	0		-1021924763
-IDS__IsUserExit_5	1033	Click Finish to exit the wizard.	0		-1021924763
-IDS__IsUserExit_6	1033	You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.	0		-1021924763
-IDS__IsUserExit_7	1033	Click Restore or Continue Later to exit the wizard.	0		-1021924763
-IDS__IsUserExit_8	1033	{&TahomaBold10}InstallShield Wizard Completed	0		-1021924763
-IDS__IsUserExit_9	1033	The wizard was interrupted before [ProductName] could be completely installed.	0		-1021924763
-IDS__IsVerifyReadyDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsVerifyReadyDlg_1	1033	< &Back	0		-1021924763
-IDS__IsVerifyReadyDlg_10	1033	{&MSSansBold8}Ready to Repair the Program	0		-1021924763
-IDS__IsVerifyReadyDlg_11	1033	{&MSSansBold8}Ready to Install the Program	0		-1021924763
-IDS__IsVerifyReadyDlg_12	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsVerifyReadyDlg_13	1033	Serial: [SERIALNUMBER]	0		-1021924763
-IDS__IsVerifyReadyDlg_13X	1033	Serial: [ISX_SERIALNUM]	0		-1021924763
-IDS__IsVerifyReadyDlg_14	1033	Company: [COMPANYNAME]	0		-1021924763
-IDS__IsVerifyReadyDlg_15	1033	Name: [USERNAME]	0		-1021924763
-IDS__IsVerifyReadyDlg_16	1033	User Information:	0		-1021924763
-IDS__IsVerifyReadyDlg_17	1033	[INSTALLDIR]	0		-1021924763
-IDS__IsVerifyReadyDlg_18	1033	Destination Folder:	0		-1021924763
-IDS__IsVerifyReadyDlg_19	1033	[SelectedSetupType]	0		-1021924763
-IDS__IsVerifyReadyDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsVerifyReadyDlg_20	1033	Setup Type:	0		-1021924763
-IDS__IsVerifyReadyDlg_21	1033	Current Settings:	0		-1021924763
-IDS__IsVerifyReadyDlg_22	1033	[ProductName] will be installed to [INSTALLDIR]	0		1553390316
-IDS__IsVerifyReadyDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsVerifyReadyDlg_4	1033	Cancel	0		-1021924763
-IDS__IsVerifyReadyDlg_5	1033	The wizard is ready to begin installation.	0		-1021924763
-IDS__IsVerifyReadyDlg_6	1033	Click Install to begin the installation.	0		-1021924763
-IDS__IsVerifyReadyDlg_7	1033	If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.	0		-1021924763
-IDS__IsVerifyReadyDlg_8	1033	{&MSSansBold8}Ready to Modify the Program	0		-1021924763
-IDS__IsVerifyReadyDlg_9	1033	&Install	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_1	1033	< &Back	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_10	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_3	1033	InstallShield	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_4	1033	Cancel	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_5	1033	You have chosen to remove the program from your system.	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_6	1033	Click Remove to remove [ProductName] from your computer. After removal, this program will no longer be available for use.	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_7	1033	If you want to review or change any settings, click Back.	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_8	1033	{&MSSansBold8}Remove the Program	0		-1021924763
-IDS__IsVerifyRemoveAllDlg_9	1033	&Remove	0		-1021924763
-IDS__IsWelcomeDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__IsWelcomeDlg_1	1033	< &Back	0		-1021924763
-IDS__IsWelcomeDlg_2	1033	Cancel	0		-1021924763
-IDS__IsWelcomeDlg_3	1033	&Next >	0		-1021924763
-IDS__IsWelcomeDlg_4	1033	{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]	0		-1021924763
-IDS__IsWelcomeDlg_5	1033	The InstallShield(R) Wizard will install [ProductName] on your computer. To continue, click Next.	0		-1021924763
-IDS__IsWelcomeDlg_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
-IDS__IsWelcomeDlg_7	1033	WARNING: This program is protected by copyright law and international treaties.	0		-1021924763
-IDS__SetupTips_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
-IDS__TargetReq_DESC_COLOR	1033	The color settings of your system are not adequate for running [ProductName].	0		-1021924763
-IDS__TargetReq_DESC_OS	1033	The operating system is not adequate for running [ProductName].	0		-1021924763
-IDS__TargetReq_DESC_PROCESSOR	1033	The processor is not adequate for running [ProductName].	0		-1021924763
-IDS__TargetReq_DESC_RAM	1033	The amount of RAM is not adequate for running [ProductName].	0		-1021924763
-IDS__TargetReq_DESC_RESOLUTION	1033	The screen resolution is not adequate for running [ProductName].	0		-1021924763
-IDS_ACTIONTEXT_1	1033	Advertising application	0		-1021924763
-IDS_ACTIONTEXT_10	1033	Computing space requirements	0		-1021924763
-IDS_ACTIONTEXT_100	1033	MIME Content Type: [1], Extension: [2]	0		-1021924763
-IDS_ACTIONTEXT_101	1033	Unregistering program identifiers	0		-1021924763
-IDS_ACTIONTEXT_102	1033	ProgID: [1]	0		-1021924763
-IDS_ACTIONTEXT_103	1033	Unregistering type libraries	0		-1021924763
-IDS_ACTIONTEXT_104	1033	LibID: [1]	0		-1021924763
-IDS_ACTIONTEXT_105	1033	Updating environment strings	0		-1021924763
-IDS_ACTIONTEXT_106	1033	Name: [1], Value: [2], Action [3]	0		-1021924763
-IDS_ACTIONTEXT_107	1033	Writing INI file values	0		-1021924763
-IDS_ACTIONTEXT_108	1033	File: [1],  Section: [2],  Key: [3], Value: [4]	0		-1021924763
-IDS_ACTIONTEXT_109	1033	Writing system registry values	0		-1021924763
-IDS_ACTIONTEXT_11	1033	Creating folders	0		-1021924763
-IDS_ACTIONTEXT_110	1033	Key: [1], Name: [2], Value: [3]	0		-1021924763
-IDS_ACTIONTEXT_111	1033	Registering COM+ Applications and Components	0		-1021924763
-IDS_ACTIONTEXT_112	1033	AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}	0		-1021924763
-IDS_ACTIONTEXT_113	1033	Unregistering COM+ Applications and Components	0		-1021924763
-IDS_ACTIONTEXT_114	1033	AppId: [1]{{, AppType: [2]}}	0		-1021924763
-IDS_ACTIONTEXT_115	1033	Searching for related applications	0		-1021924763
-IDS_ACTIONTEXT_116	1033	Found application: [1]	0		-1021924763
-IDS_ACTIONTEXT_117	1033	Migrating feature states from related applications	0		-1021924763
-IDS_ACTIONTEXT_118	1033	Application: [1]	0		-1021924763
-IDS_ACTIONTEXT_119	1033	Removing applications	0		-1021924763
-IDS_ACTIONTEXT_12	1033	Folder: [1]	0		-1021924763
-IDS_ACTIONTEXT_120	1033	Application: [1], Command line: [2]	0		-1021924763
-IDS_ACTIONTEXT_121	1033	Installing system catalog	0		-1021924763
-IDS_ACTIONTEXT_122	1033	File: [1],  Dependencies: [2]	0		-1021924763
-IDS_ACTIONTEXT_123	1033	Creating IIS Virtual Roots...	0		-1021924763
-IDS_ACTIONTEXT_124	1033	Removing IIS Virtual Roots...	0		-1021924763
-IDS_ACTIONTEXT_13	1033	Creating shortcuts	0		-1021924763
-IDS_ACTIONTEXT_14	1033	Shortcut: [1]	0		-1021924763
-IDS_ACTIONTEXT_15	1033	Deleting services	0		-1021924763
-IDS_ACTIONTEXT_16	1033	Service: [1]	0		-1021924763
-IDS_ACTIONTEXT_17	1033	Creating duplicate files	0		-1021924763
-IDS_ACTIONTEXT_18	1033	File: [1],  Directory: [9],  Size: [6]	0		-1021924763
-IDS_ACTIONTEXT_19	1033	Computing space requirements	0		-1021924763
-IDS_ACTIONTEXT_2	1033	Allocating registry space	0		-1021924763
-IDS_ACTIONTEXT_20	1033	Generating script operations for action:	0		-1021924763
-IDS_ACTIONTEXT_21	1033	[1]	0		-1021924763
-IDS_ACTIONTEXT_22	1033	Copying files to the network	0		-1021924763
-IDS_ACTIONTEXT_23	1033	File: [1], Directory: [9], Size: [6]	0		-1021924763
-IDS_ACTIONTEXT_24	1033	Copying new files	0		-1021924763
-IDS_ACTIONTEXT_25	1033	File: [1],  Directory: [9],  Size: [6]	0		-1021924763
-IDS_ACTIONTEXT_26	1033	Installing ODBC components	0		-1021924763
-IDS_ACTIONTEXT_27	1033	Installing new services	0		-1021924763
-IDS_ACTIONTEXT_28	1033	Service: [2]	0		-1021924763
-IDS_ACTIONTEXT_29	1033	Validating install	0		-1021924763
-IDS_ACTIONTEXT_3	1033	Free space: [1]	0		-1021924763
-IDS_ACTIONTEXT_30	1033	Evaluating launch conditions	0		-1021924763
-IDS_ACTIONTEXT_31	1033	Moving files	0		-1021924763
-IDS_ACTIONTEXT_32	1033	File: [1],  Directory: [9],  Size: [6]	0		-1021924763
-IDS_ACTIONTEXT_33	1033	Patching files	0		-1021924763
-IDS_ACTIONTEXT_34	1033	File: [1],  Directory: [2],  Size: [3]	0		-1021924763
-IDS_ACTIONTEXT_35	1033	Updating component registration	0		-1021924763
-IDS_ACTIONTEXT_36	1033	Publishing qualified components	0		-1021924763
-IDS_ACTIONTEXT_37	1033	Component ID: [1], Qualifier: [2]	0		-1021924763
-IDS_ACTIONTEXT_38	1033	Publishing product features	0		-1021924763
-IDS_ACTIONTEXT_39	1033	Feature: [1]	0		-1021924763
-IDS_ACTIONTEXT_4	1033	Searching for installed applications	0		-1021924763
-IDS_ACTIONTEXT_40	1033	Publishing product information	0		-1021924763
-IDS_ACTIONTEXT_41	1033	Registering class servers	0		-1021924763
-IDS_ACTIONTEXT_42	1033	Class ID: [1]	0		-1021924763
-IDS_ACTIONTEXT_43	1033	Registering extension servers	0		-1021924763
-IDS_ACTIONTEXT_44	1033	Extension: [1]	0		-1021924763
-IDS_ACTIONTEXT_45	1033	Registering fonts	0		-1021924763
-IDS_ACTIONTEXT_46	1033	Font: [1]	0		-1021924763
-IDS_ACTIONTEXT_47	1033	Registering MIME info	0		-1021924763
-IDS_ACTIONTEXT_48	1033	MIME Content Type: [1], Extension: [2]	0		-1021924763
-IDS_ACTIONTEXT_49	1033	Registering product	0		-1021924763
-IDS_ACTIONTEXT_5	1033	Property: [1], Signature: [2]	0		-1021924763
-IDS_ACTIONTEXT_50	1033	[1]	0		-1021924763
-IDS_ACTIONTEXT_51	1033	Registering program identifiers	0		-1021924763
-IDS_ACTIONTEXT_52	1033	ProgID: [1]	0		-1021924763
-IDS_ACTIONTEXT_53	1033	Registering type libraries	0		-1021924763
-IDS_ACTIONTEXT_54	1033	LibID: [1]	0		-1021924763
-IDS_ACTIONTEXT_55	1033	Registering user	0		-1021924763
-IDS_ACTIONTEXT_56	1033	[1]	0		-1021924763
-IDS_ACTIONTEXT_57	1033	Removing duplicated files	0		-1021924763
-IDS_ACTIONTEXT_58	1033	File: [1], Directory: [9]	0		-1021924763
-IDS_ACTIONTEXT_59	1033	Updating environment strings	0		-1021924763
-IDS_ACTIONTEXT_6	1033	Binding executables	0		-1021924763
-IDS_ACTIONTEXT_60	1033	Name: [1], Value: [2], Action [3]	0		-1021924763
-IDS_ACTIONTEXT_61	1033	Removing files	0		-1021924763
-IDS_ACTIONTEXT_62	1033	File: [1], Directory: [9]	0		-1021924763
-IDS_ACTIONTEXT_63	1033	Removing folders	0		-1021924763
-IDS_ACTIONTEXT_64	1033	Folder: [1]	0		-1021924763
-IDS_ACTIONTEXT_65	1033	Removing INI file entries	0		-1021924763
-IDS_ACTIONTEXT_66	1033	File: [1],  Section: [2],  Key: [3], Value: [4]	0		-1021924763
-IDS_ACTIONTEXT_67	1033	Removing ODBC components	0		-1021924763
-IDS_ACTIONTEXT_68	1033	Removing system registry values	0		-1021924763
-IDS_ACTIONTEXT_69	1033	Key: [1], Name: [2]	0		-1021924763
-IDS_ACTIONTEXT_7	1033	File: [1]	0		-1021924763
-IDS_ACTIONTEXT_70	1033	Removing shortcuts	0		-1021924763
-IDS_ACTIONTEXT_71	1033	Shortcut: [1]	0		-1021924763
-IDS_ACTIONTEXT_72	1033	Searching for qualifying products	0		-1021924763
-IDS_ACTIONTEXT_73	1033	Rolling back action:	0		-1021924763
-IDS_ACTIONTEXT_74	1033	[1]	0		-1021924763
-IDS_ACTIONTEXT_75	1033	Removing backup files	0		-1021924763
-IDS_ACTIONTEXT_76	1033	File: [1]	0		-1021924763
-IDS_ACTIONTEXT_77	1033	Registering modules	0		-1021924763
-IDS_ACTIONTEXT_78	1033	File: [1], Folder: [2]	0		-1021924763
-IDS_ACTIONTEXT_79	1033	Unregistering modules	0		-1021924763
-IDS_ACTIONTEXT_8	1033	Searching for qualifying products	0		-1021924763
-IDS_ACTIONTEXT_80	1033	File: [1], Folder: [2]	0		-1021924763
-IDS_ACTIONTEXT_81	1033	Initializing ODBC directories	0		-1021924763
-IDS_ACTIONTEXT_82	1033	Starting services	0		-1021924763
-IDS_ACTIONTEXT_83	1033	Service: [1]	0		-1021924763
-IDS_ACTIONTEXT_84	1033	Stopping services	0		-1021924763
-IDS_ACTIONTEXT_85	1033	Service: [1]	0		-1021924763
-IDS_ACTIONTEXT_86	1033	Removing moved files	0		-1021924763
-IDS_ACTIONTEXT_87	1033	File: [1], Directory: [9]	0		-1021924763
-IDS_ACTIONTEXT_88	1033	Unpublishing Qualified Components	0		-1021924763
-IDS_ACTIONTEXT_89	1033	Component ID: [1], Qualifier: [2]	0		-1021924763
-IDS_ACTIONTEXT_9	1033	Computing space requirements	0		-1021924763
-IDS_ACTIONTEXT_90	1033	Unpublishing product features	0		-1021924763
-IDS_ACTIONTEXT_91	1033	Feature: [1]	0		-1021924763
-IDS_ACTIONTEXT_92	1033	Unpublishing product information	0		-1021924763
-IDS_ACTIONTEXT_93	1033	Unregister class servers	0		-1021924763
-IDS_ACTIONTEXT_94	1033	Class ID: [1]	0		-1021924763
-IDS_ACTIONTEXT_95	1033	Unregistering extension servers	0		-1021924763
-IDS_ACTIONTEXT_96	1033	Extension: [1]	0		-1021924763
-IDS_ACTIONTEXT_97	1033	Unregistering fonts	0		-1021924763
-IDS_ACTIONTEXT_98	1033	Font: [1]	0		-1021924763
-IDS_ACTIONTEXT_99	1033	Unregistering MIME info	0		-1021924763
-IDS_ERROR_0	1033	{{Fatal error: }}	0		-1021924763
-IDS_ERROR_1	1033	Error [1].	0		-1021924763
-IDS_ERROR_10	1033	=== Logging started: [Date]  [Time] ===	0		-1021924763
-IDS_ERROR_100	1033	Could not remove shortcut [2]. Verify that the shortcut file exists and that you can access it.	0		-1021924763
-IDS_ERROR_101	1033	Could not register type library for file [2].  Contact your support personnel.	0		-1021924763
-IDS_ERROR_102	1033	Could not unregister type library for file [2].  Contact your support personnel.	0		-1021924763
-IDS_ERROR_103	1033	Could not update the INI file [2][3].  Verify that the file exists and that you can access it.	0		-1021924763
-IDS_ERROR_104	1033	Could not schedule file [2] to replace file [3] on reboot.  Verify that you have write permissions to file [3].	0		-1021924763
-IDS_ERROR_105	1033	Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.	0		-1021924763
-IDS_ERROR_106	1033	Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.	0		-1021924763
-IDS_ERROR_107	1033	Error removing ODBC driver [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.	0		-1021924763
-IDS_ERROR_108	1033	Error installing ODBC driver [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.	0		-1021924763
-IDS_ERROR_109	1033	Error configuring ODBC data source [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.	0		-1021924763
-IDS_ERROR_11	1033	=== Logging stopped: [Date]  [Time] ===	0		-1021924763
-IDS_ERROR_110	1033	Service [2] ([3]) failed to start.  Verify that you have sufficient privileges to start system services.	0		-1021924763
-IDS_ERROR_111	1033	Service [2] ([3]) could not be stopped.  Verify that you have sufficient privileges to stop system services.	0		-1021924763
-IDS_ERROR_112	1033	Service [2] ([3]) could not be deleted.  Verify that you have sufficient privileges to remove system services.	0		-1021924763
-IDS_ERROR_113	1033	Service [2] ([3]) could not be installed.  Verify that you have sufficient privileges to install system services.	0		-1021924763
-IDS_ERROR_114	1033	Could not update environment variable [2].  Verify that you have sufficient privileges to modify environment variables.	0		-1021924763
-IDS_ERROR_115	1033	You do not have sufficient privileges to complete this installation for all users of the machine.  Log on as an administrator and then retry this installation.	0		-1021924763
-IDS_ERROR_116	1033	Could not set file security for file [3]. Error: [2].  Verify that you have sufficient privileges to modify the security permissions for this file.	0		-1021924763
-IDS_ERROR_117	1033	Component Services (COM+ 1.0) are not installed on this computer.  This installation requires Component Services in order to complete successfully.  Component Services are available on Windows 2000.	0		-1021924763
-IDS_ERROR_118	1033	Error registering COM+ application.  Contact your support personnel for more information.	0		-1021924763
-IDS_ERROR_119	1033	Error unregistering COM+ application.  Contact your support personnel for more information.	0		-1021924763
-IDS_ERROR_12	1033	Action start [Time]: [1].	0		-1021924763
-IDS_ERROR_120	1033	Removing older versions of this application	0		-1021924763
-IDS_ERROR_121	1033	Preparing to remove older versions of this application	0		-1021924763
-IDS_ERROR_122	1033	Error applying patch to file [2].  It has probably been updated by other means, and can no longer be modified by this patch.  For more information contact your patch vendor.  {{System Error: [3]}}	0		-1021924763
-IDS_ERROR_123	1033	[2] cannot install one of its required products. Contact your technical support group.  {{System Error: [3].}}	0		-1021924763
-IDS_ERROR_124	1033	The older version of [2] cannot be removed.  Contact your technical support group.  {{System Error [3].}}	0		-1021924763
-IDS_ERROR_125	1033	The description for service '[2]' ([3]) could not be changed.	0		-1021924763
-IDS_ERROR_126	1033	The Windows Installer service cannot update the system file [2] because the file is protected by Windows.  You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}	0		-1021924763
-IDS_ERROR_127	1033	The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}	0		-1021924763
-IDS_ERROR_128	1033	This setup requires Internet Information Server 4.0 or higher for configuring IIS Virtual Roots. Please make sure that you have IIS 4.0 or higher.	0		-1021924763
-IDS_ERROR_129	1033	This setup requires Administrator privileges for configuring IIS Virtual Roots.	0		-1021924763
-IDS_ERROR_13	1033	Action ended [Time]: [1]. Return value [2].	0		-1021924763
-IDS_ERROR_14	1033	Time remaining: {[1] minutes }{[2] seconds}	0		-1021924763
-IDS_ERROR_15	1033	Out of memory. Shut down other applications before retrying.	0		-1021924763
-IDS_ERROR_16	1033	Installer is no longer responding.	0		-1021924763
-IDS_ERROR_17	1033	Installer terminated prematurely.	0		-1021924763
-IDS_ERROR_18	1033	Please wait while Windows configures [ProductName]	0		-1021924763
-IDS_ERROR_19	1033	Gathering required information...	0		-1021924763
-IDS_ERROR_2	1033	Warning [1].	0		-1021924763
-IDS_ERROR_20	1033	{[ProductName] }Setup completed successfully.	0		-1021924763
-IDS_ERROR_21	1033	{[ProductName] }Setup failed.	0		-1021924763
-IDS_ERROR_22	1033	Error reading from file: [2]. {{ System error [3].}}  Verify that the file exists and that you can access it.	0		-1021924763
-IDS_ERROR_23	1033	Cannot create the file [3].  A directory with this name already exists.  Cancel the installation and try installing to a different location.	0		-1021924763
-IDS_ERROR_24	1033	Please insert the disk: [2]	0		-1021924763
-IDS_ERROR_25	1033	The installer has insufficient privileges to access this directory: [2].  The installation cannot continue.  Log on as an administrator or contact your system administrator.	0		-1021924763
-IDS_ERROR_26	1033	Error writing to file [2].  Verify that you have access to that directory.	0		-1021924763
-IDS_ERROR_27	1033	Error reading from file [2].  Verify that the file exists and that you can access it.	0		-1021924763
-IDS_ERROR_28	1033	Another application has exclusive access to the file [2].  Please shut down all other applications, then click Retry.	0		-1021924763
-IDS_ERROR_29	1033	There is not enough disk space to install thi file [2].  Free some disk space and click Retry, or click Cancel to exit.	0		-1021924763
-IDS_ERROR_3	1033	Info [1].	0		-1021924763
-IDS_ERROR_30	1033	Source file not found: [2].  Verify that the file exists and that you can access it.	0		-1021924763
-IDS_ERROR_31	1033	Error reading from file: [3]. {{ System error [2].}}  Verify that the file exists and that you can access it.	0		-1021924763
-IDS_ERROR_32	1033	Error writing to file: [3]. {{ System error [2].}}  Verify that you have access to that directory.	0		-1021924763
-IDS_ERROR_33	1033	Source file not found{{(cabinet)}}: [2].  Verify that the file exists and that you can access it.	0		-1021924763
-IDS_ERROR_34	1033	Cannot create the directory [2].  A file with this name already exists.  Please rename or remove the file and click Retry, or click Cancel to exit.	0		-1021924763
-IDS_ERROR_35	1033	The volume [2] is currently unavailable.  Please select another.	0		-1021924763
-IDS_ERROR_36	1033	The specified path [2] is unavailable.	0		-1021924763
-IDS_ERROR_37	1033	Unable to write to the specified folder [2].	0		-1021924763
-IDS_ERROR_38	1033	A network error occurred while attempting to read from the file [2]	0		-1021924763
-IDS_ERROR_39	1033	An error occurred while attempting to create the directory [2]	0		-1021924763
-IDS_ERROR_4	1033	Internal Error [1]. [2]{, [3]}{, [4]}	0		-1021924763
-IDS_ERROR_40	1033	A network error occurred while attempting to create the directory [2]	0		-1021924763
-IDS_ERROR_41	1033	A network error occurred while attempting to open the source file cabinet [2].	0		-1021924763
-IDS_ERROR_42	1033	The specified path is too long [2].	0		-1021924763
-IDS_ERROR_43	1033	The Installer has insufficient privileges to modify the file [2].	0		-1021924763
-IDS_ERROR_44	1033	A portion of the path [2] exceeds the length allowed by the system.	0		-1021924763
-IDS_ERROR_45	1033	The path [2] contains words that are not valid in folders.	0		-1021924763
-IDS_ERROR_46	1033	The path [2] contains an invalid character.	0		-1021924763
-IDS_ERROR_47	1033	[2] is not a valid short file name.	0		-1021924763
-IDS_ERROR_48	1033	Error getting file security: [3] GetLastError: [2]	0		-1021924763
-IDS_ERROR_49	1033	Invalid Drive: [2]	0		-1021924763
-IDS_ERROR_5	1033	{{Disk full: }}	0		-1021924763
-IDS_ERROR_50	1033	Could not create key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
-IDS_ERROR_51	1033	Could not open key: [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
-IDS_ERROR_52	1033	Could not delete value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
-IDS_ERROR_53	1033	Could not delete key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
-IDS_ERROR_54	1033	Could not read value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
-IDS_ERROR_55	1033	Could not write value [2] to key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
-IDS_ERROR_56	1033	Could not get value names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
-IDS_ERROR_57	1033	Could not get sub key names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
-IDS_ERROR_58	1033	Could not read security information for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
-IDS_ERROR_59	1033	Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.	0		-1021924763
-IDS_ERROR_6	1033	Action [Time]: [1]. [2]	0		-1021924763
-IDS_ERROR_60	1033	Another installation is in progress. You must complete that installation before continuing this one.	0		-1021924763
-IDS_ERROR_61	1033	Error accessing secured data. Please make sure the Windows Installer is configured properly and try the installation again.	0		-1021924763
-IDS_ERROR_62	1033	User [2] has previously initiated an installation for product [3].  That user will need to run that installation again before using that product.  Your current installation will now continue.	0		-1021924763
-IDS_ERROR_63	1033	User [2] has previously initiated an installation for product [3].  That user will need to run that installation again before using that product.	0		-1021924763
-IDS_ERROR_64	1033	Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB.  Free some disk space and retry.	0		-1021924763
-IDS_ERROR_65	1033	Are you sure you want to cancel?	0		-1021924763
-IDS_ERROR_66	1033	The file [2][3] is being held in use{ by the following process: Name: [4], ID: [5], Window Title: [6]}.  Close that application and retry.	0		-1021924763
-IDS_ERROR_67	1033	The product [2] is already installed, preventing the installation of this product.  The two products are incompatible.	0		-1021924763
-IDS_ERROR_68	1033	Out of disk space -- Volume: [2]; required space: [3] KB; available space: [4] KB.  If rollback is disabled, enough space is available. Click Cancel to quit, Retry to check available disk space again, or Ignore to continue without rollback.	0		-1021924763
-IDS_ERROR_69	1033	Could not access network location [2].	0		-1021924763
-IDS_ERROR_7	1033	[ProductName]	0		-1021924763
-IDS_ERROR_70	1033	The following applications should be closed before continuing the installation:	0		-1021924763
-IDS_ERROR_71	1033	Could not find any previously installed compliant products on the machine for installing this product.	0		-1021924763
-IDS_ERROR_72	1033	The key [2] is not valid.  Verify that you entered the correct key.	0		-1021924763
-IDS_ERROR_73	1033	The installer must restart your system before configuration of [2] can continue.  Click Yes to restart now or No if you plan to restart later.	0		-1021924763
-IDS_ERROR_74	1033	You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to restart later.	0		-1021924763
-IDS_ERROR_75	1033	An installation for [2] is currently suspended.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?	0		-1021924763
-IDS_ERROR_76	1033	A previous installation for this product is in progress.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?	0		-1021924763
-IDS_ERROR_77	1033	No valid source could be found for product [2].  The Windows Installer cannot continue.	0		-1021924763
-IDS_ERROR_78	1033	Installation operation completed successfully.	0		-1021924763
-IDS_ERROR_79	1033	Installation operation failed.	0		-1021924763
-IDS_ERROR_8	1033	{[2]}{, [3]}{, [4]}	0		-1021924763
-IDS_ERROR_80	1033	Product: [2] -- [3]	0		-1021924763
-IDS_ERROR_81	1033	You may either restore your computer to its previous state or continue the installation later. Would you like to restore?	0		-1021924763
-IDS_ERROR_82	1033	An error occurred while writing installation information to disk.  Check to make sure enough disk space is available, and click Retry, or Cancel to end the installation.	0		-1021924763
-IDS_ERROR_83	1033	One or more of the files required to restore your computer to its previous state could not be found.  Restoration will not be possible.	0		-1021924763
-IDS_ERROR_84	1033	The path [2] is not valid.  Please specify a valid path.	0		-1021924763
-IDS_ERROR_85	1033	Out of memory. Shut down other applications before retrying.	0		-1021924763
-IDS_ERROR_86	1033	There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.	0		-1021924763
-IDS_ERROR_87	1033	There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.	0		-1021924763
-IDS_ERROR_88	1033	The folder [2] does not exist.  Please enter a path to an existing folder.	0		-1021924763
-IDS_ERROR_89	1033	You have insufficient privileges to read this folder.	0		-1021924763
-IDS_ERROR_9	1033	Message type: [1], Argument: [2]	0		-1021924763
-IDS_ERROR_90	1033	A valid destination folder for the installation could not be determined.	0		-1021924763
-IDS_ERROR_91	1033	Error attempting to read from the source installation database: [2].	0		-1021924763
-IDS_ERROR_92	1033	Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.	0		-1021924763
-IDS_ERROR_93	1033	Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.	0		-1021924763
-IDS_ERROR_94	1033	Module [2] failed to register.  HRESULT [3].  Contact your support personnel.	0		-1021924763
-IDS_ERROR_95	1033	Module [2] failed to unregister.  HRESULT [3].  Contact your support personnel.	0		-1021924763
-IDS_ERROR_96	1033	Failed to cache package [2]. Error: [3]. Contact your support personnel.	0		-1021924763
-IDS_ERROR_97	1033	Could not register font [2].  Verify that you have sufficient permissions to install fonts, and that the system supports this font.	0		-1021924763
-IDS_ERROR_98	1033	Could not unregister font [2]. Verify that you have sufficient permissions to remove fonts.	0		-1021924763
-IDS_ERROR_99	1033	Could not create shortcut [2]. Verify that the destination folder exists and that you can access it.	0		-1021924763
-IDS_ERROR_SN_INVALID	1033	The serial number is invalid.	0		-1021924763
-IDS_ISSCRIPT_VERSION_MISSING	1033	The InstallScript engine is missing from this machine.  If available, please run ISScript.msi, or contact your support personnel for further assistance.	0		-1021924763
-IDS_ISSCRIPT_VERSION_OLD	1033	The InstallScript engine on this machine is older than the version required to run this setup.  If available, please install the latest version of ISScript.msi, or contact your support personnel for further assistance.	0		-1021924763
-IDS_PRODUCT_DEFAULT_1	1033	Your Product Name	0	SYSTEM_GENERATED	-1021924763
-IDS_SetupTips_1	1033	OK	0		-1021924763
-IDS_SetupTips_10	1033	Will be installed on first use. (Available only if the feature supports this option.)	0		-1021924763
-IDS_SetupTips_11	1033	Will be installed to run from the network. (Available only if the feature supports this option.)	0		-1021924763
-IDS_SetupTips_12	1033	This install state means the feature...	0		-1021924763
-IDS_SetupTips_13	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
-IDS_SetupTips_14	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\NetworkInstall.ico	0		-1021924763
-IDS_SetupTips_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\Install.ico	0		-1021924763
-IDS_SetupTips_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\InstallFirstUse.ico	0		-1021924763
-IDS_SetupTips_17	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\InstallPartial.ico	0		-1021924763
-IDS_SetupTips_18	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\DontInstall.ico	0		-1021924763
-IDS_SetupTips_19	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\InstallStateMenu.ico	0		-1021924763
-IDS_SetupTips_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
-IDS_SetupTips_3	1033	InstallShield	0		-1021924763
-IDS_SetupTips_4	1033	Custom Setup allows you to selectively install program features.	0		-1021924763
-IDS_SetupTips_5	1033	{&MSSansBold8}Custom Setup Tips	0		-1021924763
-IDS_SetupTips_6	1033	Will not be installed.	0		-1021924763
-IDS_SetupTips_7	1033	Will have some subfeatures installed to the local hard drive. (Available only if the feature has subfeatures.)	0		-1021924763
-IDS_SetupTips_8	1033	Will be completely installed to the local hard drive.	0		-1021924763
-IDS_SetupTips_9	1033	The icon next to the feature name indicates the install state of the feature. Click the icon to drop down the install state menu for each feature.	0		-1021924763
-IDS_STANDARD_USE_SETUPEXE	1033	This installation cannot be run by directly launching the MSI package. You must run setup.exe.	0		-1021924763
-IDS_UITEXT_0	1033	bytes	0		-1021924763
-IDS_UITEXT_1	1033	GB	0		-1021924763
-IDS_UITEXT_10	1033	This feature will remain uninstalled.	0		-1021924763
-IDS_UITEXT_11	1033	This feature will be set to be installed when required.	0		-1021924763
-IDS_UITEXT_12	1033	This feature will be installed to run from CD.	0		-1021924763
-IDS_UITEXT_13	1033	This feature will be installed on the local hard drive.	0		-1021924763
-IDS_UITEXT_14	1033	This feature will be installed to run from the network.	0		-1021924763
-IDS_UITEXT_15	1033	This feature will become unavailable.	0		-1021924763
-IDS_UITEXT_16	1033	Will be installed when required.	0		-1021924763
-IDS_UITEXT_17	1033	This feature will be available to run from CD.	0		-1021924763
-IDS_UITEXT_18	1033	This feature will be installed on your local hard drive.	0		-1021924763
-IDS_UITEXT_19	1033	This feature will be available to run from the network.	0		-1021924763
-IDS_UITEXT_2	1033	KB	0		-1021924763
-IDS_UITEXT_20	1033	This feature will be uninstalled completely, and you won't be able to run it from CD.	0		-1021924763
-IDS_UITEXT_21	1033	This feature was run from the CD but will be set to be installed when required.	0		-1021924763
-IDS_UITEXT_22	1033	This feature will continue to be run from the CD	0		-1021924763
-IDS_UITEXT_23	1033	This feature was run from the CD but will be installed on the local hard drive.	0		-1021924763
-IDS_UITEXT_24	1033	This feature frees up [1] on your hard drive.	0		-1021924763
-IDS_UITEXT_25	1033	This feature requires [1] on your hard drive.	0		-1021924763
-IDS_UITEXT_26	1033	Compiling cost for this feature...	0		-1021924763
-IDS_UITEXT_27	1033	This feature will be completely removed.	0		-1021924763
-IDS_UITEXT_28	1033	This feature will be removed from your local hard drive but will be set to be installed when required.	0		-1021924763
-IDS_UITEXT_29	1033	This feature will be removed from your local hard drive but will still be available to run from CD.	0		-1021924763
-IDS_UITEXT_3	1033	MB	0		-1021924763
-IDS_UITEXT_30	1033	This feature will remain on your local hard drive.	0		-1021924763
-IDS_UITEXT_31	1033	This feature will be removed from your local hard drive, but will be still available to run from the network.	0		-1021924763
-IDS_UITEXT_32	1033	This feature will be uninstalled completely, and you won't be able to run it from the network.	0		-1021924763
-IDS_UITEXT_33	1033	This feature was run from the network but will be installed when required.	0		-1021924763
-IDS_UITEXT_34	1033	This feature was run from the network but will be installed on the local hard drive.	0		-1021924763
-IDS_UITEXT_35	1033	This feature will continue to be run from the network	0		-1021924763
-IDS_UITEXT_36	1033	This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.	0		-1021924763
-IDS_UITEXT_37	1033	This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.	0		-1021924763
-IDS_UITEXT_38	1033	This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.	0		-1021924763
-IDS_UITEXT_39	1033	This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.	0		-1021924763
-IDS_UITEXT_4	1033	This feature will not be available.	0		-1021924763
-IDS_UITEXT_40	1033	Time remaining: {[1] min }[2] sec	0		-1021924763
-IDS_UITEXT_41	1033	Available	0		-1021924763
-IDS_UITEXT_42	1033	Differences	0		-1021924763
-IDS_UITEXT_43	1033	Required	0		-1021924763
-IDS_UITEXT_44	1033	Disk Size	0		-1021924763
-IDS_UITEXT_45	1033	Volume	0		-1021924763
-IDS_UITEXT_46	1033	This feature, and all subfeatures, will be installed to run from the network.	0		-1021924763
-IDS_UITEXT_47	1033	This feature, and all subfeatures, will be installed to run from the CD.	0		-1021924763
-IDS_UITEXT_48	1033	This feature, and all subfeatures, will be installed on local hard drive.	0		-1021924763
-IDS_UITEXT_5	1033	This feature will be installed when required.	0		-1021924763
-IDS_UITEXT_6	1033	This feature will be installed to run from CD.	0		-1021924763
-IDS_UITEXT_7	1033	This feature will be installed on local hard drive.	0		-1021924763
-IDS_UITEXT_8	1033	This feature will be installed to run from network.	0		-1021924763
-IDS_UITEXT_9	1033	Fldr|New Folder	0		-1021924763
-NEW_STRING1	1033	[ProductName] Installer Information	0		1687606380
-NEW_STRING6	1033	[INSTALLDIR] is not a valid path to an installed instance of Apache.	0		1687569580
-NEW_STRING9	1033	&Retry	0		1687571628
+ISString	ISLanguage_	Value	Encoded	Comment	TimeStamp
+s255	s50	S0	I2	S0	I4
+ISString	ISString	ISLanguage_
+COMPANY_NAME	1033	The Apache Software Foundation	0		-1021924763
+COMPANY_URI	1033	http://httpd.apache.org/	0		605450580
+DN_AlwaysInstall	1033	Always Install	0		-1021924763
+FEATURE_DESC	1033	Microsoft ASP.NET support module for Apache httpd Web Server	0		739664554
+FEATURE_NAME	1033	Apache mod_aspdotnet	0		605430132
+ID_STRING1	1033	No comment	0		0
+ID_STRING2	1033	The install path must be an installed Apache httpd Web Server path. [1] was not a valid path to Apache.	0		1687578668
+IDPROP_ARPCOMMENTS	1033	Your Comments	0		-1021924763
+IDPROP_ARPCONTACT	1033	Customer Support Department	0		-1021924763
+IDPROP_ARPHELPLINK	1033	http://www.yourcompany.com/help	0		-1021924763
+IDPROP_ARPHELPTELEPHONE	1033	1-555-555-4505	0		-1021924763
+IDPROP_ARPURLINFOABOUT	1033	http://www.yourcompany.com	0		-1021924763
+IDPROP_ARPURLUPDATEINFO	1033	http://www.yourcompany.com/updateinfo	0		-1021924763
+IDPROP_EXPRESS_LAUNCH_CONDITION_COLOR	1033	The color settings of your system are not adequate for running [ProductName].	0		-1021924763
+IDPROP_EXPRESS_LAUNCH_CONDITION_OS	1033	The operating system is not adequate for running [ProductName].	0		-1021924763
+IDPROP_EXPRESS_LAUNCH_CONDITION_PROCESSOR	1033	The processor is not adequate for running [ProductName].	0		-1021924763
+IDPROP_EXPRESS_LAUNCH_CONDITION_RAM	1033	The amount of RAM is not adequate for running [ProductName].	0		-1021924763
+IDPROP_EXPRESS_LAUNCH_CONDITION_SCREEN	1033	The screen resolution is not adequate for running [ProductName].	0		-1021924763
+IDPROP_SETUPTYPE_COMPACT	1033	Compact	0		-1021924763
+IDPROP_SETUPTYPE_COMPACT_DESC	1033	Compact Description	0		-1021924763
+IDPROP_SETUPTYPE_CUSTOM	1033	Custom	0		-1021924763
+IDPROP_SETUPTYPE_CUSTOM_DESC	1033	Custom Description	0		-1021924763
+IDPROP_SETUPTYPE_TYPICAL	1033	Typical	0		-1021924763
+IDPROP_SETUPTYPE_TYPICAL_DESC	1033	Typical Description	0		-1021924763
+IDS__AgreeToLicense_0	1033	I &do not accept the terms in the license agreement	0		-1021924763
+IDS__AgreeToLicense_1	1033	I &accept the terms in the license agreement	0		-1021924763
+IDS__DatabaseFolder_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__DatabaseFolder_1	1033	Cancel	0		-1021924763
+IDS__DatabaseFolder_10	1033	Install [ProductName] database to:	0		-1021924763
+IDS__DatabaseFolder_11	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__DatabaseFolder_12	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibd	0		-1021924763
+IDS__DatabaseFolder_2	1033	InstallShield	0		-1021924763
+IDS__DatabaseFolder_3	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__DatabaseFolder_4	1033	Click Next to install to this folder, or click Change to install to a different folder.	0		-1021924763
+IDS__DatabaseFolder_5	1033	{&MSSansBold8}Database Folder	0		-1021924763
+IDS__DatabaseFolder_6	1033	< &Back	0		-1021924763
+IDS__DatabaseFolder_7	1033	&Next >	0		-1021924763
+IDS__DatabaseFolder_8	1033	&Change...	0		-1021924763
+IDS__DatabaseFolder_9	1033	[DATABASEDIR]	0		-1021924763
+IDS__DestinationFolder_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__DestinationFolder_1	1033	Cancel	0		-1021924763
+IDS__DestinationFolder_10	1033	Install [ProductName] to:	0		-1021924763
+IDS__DestinationFolder_11	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__DestinationFolder_12	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibd	0		-1021924763
+IDS__DestinationFolder_2	1033	InstallShield	0		-1021924763
+IDS__DestinationFolder_3	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__DestinationFolder_4	1033	Click Next to install to this folder, or click Change to install to a different folder.	0		-1021924763
+IDS__DestinationFolder_5	1033	{&MSSansBold8}Destination Folder	0		-1021924763
+IDS__DestinationFolder_6	1033	< &Back	0		-1021924763
+IDS__DestinationFolder_7	1033	&Next >	0		-1021924763
+IDS__DestinationFolder_8	1033	&Change...	0		-1021924763
+IDS__DestinationFolder_9	1033	[INSTALLDIR]	0		-1021924763
+IDS__DisplayName_Custom	1033	Custom	0		-1021924763
+IDS__DisplayName_Minimal	1033	Minimal	0		-1021924763
+IDS__DisplayName_Typical	1033	Typical	0		-1021924763
+IDS__IsAdminInstallBrowse_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsAdminInstallBrowse_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsAdminInstallBrowse_10	1033	OK	0		-1021924763
+IDS__IsAdminInstallBrowse_11	1033		0		-1021924763
+IDS__IsAdminInstallBrowse_12	1033	&Folder name:	0		-1021924763
+IDS__IsAdminInstallBrowse_13	1033	Up one level|	0		-1021924763
+IDS__IsAdminInstallBrowse_14	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsAdminInstallBrowse_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibd	0		-1021924763
+IDS__IsAdminInstallBrowse_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibd	0		-1021924763
+IDS__IsAdminInstallBrowse_2	1033	InstallShield	0		-1021924763
+IDS__IsAdminInstallBrowse_3	1033	Cancel	0		-1021924763
+IDS__IsAdminInstallBrowse_4	1033		0		-1021924763
+IDS__IsAdminInstallBrowse_5	1033	&Look in:	0		-1021924763
+IDS__IsAdminInstallBrowse_6	1033	Browse to the destination folder.	0		-1021924763
+IDS__IsAdminInstallBrowse_7	1033	{&MSSansBold8}Change Current Destination Folder	0		-1021924763
+IDS__IsAdminInstallBrowse_8	1033		0		-1021924763
+IDS__IsAdminInstallBrowse_9	1033	Create new folder|	0		-1021924763
+IDS__IsAdminInstallPoint_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsAdminInstallPoint_1	1033	< &Back	0		-1021924763
+IDS__IsAdminInstallPoint_10	1033	&Network location:	0		-1021924763
+IDS__IsAdminInstallPoint_11	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsAdminInstallPoint_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsAdminInstallPoint_3	1033	InstallShield	0		-1021924763
+IDS__IsAdminInstallPoint_4	1033	&Change...	0		-1021924763
+IDS__IsAdminInstallPoint_5	1033	Cancel	0		-1021924763
+IDS__IsAdminInstallPoint_6	1033	Specify a network location for the server image of the product.	0		-1021924763
+IDS__IsAdminInstallPoint_7	1033	Enter the network location or click Change to browse to a location.  Click Install to create a server image of [ProductName] at the specified network location or click Cancel to exit the wizard.	0		-1021924763
+IDS__IsAdminInstallPoint_8	1033	{&MSSansBold8}Network Location	0		-1021924763
+IDS__IsAdminInstallPoint_9	1033	&Install	0		-1021924763
+IDS__IsAdminInstallPointWelcome_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsAdminInstallPointWelcome_1	1033	< &Back	0		-1021924763
+IDS__IsAdminInstallPointWelcome_2	1033	Cancel	0		-1021924763
+IDS__IsAdminInstallPointWelcome_3	1033	&Next >	0		-1021924763
+IDS__IsAdminInstallPointWelcome_4	1033	{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]	0		-1021924763
+IDS__IsAdminInstallPointWelcome_5	1033	The InstallShield(R) Wizard will create a server image of [ProductName] at a specified network location. To continue, click Next.	0		-1021924763
+IDS__IsAdminInstallPointWelcome_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsBitmapDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsBitmapDlg_1	1033	< &Back	0		-1021924763
+IDS__IsBitmapDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsBitmapDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsBitmapDlg_4	1033	Cancel	0		-1021924763
+IDS__IsBitmapDlg_5	1033	&Next >	0		-1021924763
+IDS__IsBitmapDlg_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsBrowseFolderDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsBrowseFolderDlg_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsBrowseFolderDlg_10	1033	OK	0		-1021924763
+IDS__IsBrowseFolderDlg_11	1033		0		-1021924763
+IDS__IsBrowseFolderDlg_12	1033	&Folder name:	0		-1021924763
+IDS__IsBrowseFolderDlg_13	1033	Up One Level|	0		-1021924763
+IDS__IsBrowseFolderDlg_14	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsBrowseFolderDlg_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibd	0		-1021924763
+IDS__IsBrowseFolderDlg_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibd	0		-1021924763
+IDS__IsBrowseFolderDlg_2	1033	InstallShield	0		-1021924763
+IDS__IsBrowseFolderDlg_3	1033	Cancel	0		-1021924763
+IDS__IsBrowseFolderDlg_4	1033		0		-1021924763
+IDS__IsBrowseFolderDlg_5	1033	&Look in:	0		-1021924763
+IDS__IsBrowseFolderDlg_6	1033	Browse to the destination folder.	0		-1021924763
+IDS__IsBrowseFolderDlg_7	1033	{&MSSansBold8}Change Current Destination Folder	0		-1021924763
+IDS__IsBrowseFolderDlg_8	1033		0		-1021924763
+IDS__IsBrowseFolderDlg_9	1033	Create New Folder|	0		-1021924763
+IDS__IsCancelDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsCancelDlg_1	1033	Information icon|	0		-1021924763
+IDS__IsCancelDlg_2	1033	InstallShield	0		-1021924763
+IDS__IsCancelDlg_3	1033	Are you sure you want to cancel the installation?	0		-1021924763
+IDS__IsCancelDlg_4	1033	Are you sure you want to cancel [ProductName] installation?	0		-1021924763
+IDS__IsCancelDlg_5	1033	{&MSSansBold8}Cancel Setup	0		-1021924763
+IDS__IsCancelDlg_6	1033	&No	0		-1021924763
+IDS__IsCancelDlg_7	1033	To continue installing [ProductName], click Resume. To exit the installation, click Exit.	0		-1021924763
+IDS__IsCancelDlg_8	1033	&Yes	0		-1021924763
+IDS__IsCancelDlg_9	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibd	0		-1021924763
+IDS__IsCustomSelectionDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsCustomSelectionDlg_1	1033	< &Back	0		-1021924763
+IDS__IsCustomSelectionDlg_10	1033	Feature Description:	0		-1021924763
+IDS__IsCustomSelectionDlg_11	1033	&Next >	0		-1021924763
+IDS__IsCustomSelectionDlg_12	1033	Feature size	0		-1021924763
+IDS__IsCustomSelectionDlg_13	1033	&Help	0		-1021924763
+IDS__IsCustomSelectionDlg_14	1033	Multiline description of the currently selected item	0		-1021924763
+IDS__IsCustomSelectionDlg_15	1033	Feature Description	0		-1021924763
+IDS__IsCustomSelectionDlg_16	1033	&Change...	0		-1021924763
+IDS__IsCustomSelectionDlg_17	1033	<selected feature path>	0		-1021924763
+IDS__IsCustomSelectionDlg_18	1033	Install to:	0		-1021924763
+IDS__IsCustomSelectionDlg_19	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsCustomSelectionDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsCustomSelectionDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsCustomSelectionDlg_4	1033	Cancel	0		-1021924763
+IDS__IsCustomSelectionDlg_5	1033	&Space	0		-1021924763
+IDS__IsCustomSelectionDlg_6	1033	Select the program features you want installed.	0		-1021924763
+IDS__IsCustomSelectionDlg_7	1033	Click on an icon in the list below to change how a feature is installed.	0		-1021924763
+IDS__IsCustomSelectionDlg_8	1033	{&MSSansBold8}Custom Setup	0		-1021924763
+IDS__IsCustomSelectionDlg_9	1033	Multiline description of the currently selected item	0		-1021924763
+IDS__IsDatabaseLocation_1	1033	InstallShield	0		-1021924763
+IDS__IsDatabaseLocation_10	1033	[DATABASEDIR]	0		-1021924763
+IDS__IsDatabaseLocation_11	1033	Install Application Database to:	0		-1021924763
+IDS__IsDatabaseLocation_12	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsDatabaseLocation_13	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsDatabaseLocation_2	1033	2	0		-1021924763
+IDS__IsDatabaseLocation_3	1033	Cancel	0		-1021924763
+IDS__IsDatabaseLocation_4	1033	4	0		-1021924763
+IDS__IsDatabaseLocation_5	1033	Click next to install the application's database to this folder, or click change to install it to a different folder.	0		-1021924763
+IDS__IsDatabaseLocation_6	1033	{&MSSansBold8}Database Destination Folder	0		-1021924763
+IDS__IsDatabaseLocation_7	1033	< &Back	0		-1021924763
+IDS__IsDatabaseLocation_8	1033	&Next >	0		-1021924763
+IDS__IsDatabaseLocation_9	1033	&Change...	0		-1021924763
+IDS__IsDiskSpaceDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsDiskSpaceDlg_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsDiskSpaceDlg_10	1033	OK	0		-1021924763
+IDS__IsDiskSpaceDlg_11	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsDiskSpaceDlg_2	1033	InstallShield	0		-1021924763
+IDS__IsDiskSpaceDlg_3	1033	&Disk Cleanup	0		-1021924763
+IDS__IsDiskSpaceDlg_4	1033	Disk space required for the installation exceeds available disk space.	0		-1021924763
+IDS__IsDiskSpaceDlg_5	1033	The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install less features onto local drives, or select different destination drives.	0		-1021924763
+IDS__IsDiskSpaceDlg_6	1033	{&MSSansBold8}Out of Disk Space	0		-1021924763
+IDS__IsDiskSpaceDlg_7	1033	&Exit	0		-1021924763
+IDS__IsDiskSpaceDlg_8	1033	Use disk cleanup to free more disk space by removing unneeded files.	0		-1021924763
+IDS__IsDiskSpaceDlg_9	1033	{120}{70}{70}{70}{70}	0		-1021924763
+IDS__IsErrorDlg_0	1033	[ProductName] Installer Information	0		-1021924763
+IDS__IsErrorDlg_1	1033	&Abort	0		-1021924763
+IDS__IsErrorDlg_2	1033	&Cancel	0		-1021924763
+IDS__IsErrorDlg_3	1033	<error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here>	0		-1021924763
+IDS__IsErrorDlg_4	1033	&Ignore	0		-1021924763
+IDS__IsErrorDlg_5	1033	&No	0		-1021924763
+IDS__IsErrorDlg_6	1033	&OK	0		-1021924763
+IDS__IsErrorDlg_7	1033	&Retry	0		-1021924763
+IDS__IsErrorDlg_8	1033	&Yes	0		-1021924763
+IDS__IsErrorDlg_9	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibd	0		-1021924763
+IDS__IsExitDialog_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsExitDialog_1	1033	< &Back	0		-1021924763
+IDS__IsExitDialog_2	1033	Cancel	0		-1021924763
+IDS__IsExitDialog_3	1033	&Finish	0		-1021924763
+IDS__IsExitDialog_4	1033	{&TahomaBold10}InstallShield Wizard Completed	0		-1021924763
+IDS__IsExitDialog_5	1033	The InstallShield Wizard has successfully installed [ProductName]. Click Finish to exit the wizard.	0		-1021924763
+IDS__IsExitDialog_6	1033	The InstallShield Wizard has successfully uninstalled [ProductName]. Click Finish to exit the wizard.	0		-1021924763
+IDS__IsExitDialog_7	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsExitDialog_8	1033	Show the readme file	0		-1021924763
+IDS__IsExitDialog_9	1033	Launch the program	0		-1021924763
+IDS__IsExitDialog_Update_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsExitDialog_Update_1	1033	< &Back	0		-1021924763
+IDS__IsExitDialog_Update_2	1033	Cancel	0		-1021924763
+IDS__IsExitDialog_Update_3	1033	&Finish	0		-1021924763
+IDS__IsExitDialog_Update_4	1033	Setup has finished installing [ProductName].	0		-1021924763
+IDS__IsExitDialog_Update_5	1033	Some program files might have been updated since you purchased your copy of [ProductName].	0		-1021924763
+IDS__IsExitDialog_Update_6	1033	Your Internet connection can be used to make sure that you have the latest updates.	0		-1021924763
+IDS__IsExitDialog_Update_7	1033	&Yes, check for program updates (Recommended) after the setup completes.	0		-1021924763
+IDS__IsFatalError_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsFatalError_1	1033	< &Back	0		-1021924763
+IDS__IsFatalError_10	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsFatalError_2	1033	Cancel	0		-1021924763
+IDS__IsFatalError_3	1033	&Finish	0		-1021924763
+IDS__IsFatalError_4	1033	Your system has not been modified. To complete installation at another time, please run setup again.	0		-1021924763
+IDS__IsFatalError_5	1033	Click Finish to exit the wizard.	0		-1021924763
+IDS__IsFatalError_6	1033	You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.	0		-1021924763
+IDS__IsFatalError_7	1033	Click Restore or Continue Later to exit the wizard.	0		-1021924763
+IDS__IsFatalError_8	1033	{&TahomaBold10}InstallShield Wizard Completed	0		-1021924763
+IDS__IsFatalError_9	1033	The wizard was interrupted before [ProductName] could be completely installed.	0		-1021924763
+IDS__IsFeatureDetailsDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsFeatureDetailsDlg_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsFeatureDetailsDlg_10	1033	Use disk cleanup to free more disk space by removing unneeded files.	0		-1021924763
+IDS__IsFeatureDetailsDlg_11	1033	Install to:	0		-1021924763
+IDS__IsFeatureDetailsDlg_12	1033	Total disk space required:	0		-1021924763
+IDS__IsFeatureDetailsDlg_13	1033	{120}{70}{70}{70}{70}	0		-1021924763
+IDS__IsFeatureDetailsDlg_14	1033	OK	0		-1021924763
+IDS__IsFeatureDetailsDlg_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsFeatureDetailsDlg_2	1033	InstallShield	0		-1021924763
+IDS__IsFeatureDetailsDlg_3	1033	&Change...	0		-1021924763
+IDS__IsFeatureDetailsDlg_4	1033	Cancel	0		-1021924763
+IDS__IsFeatureDetailsDlg_5	1033	&Disk Cleanup	0		-1021924763
+IDS__IsFeatureDetailsDlg_6	1033	The disk space required for the installation of the selected features.	0		-1021924763
+IDS__IsFeatureDetailsDlg_7	1033	The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install less features onto local drives, or select different destination drives.	0		-1021924763
+IDS__IsFeatureDetailsDlg_8	1033	{&MSSansBold8}Disk Space Requirements	0		-1021924763
+IDS__IsFeatureDetailsDlg_9	1033		0		-1021924763
+IDS__IsFilesInUse_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsFilesInUse_1	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsFilesInUse_10	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsFilesInUse_2	1033	InstallShield	0		-1021924763
+IDS__IsFilesInUse_3	1033	Some files that need to be updated are currently in use.	0		-1021924763
+IDS__IsFilesInUse_4	1033	The following applications are using files that need to be updated by this setup. Close these applications and click Retry to continue.	0		-1021924763
+IDS__IsFilesInUse_5	1033	{&MSSansBold8}Files in Use	0		-1021924763
+IDS__IsFilesInUse_6	1033	&Exit	0		-1021924763
+IDS__IsFilesInUse_7	1033	&Ignore	0		-1021924763
+IDS__IsFilesInUse_8	1033	&Retry	0		-1021924763
+IDS__IsFilesInUse_9	1033		0		-1021924763
+IDS__IsInitDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsInitDlg_1	1033		0		-1021924763
+IDS__IsInitDlg_2	1033		0		-1021924763
+IDS__IsInitDlg_3	1033	< &Back	0		-1021924763
+IDS__IsInitDlg_4	1033	Cancel	0		-1021924763
+IDS__IsInitDlg_5	1033	&Next >	0		-1021924763
+IDS__IsInitDlg_6	1033	{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]	0		-1021924763
+IDS__IsInitDlg_7	1033	[ProductName] Setup is preparing the InstallShield Wizard which will guide you through the program setup process.  Please wait.	0		-1021924763
+IDS__IsInitDlg_8	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsLicenseDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsLicenseDlg_1	1033	< &Back	0		-1021924763
+IDS__IsLicenseDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsLicenseDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsLicenseDlg_4	1033	Cancel	0		-1021924763
+IDS__IsLicenseDlg_5	1033	Please read the following license agreement carefully.	0		-1021924763
+IDS__IsLicenseDlg_6	1033	Click Accept to accept the terms of this agreement, or click Decline to exit the wizard.	0		-1021924763
+IDS__IsLicenseDlg_7	1033	{&MSSansBold8}License Agreement	0		-1021924763
+IDS__IsLicenseDlg_8	1033	&Next >	0		-1021924763
+IDS__IsLicenseDlg_9	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsLicenseDlg_EULA	1033	<ISProductFolder>\Redist\0409\Eula.rtf	0		-1021924763
+IDS__IsMaintenanceDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsMaintenanceDlg_1	1033	< &Back	0		-1021924763
+IDS__IsMaintenanceDlg_10	1033	{&MSSansBold8}&Remove	0		-1021924763
+IDS__IsMaintenanceDlg_11	1033		0		-1021924763
+IDS__IsMaintenanceDlg_12	1033	Change which program features are installed. This option displays the Custom Selection dialog in which you can change the way features are installed.	0		-1021924763
+IDS__IsMaintenanceDlg_13	1033	Repair installation errors in the program. This option fixes missing or corrupt files, shortcuts, and registry entries.	0		-1021924763
+IDS__IsMaintenanceDlg_14	1033	Remove [ProductName] from your computer.	0		-1021924763
+IDS__IsMaintenanceDlg_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsMaintenanceDlg_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\RemoveIco.ibd	0		-1021924763
+IDS__IsMaintenanceDlg_17	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\ReinstIco.ibd	0		-1021924763
+IDS__IsMaintenanceDlg_18	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd	0		-1021924763
+IDS__IsMaintenanceDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsMaintenanceDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsMaintenanceDlg_4	1033	Cancel	0		-1021924763
+IDS__IsMaintenanceDlg_5	1033	Modify, repair, or remove the program.	0		-1021924763
+IDS__IsMaintenanceDlg_6	1033	{&MSSansBold8}Program Maintenance	0		-1021924763
+IDS__IsMaintenanceDlg_7	1033	&Next >	0		-1021924763
+IDS__IsMaintenanceDlg_8	1033	{&MSSansBold8}&Modify	0		-1021924763
+IDS__IsMaintenanceDlg_9	1033	{&MSSansBold8}Re&pair	0		-1021924763
+IDS__IsMaintenanceWelcome_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsMaintenanceWelcome_1	1033	< &Back	0		-1021924763
+IDS__IsMaintenanceWelcome_2	1033	Cancel	0		-1021924763
+IDS__IsMaintenanceWelcome_3	1033	&Next >	0		-1021924763
+IDS__IsMaintenanceWelcome_4	1033	{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]	0		-1021924763
+IDS__IsMaintenanceWelcome_5	1033	The InstallShield(R) Wizard will allow you to modify, repair, or remove [ProductName]. To continue, click Next.	0		-1021924763
+IDS__IsMaintenanceWelcome_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsPatchDlg_0	1033	[ProductName] Patch - InstallShield Wizard	0		-1021924763
+IDS__IsPatchDlg_1	1033	{&TahomaBold10}Welcome to the Patch for [ProductName]	0		-1021924763
+IDS__IsPatchDlg_2	1033	The InstallShield(R) Wizard will install the Patch for [ProductName] on your computer.  To continue, click Update.	0		-1021924763
+IDS__IsPatchDlg_3	1033	Cancel	0		-1021924763
+IDS__IsPatchDlg_4	1033	< &Back	0		-1021924763
+IDS__IsPatchDlg_5	1033	&Update >	0		-1021924763
+IDS__IsPatchDlg_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsProgressDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsProgressDlg_1	1033	Progress done	0		-1021924763
+IDS__IsProgressDlg_10	1033	(Hidden for now)Sec.	0		-1021924763
+IDS__IsProgressDlg_11	1033	Status:	0		-1021924763
+IDS__IsProgressDlg_12	1033	&Next >	0		-1021924763
+IDS__IsProgressDlg_13	1033	(Hidden for now)	0		-1021924763
+IDS__IsProgressDlg_14	1033	)Hidden for now)Estimated time remaining:	0		-1021924763
+IDS__IsProgressDlg_15	1033	{&MSSansBold8}Uninstalling [ProductName]	0		-1021924763
+IDS__IsProgressDlg_16	1033	The program features you selected are being uninstalled.	0		-1021924763
+IDS__IsProgressDlg_17	1033	Please wait while the InstallShield Wizard uninstalls [ProductName]. This may take several minutes.	0		-1021924763
+IDS__IsProgressDlg_18	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\SetupIcon.ibd	0		-1021924763
+IDS__IsProgressDlg_19	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsProgressDlg_2	1033		0		-1021924763
+IDS__IsProgressDlg_3	1033	< &Back	0		-1021924763
+IDS__IsProgressDlg_4	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsProgressDlg_5	1033	InstallShield	0		-1021924763
+IDS__IsProgressDlg_6	1033	Cancel	0		-1021924763
+IDS__IsProgressDlg_7	1033	The program features you selected are being installed.	0		-1021924763
+IDS__IsProgressDlg_8	1033	Please wait while the InstallShield Wizard installs [ProductName]. This may take several minutes.	0		-1021924763
+IDS__IsProgressDlg_9	1033	{&MSSansBold8}Installing [ProductName]	0		-1021924763
+IDS__IsReadmeDlg_0	1033	{&MSSansBold8}Readme Information	0		-1021924763
+IDS__IsReadmeDlg_1	1033	Please read the following readme information carefully.	0		-1021924763
+IDS__IsReadmeDlg_2	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsReadmeDlg_3	1033	< &Back	0		-1021924763
+IDS__IsReadmeDlg_4	1033	&Next >	0		-1021924763
+IDS__IsReadmeDlg_5	1033	&Cancel	0		-1021924763
+IDS__IsReadmeDlg_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsReadmeDlg_7	1033	InstallShield	0		-1021924763
+IDS__IsReadmeDlg_8	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsRegisterUserDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsRegisterUserDlg_1	1033	< &Back	0		-1021924763
+IDS__IsRegisterUserDlg_10	1033	{\Tahoma8}{50}	0		-1021924763
+IDS__IsRegisterUserDlg_11	1033	&User Name:	0		-1021924763
+IDS__IsRegisterUserDlg_12	1033	&Next >	0		-1021924763
+IDS__IsRegisterUserDlg_13	1033	Install the help documentation for:	0		-1021924763
+IDS__IsRegisterUserDlg_14	1033	&Anyone who uses this computer (all users)	0		-1021924763
+IDS__IsRegisterUserDlg_15	1033	Only for &me ([USERNAME])	0		-1021924763
+IDS__IsRegisterUserDlg_16	1033		0		-1021924763
+IDS__IsRegisterUserDlg_17	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsRegisterUserDlg_18	1033	&Serial Number:	0		-1021924763
+IDS__IsRegisterUserDlg_19	1033	&Other...	0		-602530036
+IDS__IsRegisterUserDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsRegisterUserDlg_20	1033	Install [ProductName] to:	0		-602530036
+IDS__IsRegisterUserDlg_21	1033	WARNING: You must choose the Apache root directory above.  (This root contains the directories bin, htdocs, etc...)	0		-602534547
+IDS__IsRegisterUserDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsRegisterUserDlg_4	1033	Cancel	0		-1021924763
+IDS__IsRegisterUserDlg_5	1033	{\Tahoma8}{80}	0		-1021924763
+IDS__IsRegisterUserDlg_6	1033	&Organization:	0		-1021924763
+IDS__IsRegisterUserDlg_7	1033	The options below must correspond to your exiting Apache httpd Web Server installation.	0		-1021924763
+IDS__IsRegisterUserDlg_8	1033	Please enter your name and organization.	0		-1021924763
+IDS__IsRegisterUserDlg_9	1033	{&MSSansBold8}Installation Options	0		-1021924763
+IDS__IsReinstallDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsReinstallDlg_1	1033	< &Back	0		-1021924763
+IDS__IsReinstallDlg_10	1033	&Complete	0		-1021924763
+IDS__IsReinstallDlg_11	1033		0		-1021924763
+IDS__IsReinstallDlg_12	1033	Replace all files whose versions differ from that required by the program and all registry entries and shortcuts required by the program.	0		-1021924763
+IDS__IsReinstallDlg_13	1033	Replace only missing program files and registry entries for installed features.	0		-1021924763
+IDS__IsReinstallDlg_14	1033	Replace all files, registry entries, and shortcuts required by the program.	0		-1021924763
+IDS__IsReinstallDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsReinstallDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsReinstallDlg_4	1033	Cancel	0		-1021924763
+IDS__IsReinstallDlg_5	1033	Select how you want the program elements reinstalled.	0		-1021924763
+IDS__IsReinstallDlg_6	1033	{&MSSansBold8}Reinstallation Mode	0		-1021924763
+IDS__IsReinstallDlg_7	1033	&Next >	0		-1021924763
+IDS__IsReinstallDlg_8	1033	No&rmal	0		-1021924763
+IDS__IsReinstallDlg_9	1033	&Minimal	0		-1021924763
+IDS__IsResumeDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsResumeDlg_1	1033	< &Back	0		-1021924763
+IDS__IsResumeDlg_2	1033	Cancel	0		-1021924763
+IDS__IsResumeDlg_3	1033	&Next >	0		-1021924763
+IDS__IsResumeDlg_4	1033	The InstallShield(R) Wizard will complete the installation of [ProductName] on your computer. To continue, click Next.	0		-1021924763
+IDS__IsResumeDlg_5	1033	The InstallShield(R) Wizard will complete the suspended installation of [ProductName] on your computer. To continue, click Next.	0		-1021924763
+IDS__IsResumeDlg_6	1033	{&TahomaBold10}Resuming the InstallShield Wizard for [ProductName]	0		-1021924763
+IDS__IsResumeDlg_7	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsSetupTypeMinDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsSetupTypeMinDlg_1	1033	< &Back	0		-1021924763
+IDS__IsSetupTypeMinDlg_10	1033	&Next >	0		-1021924763
+IDS__IsSetupTypeMinDlg_11	1033	{&MSSansBold8}&Complete	0		-1021924763
+IDS__IsSetupTypeMinDlg_12	1033	{&MSSansBold8}Cu&stom	0		-1021924763
+IDS__IsSetupTypeMinDlg_13	1033		0		-1021924763
+IDS__IsSetupTypeMinDlg_14	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd	0		-1021924763
+IDS__IsSetupTypeMinDlg_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsSetupTypeMinDlg_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibd	0		-1021924763
+IDS__IsSetupTypeMinDlg_17	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibd	0		-1021924763
+IDS__IsSetupTypeMinDlg_18	1033	Minimum required features will be installed.	0		-1021924763
+IDS__IsSetupTypeMinDlg_19	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd	0		-1021924763
+IDS__IsSetupTypeMinDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsSetupTypeMinDlg_20	1033	{&MSSansBold8}&Minimal	0		-1021924763
+IDS__IsSetupTypeMinDlg_21	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibd	0		-1021924763
+IDS__IsSetupTypeMinDlg_22	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibd	0		-1021924763
+IDS__IsSetupTypeMinDlg_23	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsSetupTypeMinDlg_24	1033	{&MSSansBold8}&Typical	0		-1021924763
+IDS__IsSetupTypeMinDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsSetupTypeMinDlg_4	1033	Cancel	0		-1021924763
+IDS__IsSetupTypeMinDlg_5	1033	All program features will be installed. (Requires the most disk space.)	0		-1021924763
+IDS__IsSetupTypeMinDlg_6	1033	Choose which program features you want installed and where they will be installed. Recommended for advanced users.	0		-1021924763
+IDS__IsSetupTypeMinDlg_7	1033	Choose the setup type that best suits your needs.	0		-1021924763
+IDS__IsSetupTypeMinDlg_8	1033	Please select a setup type.	0		-1021924763
+IDS__IsSetupTypeMinDlg_9	1033	{&MSSansBold8}Setup Type	0		-1021924763
+IDS__IsStartCopyDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsStartCopyDlg_1	1033	< &Back	0		-1021924763
+IDS__IsStartCopyDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsStartCopyDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsStartCopyDlg_4	1033	Cancel	0		-1021924763
+IDS__IsStartCopyDlg_5	1033	The wizard is ready to begin installation.	0		-1021924763
+IDS__IsStartCopyDlg_6	1033	Click Next to begin the installation.	0		-1021924763
+IDS__IsStartCopyDlg_7	1033	If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.	0		-1021924763
+IDS__IsStartCopyDlg_8	1033	{&MSSansBold8}Ready to Install	0		-1021924763
+IDS__IsStartCopyDlg_9	1033	&Next >	0		-1021924763
+IDS__IsUserExit_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsUserExit_1	1033	< &Back	0		-1021924763
+IDS__IsUserExit_10	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsUserExit_2	1033	Cancel	0		-1021924763
+IDS__IsUserExit_3	1033	&Finish	0		-1021924763
+IDS__IsUserExit_4	1033	Your system has not been modified. To install this program at a later time, please run the installation again.	0		-1021924763
+IDS__IsUserExit_5	1033	Click Finish to exit the wizard.	0		-1021924763
+IDS__IsUserExit_6	1033	You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.	0		-1021924763
+IDS__IsUserExit_7	1033	Click Restore or Continue Later to exit the wizard.	0		-1021924763
+IDS__IsUserExit_8	1033	{&TahomaBold10}InstallShield Wizard Completed	0		-1021924763
+IDS__IsUserExit_9	1033	The wizard was interrupted before [ProductName] could be completely installed.	0		-1021924763
+IDS__IsVerifyReadyDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsVerifyReadyDlg_1	1033	< &Back	0		-1021924763
+IDS__IsVerifyReadyDlg_10	1033	{&MSSansBold8}Ready to Repair the Program	0		-1021924763
+IDS__IsVerifyReadyDlg_11	1033	{&MSSansBold8}Ready to Install the Program	0		-1021924763
+IDS__IsVerifyReadyDlg_12	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsVerifyReadyDlg_13	1033	Serial: [SERIALNUMBER]	0		-1021924763
+IDS__IsVerifyReadyDlg_13X	1033	Serial: [ISX_SERIALNUM]	0		-1021924763
+IDS__IsVerifyReadyDlg_14	1033	Company: [COMPANYNAME]	0		-1021924763
+IDS__IsVerifyReadyDlg_15	1033	Name: [USERNAME]	0		-1021924763
+IDS__IsVerifyReadyDlg_16	1033	User Information:	0		-1021924763
+IDS__IsVerifyReadyDlg_17	1033	[INSTALLDIR]	0		-1021924763
+IDS__IsVerifyReadyDlg_18	1033	Destination Folder:	0		-1021924763
+IDS__IsVerifyReadyDlg_19	1033	[SelectedSetupType]	0		-1021924763
+IDS__IsVerifyReadyDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsVerifyReadyDlg_20	1033	Setup Type:	0		-1021924763
+IDS__IsVerifyReadyDlg_21	1033	Current Settings:	0		-1021924763
+IDS__IsVerifyReadyDlg_22	1033	[ProductName] will be installed to [INSTALLDIR]	0		1553390316
+IDS__IsVerifyReadyDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsVerifyReadyDlg_4	1033	Cancel	0		-1021924763
+IDS__IsVerifyReadyDlg_5	1033	The wizard is ready to begin installation.	0		-1021924763
+IDS__IsVerifyReadyDlg_6	1033	Click Install to begin the installation.	0		-1021924763
+IDS__IsVerifyReadyDlg_7	1033	If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.	0		-1021924763
+IDS__IsVerifyReadyDlg_8	1033	{&MSSansBold8}Ready to Modify the Program	0		-1021924763
+IDS__IsVerifyReadyDlg_9	1033	&Install	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_1	1033	< &Back	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_10	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_3	1033	InstallShield	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_4	1033	Cancel	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_5	1033	You have chosen to remove the program from your system.	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_6	1033	Click Remove to remove [ProductName] from your computer. After removal, this program will no longer be available for use.	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_7	1033	If you want to review or change any settings, click Back.	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_8	1033	{&MSSansBold8}Remove the Program	0		-1021924763
+IDS__IsVerifyRemoveAllDlg_9	1033	&Remove	0		-1021924763
+IDS__IsWelcomeDlg_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__IsWelcomeDlg_1	1033	< &Back	0		-1021924763
+IDS__IsWelcomeDlg_2	1033	Cancel	0		-1021924763
+IDS__IsWelcomeDlg_3	1033	&Next >	0		-1021924763
+IDS__IsWelcomeDlg_4	1033	{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]	0		-1021924763
+IDS__IsWelcomeDlg_5	1033	The InstallShield(R) Wizard will install [ProductName] on your computer. To continue, click Next.	0		-1021924763
+IDS__IsWelcomeDlg_6	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBitmap.ibd	0		-1021924763
+IDS__IsWelcomeDlg_7	1033	WARNING: This program is protected by copyright law and international treaties.	0		-1021924763
+IDS__SetupTips_0	1033	[ProductName] - InstallShield Wizard	0		-1021924763
+IDS__TargetReq_DESC_COLOR	1033	The color settings of your system are not adequate for running [ProductName].	0		-1021924763
+IDS__TargetReq_DESC_OS	1033	The operating system is not adequate for running [ProductName].	0		-1021924763
+IDS__TargetReq_DESC_PROCESSOR	1033	The processor is not adequate for running [ProductName].	0		-1021924763
+IDS__TargetReq_DESC_RAM	1033	The amount of RAM is not adequate for running [ProductName].	0		-1021924763
+IDS__TargetReq_DESC_RESOLUTION	1033	The screen resolution is not adequate for running [ProductName].	0		-1021924763
+IDS_ACTIONTEXT_1	1033	Advertising application	0		-1021924763
+IDS_ACTIONTEXT_10	1033	Computing space requirements	0		-1021924763
+IDS_ACTIONTEXT_100	1033	MIME Content Type: [1], Extension: [2]	0		-1021924763
+IDS_ACTIONTEXT_101	1033	Unregistering program identifiers	0		-1021924763
+IDS_ACTIONTEXT_102	1033	ProgID: [1]	0		-1021924763
+IDS_ACTIONTEXT_103	1033	Unregistering type libraries	0		-1021924763
+IDS_ACTIONTEXT_104	1033	LibID: [1]	0		-1021924763
+IDS_ACTIONTEXT_105	1033	Updating environment strings	0		-1021924763
+IDS_ACTIONTEXT_106	1033	Name: [1], Value: [2], Action [3]	0		-1021924763
+IDS_ACTIONTEXT_107	1033	Writing INI file values	0		-1021924763
+IDS_ACTIONTEXT_108	1033	File: [1],  Section: [2],  Key: [3], Value: [4]	0		-1021924763
+IDS_ACTIONTEXT_109	1033	Writing system registry values	0		-1021924763
+IDS_ACTIONTEXT_11	1033	Creating folders	0		-1021924763
+IDS_ACTIONTEXT_110	1033	Key: [1], Name: [2], Value: [3]	0		-1021924763
+IDS_ACTIONTEXT_111	1033	Registering COM+ Applications and Components	0		-1021924763
+IDS_ACTIONTEXT_112	1033	AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}	0		-1021924763
+IDS_ACTIONTEXT_113	1033	Unregistering COM+ Applications and Components	0		-1021924763
+IDS_ACTIONTEXT_114	1033	AppId: [1]{{, AppType: [2]}}	0		-1021924763
+IDS_ACTIONTEXT_115	1033	Searching for related applications	0		-1021924763
+IDS_ACTIONTEXT_116	1033	Found application: [1]	0		-1021924763
+IDS_ACTIONTEXT_117	1033	Migrating feature states from related applications	0		-1021924763
+IDS_ACTIONTEXT_118	1033	Application: [1]	0		-1021924763
+IDS_ACTIONTEXT_119	1033	Removing applications	0		-1021924763
+IDS_ACTIONTEXT_12	1033	Folder: [1]	0		-1021924763
+IDS_ACTIONTEXT_120	1033	Application: [1], Command line: [2]	0		-1021924763
+IDS_ACTIONTEXT_121	1033	Installing system catalog	0		-1021924763
+IDS_ACTIONTEXT_122	1033	File: [1],  Dependencies: [2]	0		-1021924763
+IDS_ACTIONTEXT_123	1033	Creating IIS Virtual Roots...	0		-1021924763
+IDS_ACTIONTEXT_124	1033	Removing IIS Virtual Roots...	0		-1021924763
+IDS_ACTIONTEXT_13	1033	Creating shortcuts	0		-1021924763
+IDS_ACTIONTEXT_14	1033	Shortcut: [1]	0		-1021924763
+IDS_ACTIONTEXT_15	1033	Deleting services	0		-1021924763
+IDS_ACTIONTEXT_16	1033	Service: [1]	0		-1021924763
+IDS_ACTIONTEXT_17	1033	Creating duplicate files	0		-1021924763
+IDS_ACTIONTEXT_18	1033	File: [1],  Directory: [9],  Size: [6]	0		-1021924763
+IDS_ACTIONTEXT_19	1033	Computing space requirements	0		-1021924763
+IDS_ACTIONTEXT_2	1033	Allocating registry space	0		-1021924763
+IDS_ACTIONTEXT_20	1033	Generating script operations for action:	0		-1021924763
+IDS_ACTIONTEXT_21	1033	[1]	0		-1021924763
+IDS_ACTIONTEXT_22	1033	Copying files to the network	0		-1021924763
+IDS_ACTIONTEXT_23	1033	File: [1], Directory: [9], Size: [6]	0		-1021924763
+IDS_ACTIONTEXT_24	1033	Copying new files	0		-1021924763
+IDS_ACTIONTEXT_25	1033	File: [1],  Directory: [9],  Size: [6]	0		-1021924763
+IDS_ACTIONTEXT_26	1033	Installing ODBC components	0		-1021924763
+IDS_ACTIONTEXT_27	1033	Installing new services	0		-1021924763
+IDS_ACTIONTEXT_28	1033	Service: [2]	0		-1021924763
+IDS_ACTIONTEXT_29	1033	Validating install	0		-1021924763
+IDS_ACTIONTEXT_3	1033	Free space: [1]	0		-1021924763
+IDS_ACTIONTEXT_30	1033	Evaluating launch conditions	0		-1021924763
+IDS_ACTIONTEXT_31	1033	Moving files	0		-1021924763
+IDS_ACTIONTEXT_32	1033	File: [1],  Directory: [9],  Size: [6]	0		-1021924763
+IDS_ACTIONTEXT_33	1033	Patching files	0		-1021924763
+IDS_ACTIONTEXT_34	1033	File: [1],  Directory: [2],  Size: [3]	0		-1021924763
+IDS_ACTIONTEXT_35	1033	Updating component registration	0		-1021924763
+IDS_ACTIONTEXT_36	1033	Publishing qualified components	0		-1021924763
+IDS_ACTIONTEXT_37	1033	Component ID: [1], Qualifier: [2]	0		-1021924763
+IDS_ACTIONTEXT_38	1033	Publishing product features	0		-1021924763
+IDS_ACTIONTEXT_39	1033	Feature: [1]	0		-1021924763
+IDS_ACTIONTEXT_4	1033	Searching for installed applications	0		-1021924763
+IDS_ACTIONTEXT_40	1033	Publishing product information	0		-1021924763
+IDS_ACTIONTEXT_41	1033	Registering class servers	0		-1021924763
+IDS_ACTIONTEXT_42	1033	Class ID: [1]	0		-1021924763
+IDS_ACTIONTEXT_43	1033	Registering extension servers	0		-1021924763
+IDS_ACTIONTEXT_44	1033	Extension: [1]	0		-1021924763
+IDS_ACTIONTEXT_45	1033	Registering fonts	0		-1021924763
+IDS_ACTIONTEXT_46	1033	Font: [1]	0		-1021924763
+IDS_ACTIONTEXT_47	1033	Registering MIME info	0		-1021924763
+IDS_ACTIONTEXT_48	1033	MIME Content Type: [1], Extension: [2]	0		-1021924763
+IDS_ACTIONTEXT_49	1033	Registering product	0		-1021924763
+IDS_ACTIONTEXT_5	1033	Property: [1], Signature: [2]	0		-1021924763
+IDS_ACTIONTEXT_50	1033	[1]	0		-1021924763
+IDS_ACTIONTEXT_51	1033	Registering program identifiers	0		-1021924763
+IDS_ACTIONTEXT_52	1033	ProgID: [1]	0		-1021924763
+IDS_ACTIONTEXT_53	1033	Registering type libraries	0		-1021924763
+IDS_ACTIONTEXT_54	1033	LibID: [1]	0		-1021924763
+IDS_ACTIONTEXT_55	1033	Registering user	0		-1021924763
+IDS_ACTIONTEXT_56	1033	[1]	0		-1021924763
+IDS_ACTIONTEXT_57	1033	Removing duplicated files	0		-1021924763
+IDS_ACTIONTEXT_58	1033	File: [1], Directory: [9]	0		-1021924763
+IDS_ACTIONTEXT_59	1033	Updating environment strings	0		-1021924763
+IDS_ACTIONTEXT_6	1033	Binding executables	0		-1021924763
+IDS_ACTIONTEXT_60	1033	Name: [1], Value: [2], Action [3]	0		-1021924763
+IDS_ACTIONTEXT_61	1033	Removing files	0		-1021924763
+IDS_ACTIONTEXT_62	1033	File: [1], Directory: [9]	0		-1021924763
+IDS_ACTIONTEXT_63	1033	Removing folders	0		-1021924763
+IDS_ACTIONTEXT_64	1033	Folder: [1]	0		-1021924763
+IDS_ACTIONTEXT_65	1033	Removing INI file entries	0		-1021924763
+IDS_ACTIONTEXT_66	1033	File: [1],  Section: [2],  Key: [3], Value: [4]	0		-1021924763
+IDS_ACTIONTEXT_67	1033	Removing ODBC components	0		-1021924763
+IDS_ACTIONTEXT_68	1033	Removing system registry values	0		-1021924763
+IDS_ACTIONTEXT_69	1033	Key: [1], Name: [2]	0		-1021924763
+IDS_ACTIONTEXT_7	1033	File: [1]	0		-1021924763
+IDS_ACTIONTEXT_70	1033	Removing shortcuts	0		-1021924763
+IDS_ACTIONTEXT_71	1033	Shortcut: [1]	0		-1021924763
+IDS_ACTIONTEXT_72	1033	Searching for qualifying products	0		-1021924763
+IDS_ACTIONTEXT_73	1033	Rolling back action:	0		-1021924763
+IDS_ACTIONTEXT_74	1033	[1]	0		-1021924763
+IDS_ACTIONTEXT_75	1033	Removing backup files	0		-1021924763
+IDS_ACTIONTEXT_76	1033	File: [1]	0		-1021924763
+IDS_ACTIONTEXT_77	1033	Registering modules	0		-1021924763
+IDS_ACTIONTEXT_78	1033	File: [1], Folder: [2]	0		-1021924763
+IDS_ACTIONTEXT_79	1033	Unregistering modules	0		-1021924763
+IDS_ACTIONTEXT_8	1033	Searching for qualifying products	0		-1021924763
+IDS_ACTIONTEXT_80	1033	File: [1], Folder: [2]	0		-1021924763
+IDS_ACTIONTEXT_81	1033	Initializing ODBC directories	0		-1021924763
+IDS_ACTIONTEXT_82	1033	Starting services	0		-1021924763
+IDS_ACTIONTEXT_83	1033	Service: [1]	0		-1021924763
+IDS_ACTIONTEXT_84	1033	Stopping services	0		-1021924763
+IDS_ACTIONTEXT_85	1033	Service: [1]	0		-1021924763
+IDS_ACTIONTEXT_86	1033	Removing moved files	0		-1021924763
+IDS_ACTIONTEXT_87	1033	File: [1], Directory: [9]	0		-1021924763
+IDS_ACTIONTEXT_88	1033	Unpublishing Qualified Components	0		-1021924763
+IDS_ACTIONTEXT_89	1033	Component ID: [1], Qualifier: [2]	0		-1021924763
+IDS_ACTIONTEXT_9	1033	Computing space requirements	0		-1021924763
+IDS_ACTIONTEXT_90	1033	Unpublishing product features	0		-1021924763
+IDS_ACTIONTEXT_91	1033	Feature: [1]	0		-1021924763
+IDS_ACTIONTEXT_92	1033	Unpublishing product information	0		-1021924763
+IDS_ACTIONTEXT_93	1033	Unregister class servers	0		-1021924763
+IDS_ACTIONTEXT_94	1033	Class ID: [1]	0		-1021924763
+IDS_ACTIONTEXT_95	1033	Unregistering extension servers	0		-1021924763
+IDS_ACTIONTEXT_96	1033	Extension: [1]	0		-1021924763
+IDS_ACTIONTEXT_97	1033	Unregistering fonts	0		-1021924763
+IDS_ACTIONTEXT_98	1033	Font: [1]	0		-1021924763
+IDS_ACTIONTEXT_99	1033	Unregistering MIME info	0		-1021924763
+IDS_ERROR_0	1033	{{Fatal error: }}	0		-1021924763
+IDS_ERROR_1	1033	Error [1].	0		-1021924763
+IDS_ERROR_10	1033	=== Logging started: [Date]  [Time] ===	0		-1021924763
+IDS_ERROR_100	1033	Could not remove shortcut [2]. Verify that the shortcut file exists and that you can access it.	0		-1021924763
+IDS_ERROR_101	1033	Could not register type library for file [2].  Contact your support personnel.	0		-1021924763
+IDS_ERROR_102	1033	Could not unregister type library for file [2].  Contact your support personnel.	0		-1021924763
+IDS_ERROR_103	1033	Could not update the INI file [2][3].  Verify that the file exists and that you can access it.	0		-1021924763
+IDS_ERROR_104	1033	Could not schedule file [2] to replace file [3] on reboot.  Verify that you have write permissions to file [3].	0		-1021924763
+IDS_ERROR_105	1033	Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.	0		-1021924763
+IDS_ERROR_106	1033	Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.	0		-1021924763
+IDS_ERROR_107	1033	Error removing ODBC driver [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.	0		-1021924763
+IDS_ERROR_108	1033	Error installing ODBC driver [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.	0		-1021924763
+IDS_ERROR_109	1033	Error configuring ODBC data source [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.	0		-1021924763
+IDS_ERROR_11	1033	=== Logging stopped: [Date]  [Time] ===	0		-1021924763
+IDS_ERROR_110	1033	Service [2] ([3]) failed to start.  Verify that you have sufficient privileges to start system services.	0		-1021924763
+IDS_ERROR_111	1033	Service [2] ([3]) could not be stopped.  Verify that you have sufficient privileges to stop system services.	0		-1021924763
+IDS_ERROR_112	1033	Service [2] ([3]) could not be deleted.  Verify that you have sufficient privileges to remove system services.	0		-1021924763
+IDS_ERROR_113	1033	Service [2] ([3]) could not be installed.  Verify that you have sufficient privileges to install system services.	0		-1021924763
+IDS_ERROR_114	1033	Could not update environment variable [2].  Verify that you have sufficient privileges to modify environment variables.	0		-1021924763
+IDS_ERROR_115	1033	You do not have sufficient privileges to complete this installation for all users of the machine.  Log on as an administrator and then retry this installation.	0		-1021924763
+IDS_ERROR_116	1033	Could not set file security for file [3]. Error: [2].  Verify that you have sufficient privileges to modify the security permissions for this file.	0		-1021924763
+IDS_ERROR_117	1033	Component Services (COM+ 1.0) are not installed on this computer.  This installation requires Component Services in order to complete successfully.  Component Services are available on Windows 2000.	0		-1021924763
+IDS_ERROR_118	1033	Error registering COM+ application.  Contact your support personnel for more information.	0		-1021924763
+IDS_ERROR_119	1033	Error unregistering COM+ application.  Contact your support personnel for more information.	0		-1021924763
+IDS_ERROR_12	1033	Action start [Time]: [1].	0		-1021924763
+IDS_ERROR_120	1033	Removing older versions of this application	0		-1021924763
+IDS_ERROR_121	1033	Preparing to remove older versions of this application	0		-1021924763
+IDS_ERROR_122	1033	Error applying patch to file [2].  It has probably been updated by other means, and can no longer be modified by this patch.  For more information contact your patch vendor.  {{System Error: [3]}}	0		-1021924763
+IDS_ERROR_123	1033	[2] cannot install one of its required products. Contact your technical support group.  {{System Error: [3].}}	0		-1021924763
+IDS_ERROR_124	1033	The older version of [2] cannot be removed.  Contact your technical support group.  {{System Error [3].}}	0		-1021924763
+IDS_ERROR_125	1033	The description for service '[2]' ([3]) could not be changed.	0		-1021924763
+IDS_ERROR_126	1033	The Windows Installer service cannot update the system file [2] because the file is protected by Windows.  You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}	0		-1021924763
+IDS_ERROR_127	1033	The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}	0		-1021924763
+IDS_ERROR_128	1033	This setup requires Internet Information Server 4.0 or higher for configuring IIS Virtual Roots. Please make sure that you have IIS 4.0 or higher.	0		-1021924763
+IDS_ERROR_129	1033	This setup requires Administrator privileges for configuring IIS Virtual Roots.	0		-1021924763
+IDS_ERROR_13	1033	Action ended [Time]: [1]. Return value [2].	0		-1021924763
+IDS_ERROR_14	1033	Time remaining: {[1] minutes }{[2] seconds}	0		-1021924763
+IDS_ERROR_15	1033	Out of memory. Shut down other applications before retrying.	0		-1021924763
+IDS_ERROR_16	1033	Installer is no longer responding.	0		-1021924763
+IDS_ERROR_17	1033	Installer terminated prematurely.	0		-1021924763
+IDS_ERROR_18	1033	Please wait while Windows configures [ProductName]	0		-1021924763
+IDS_ERROR_19	1033	Gathering required information...	0		-1021924763
+IDS_ERROR_2	1033	Warning [1].	0		-1021924763
+IDS_ERROR_20	1033	{[ProductName] }Setup completed successfully.	0		-1021924763
+IDS_ERROR_21	1033	{[ProductName] }Setup failed.	0		-1021924763
+IDS_ERROR_22	1033	Error reading from file: [2]. {{ System error [3].}}  Verify that the file exists and that you can access it.	0		-1021924763
+IDS_ERROR_23	1033	Cannot create the file [3].  A directory with this name already exists.  Cancel the installation and try installing to a different location.	0		-1021924763
+IDS_ERROR_24	1033	Please insert the disk: [2]	0		-1021924763
+IDS_ERROR_25	1033	The installer has insufficient privileges to access this directory: [2].  The installation cannot continue.  Log on as an administrator or contact your system administrator.	0		-1021924763
+IDS_ERROR_26	1033	Error writing to file [2].  Verify that you have access to that directory.	0		-1021924763
+IDS_ERROR_27	1033	Error reading from file [2].  Verify that the file exists and that you can access it.	0		-1021924763
+IDS_ERROR_28	1033	Another application has exclusive access to the file [2].  Please shut down all other applications, then click Retry.	0		-1021924763
+IDS_ERROR_29	1033	There is not enough disk space to install thi file [2].  Free some disk space and click Retry, or click Cancel to exit.	0		-1021924763
+IDS_ERROR_3	1033	Info [1].	0		-1021924763
+IDS_ERROR_30	1033	Source file not found: [2].  Verify that the file exists and that you can access it.	0		-1021924763
+IDS_ERROR_31	1033	Error reading from file: [3]. {{ System error [2].}}  Verify that the file exists and that you can access it.	0		-1021924763
+IDS_ERROR_32	1033	Error writing to file: [3]. {{ System error [2].}}  Verify that you have access to that directory.	0		-1021924763
+IDS_ERROR_33	1033	Source file not found{{(cabinet)}}: [2].  Verify that the file exists and that you can access it.	0		-1021924763
+IDS_ERROR_34	1033	Cannot create the directory [2].  A file with this name already exists.  Please rename or remove the file and click Retry, or click Cancel to exit.	0		-1021924763
+IDS_ERROR_35	1033	The volume [2] is currently unavailable.  Please select another.	0		-1021924763
+IDS_ERROR_36	1033	The specified path [2] is unavailable.	0		-1021924763
+IDS_ERROR_37	1033	Unable to write to the specified folder [2].	0		-1021924763
+IDS_ERROR_38	1033	A network error occurred while attempting to read from the file [2]	0		-1021924763
+IDS_ERROR_39	1033	An error occurred while attempting to create the directory [2]	0		-1021924763
+IDS_ERROR_4	1033	Internal Error [1]. [2]{, [3]}{, [4]}	0		-1021924763
+IDS_ERROR_40	1033	A network error occurred while attempting to create the directory [2]	0		-1021924763
+IDS_ERROR_41	1033	A network error occurred while attempting to open the source file cabinet [2].	0		-1021924763
+IDS_ERROR_42	1033	The specified path is too long [2].	0		-1021924763
+IDS_ERROR_43	1033	The Installer has insufficient privileges to modify the file [2].	0		-1021924763
+IDS_ERROR_44	1033	A portion of the path [2] exceeds the length allowed by the system.	0		-1021924763
+IDS_ERROR_45	1033	The path [2] contains words that are not valid in folders.	0		-1021924763
+IDS_ERROR_46	1033	The path [2] contains an invalid character.	0		-1021924763
+IDS_ERROR_47	1033	[2] is not a valid short file name.	0		-1021924763
+IDS_ERROR_48	1033	Error getting file security: [3] GetLastError: [2]	0		-1021924763
+IDS_ERROR_49	1033	Invalid Drive: [2]	0		-1021924763
+IDS_ERROR_5	1033	{{Disk full: }}	0		-1021924763
+IDS_ERROR_50	1033	Could not create key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
+IDS_ERROR_51	1033	Could not open key: [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
+IDS_ERROR_52	1033	Could not delete value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
+IDS_ERROR_53	1033	Could not delete key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
+IDS_ERROR_54	1033	Could not read value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
+IDS_ERROR_55	1033	Could not write value [2] to key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
+IDS_ERROR_56	1033	Could not get value names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
+IDS_ERROR_57	1033	Could not get sub key names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
+IDS_ERROR_58	1033	Could not read security information for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.	0		-1021924763
+IDS_ERROR_59	1033	Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.	0		-1021924763
+IDS_ERROR_6	1033	Action [Time]: [1]. [2]	0		-1021924763
+IDS_ERROR_60	1033	Another installation is in progress. You must complete that installation before continuing this one.	0		-1021924763
+IDS_ERROR_61	1033	Error accessing secured data. Please make sure the Windows Installer is configured properly and try the installation again.	0		-1021924763
+IDS_ERROR_62	1033	User [2] has previously initiated an installation for product [3].  That user will need to run that installation again before using that product.  Your current installation will now continue.	0		-1021924763
+IDS_ERROR_63	1033	User [2] has previously initiated an installation for product [3].  That user will need to run that installation again before using that product.	0		-1021924763
+IDS_ERROR_64	1033	Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB.  Free some disk space and retry.	0		-1021924763
+IDS_ERROR_65	1033	Are you sure you want to cancel?	0		-1021924763
+IDS_ERROR_66	1033	The file [2][3] is being held in use{ by the following process: Name: [4], ID: [5], Window Title: [6]}.  Close that application and retry.	0		-1021924763
+IDS_ERROR_67	1033	The product [2] is already installed, preventing the installation of this product.  The two products are incompatible.	0		-1021924763
+IDS_ERROR_68	1033	Out of disk space -- Volume: [2]; required space: [3] KB; available space: [4] KB.  If rollback is disabled, enough space is available. Click Cancel to quit, Retry to check available disk space again, or Ignore to continue without rollback.	0		-1021924763
+IDS_ERROR_69	1033	Could not access network location [2].	0		-1021924763
+IDS_ERROR_7	1033	[ProductName]	0		-1021924763
+IDS_ERROR_70	1033	The following applications should be closed before continuing the installation:	0		-1021924763
+IDS_ERROR_71	1033	Could not find any previously installed compliant products on the machine for installing this product.	0		-1021924763
+IDS_ERROR_72	1033	The key [2] is not valid.  Verify that you entered the correct key.	0		-1021924763
+IDS_ERROR_73	1033	The installer must restart your system before configuration of [2] can continue.  Click Yes to restart now or No if you plan to restart later.	0		-1021924763
+IDS_ERROR_74	1033	You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to restart later.	0		-1021924763
+IDS_ERROR_75	1033	An installation for [2] is currently suspended.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?	0		-1021924763
+IDS_ERROR_76	1033	A previous installation for this product is in progress.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?	0		-1021924763
+IDS_ERROR_77	1033	No valid source could be found for product [2].  The Windows Installer cannot continue.	0		-1021924763
+IDS_ERROR_78	1033	Installation operation completed successfully.	0		-1021924763
+IDS_ERROR_79	1033	Installation operation failed.	0		-1021924763
+IDS_ERROR_8	1033	{[2]}{, [3]}{, [4]}	0		-1021924763
+IDS_ERROR_80	1033	Product: [2] -- [3]	0		-1021924763
+IDS_ERROR_81	1033	You may either restore your computer to its previous state or continue the installation later. Would you like to restore?	0		-1021924763
+IDS_ERROR_82	1033	An error occurred while writing installation information to disk.  Check to make sure enough disk space is available, and click Retry, or Cancel to end the installation.	0		-1021924763
+IDS_ERROR_83	1033	One or more of the files required to restore your computer to its previous state could not be found.  Restoration will not be possible.	0		-1021924763
+IDS_ERROR_84	1033	The path [2] is not valid.  Please specify a valid path.	0		-1021924763
+IDS_ERROR_85	1033	Out of memory. Shut down other applications before retrying.	0		-1021924763
+IDS_ERROR_86	1033	There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.	0		-1021924763
+IDS_ERROR_87	1033	There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.	0		-1021924763
+IDS_ERROR_88	1033	The folder [2] does not exist.  Please enter a path to an existing folder.	0		-1021924763
+IDS_ERROR_89	1033	You have insufficient privileges to read this folder.	0		-1021924763
+IDS_ERROR_9	1033	Message type: [1], Argument: [2]	0		-1021924763
+IDS_ERROR_90	1033	A valid destination folder for the installation could not be determined.	0		-1021924763
+IDS_ERROR_91	1033	Error attempting to read from the source installation database: [2].	0		-1021924763
+IDS_ERROR_92	1033	Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.	0		-1021924763
+IDS_ERROR_93	1033	Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.	0		-1021924763
+IDS_ERROR_94	1033	Module [2] failed to register.  HRESULT [3].  Contact your support personnel.	0		-1021924763
+IDS_ERROR_95	1033	Module [2] failed to unregister.  HRESULT [3].  Contact your support personnel.	0		-1021924763
+IDS_ERROR_96	1033	Failed to cache package [2]. Error: [3]. Contact your support personnel.	0		-1021924763
+IDS_ERROR_97	1033	Could not register font [2].  Verify that you have sufficient permissions to install fonts, and that the system supports this font.	0		-1021924763
+IDS_ERROR_98	1033	Could not unregister font [2]. Verify that you have sufficient permissions to remove fonts.	0		-1021924763
+IDS_ERROR_99	1033	Could not create shortcut [2]. Verify that the destination folder exists and that you can access it.	0		-1021924763
+IDS_ERROR_SN_INVALID	1033	The serial number is invalid.	0		-1021924763
+IDS_ISSCRIPT_VERSION_MISSING	1033	The InstallScript engine is missing from this machine.  If available, please run ISScript.msi, or contact your support personnel for further assistance.	0		-1021924763
+IDS_ISSCRIPT_VERSION_OLD	1033	The InstallScript engine on this machine is older than the version required to run this setup.  If available, please install the latest version of ISScript.msi, or contact your support personnel for further assistance.	0		-1021924763
+IDS_PRODUCT_DEFAULT_1	1033	Your Product Name	0	SYSTEM_GENERATED	-1021924763
+IDS_SetupTips_1	1033	OK	0		-1021924763
+IDS_SetupTips_10	1033	Will be installed on first use. (Available only if the feature supports this option.)	0		-1021924763
+IDS_SetupTips_11	1033	Will be installed to run from the network. (Available only if the feature supports this option.)	0		-1021924763
+IDS_SetupTips_12	1033	This install state means the feature...	0		-1021924763
+IDS_SetupTips_13	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd	0		-1021924763
+IDS_SetupTips_14	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\NetworkInstall.ico	0		-1021924763
+IDS_SetupTips_15	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\Install.ico	0		-1021924763
+IDS_SetupTips_16	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\InstallFirstUse.ico	0		-1021924763
+IDS_SetupTips_17	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\InstallPartial.ico	0		-1021924763
+IDS_SetupTips_18	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\DontInstall.ico	0		-1021924763
+IDS_SetupTips_19	1033	<ISProductFolder>\Redist\Language Independent\OS Independent\InstallStateMenu.ico	0		-1021924763
+IDS_SetupTips_2	1033	{&MSSWhiteSerif8}InstallShield	0		-1021924763
+IDS_SetupTips_3	1033	InstallShield	0		-1021924763
+IDS_SetupTips_4	1033	Custom Setup allows you to selectively install program features.	0		-1021924763
+IDS_SetupTips_5	1033	{&MSSansBold8}Custom Setup Tips	0		-1021924763
+IDS_SetupTips_6	1033	Will not be installed.	0		-1021924763
+IDS_SetupTips_7	1033	Will have some subfeatures installed to the local hard drive. (Available only if the feature has subfeatures.)	0		-1021924763
+IDS_SetupTips_8	1033	Will be completely installed to the local hard drive.	0		-1021924763
+IDS_SetupTips_9	1033	The icon next to the feature name indicates the install state of the feature. Click the icon to drop down the install state menu for each feature.	0		-1021924763
+IDS_STANDARD_USE_SETUPEXE	1033	This installation cannot be run by directly launching the MSI package. You must run setup.exe.	0		-1021924763
+IDS_UITEXT_0	1033	bytes	0		-1021924763
+IDS_UITEXT_1	1033	GB	0		-1021924763
+IDS_UITEXT_10	1033	This feature will remain uninstalled.	0		-1021924763
+IDS_UITEXT_11	1033	This feature will be set to be installed when required.	0		-1021924763
+IDS_UITEXT_12	1033	This feature will be installed to run from CD.	0		-1021924763
+IDS_UITEXT_13	1033	This feature will be installed on the local hard drive.	0		-1021924763
+IDS_UITEXT_14	1033	This feature will be installed to run from the network.	0		-1021924763
+IDS_UITEXT_15	1033	This feature will become unavailable.	0		-1021924763
+IDS_UITEXT_16	1033	Will be installed when required.	0		-1021924763
+IDS_UITEXT_17	1033	This feature will be available to run from CD.	0		-1021924763
+IDS_UITEXT_18	1033	This feature will be installed on your local hard drive.	0		-1021924763
+IDS_UITEXT_19	1033	This feature will be available to run from the network.	0		-1021924763
+IDS_UITEXT_2	1033	KB	0		-1021924763
+IDS_UITEXT_20	1033	This feature will be uninstalled completely, and you won't be able to run it from CD.	0		-1021924763
+IDS_UITEXT_21	1033	This feature was run from the CD but will be set to be installed when required.	0		-1021924763
+IDS_UITEXT_22	1033	This feature will continue to be run from the CD	0		-1021924763
+IDS_UITEXT_23	1033	This feature was run from the CD but will be installed on the local hard drive.	0		-1021924763
+IDS_UITEXT_24	1033	This feature frees up [1] on your hard drive.	0		-1021924763
+IDS_UITEXT_25	1033	This feature requires [1] on your hard drive.	0		-1021924763
+IDS_UITEXT_26	1033	Compiling cost for this feature...	0		-1021924763
+IDS_UITEXT_27	1033	This feature will be completely removed.	0		-1021924763
+IDS_UITEXT_28	1033	This feature will be removed from your local hard drive but will be set to be installed when required.	0		-1021924763
+IDS_UITEXT_29	1033	This feature will be removed from your local hard drive but will still be available to run from CD.	0		-1021924763
+IDS_UITEXT_3	1033	MB	0		-1021924763
+IDS_UITEXT_30	1033	This feature will remain on your local hard drive.	0		-1021924763
+IDS_UITEXT_31	1033	This feature will be removed from your local hard drive, but will be still available to run from the network.	0		-1021924763
+IDS_UITEXT_32	1033	This feature will be uninstalled completely, and you won't be able to run it from the network.	0		-1021924763
+IDS_UITEXT_33	1033	This feature was run from the network but will be installed when required.	0		-1021924763
+IDS_UITEXT_34	1033	This feature was run from the network but will be installed on the local hard drive.	0		-1021924763
+IDS_UITEXT_35	1033	This feature will continue to be run from the network	0		-1021924763
+IDS_UITEXT_36	1033	This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.	0		-1021924763
+IDS_UITEXT_37	1033	This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.	0		-1021924763
+IDS_UITEXT_38	1033	This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.	0		-1021924763
+IDS_UITEXT_39	1033	This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.	0		-1021924763
+IDS_UITEXT_4	1033	This feature will not be available.	0		-1021924763
+IDS_UITEXT_40	1033	Time remaining: {[1] min }[2] sec	0		-1021924763
+IDS_UITEXT_41	1033	Available	0		-1021924763
+IDS_UITEXT_42	1033	Differences	0		-1021924763
+IDS_UITEXT_43	1033	Required	0		-1021924763
+IDS_UITEXT_44	1033	Disk Size	0		-1021924763
+IDS_UITEXT_45	1033	Volume	0		-1021924763
+IDS_UITEXT_46	1033	This feature, and all subfeatures, will be installed to run from the network.	0		-1021924763
+IDS_UITEXT_47	1033	This feature, and all subfeatures, will be installed to run from the CD.	0		-1021924763
+IDS_UITEXT_48	1033	This feature, and all subfeatures, will be installed on local hard drive.	0		-1021924763
+IDS_UITEXT_5	1033	This feature will be installed when required.	0		-1021924763
+IDS_UITEXT_6	1033	This feature will be installed to run from CD.	0		-1021924763
+IDS_UITEXT_7	1033	This feature will be installed on local hard drive.	0		-1021924763
+IDS_UITEXT_8	1033	This feature will be installed to run from network.	0		-1021924763
+IDS_UITEXT_9	1033	Fldr|New Folder	0		-1021924763
+NEW_STRING1	1033	[ProductName] Installer Information	0		1687606380
+NEW_STRING6	1033	[INSTALLDIR] is not a valid path to an installed instance of Apache.	0		1687569580
+NEW_STRING9	1033	&Retry	0		1687571628

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISVRoot.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISVRoot.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISVRoot.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-VRootKey	VRootName	VRootDir	VRootProps	VRootAppName	VRootDefDoc	Condition
-s50	l255	s50	i4	L255	L255	S255
-ISVRoot	VRootKey
+VRootKey	VRootName	VRootDir	VRootProps	VRootAppName	VRootDefDoc	Condition
+s50	l255	s50	i4	L255	L255	S255
+ISVRoot	VRootKey

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISVRootAppMaps.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISVRootAppMaps.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ISVRootAppMaps.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-VRootKey	VRootAppMapKey	Extension	ExecPath	Verb	AppMapProps
-s255	s255	l50	l255	l255	i4
-ISVRootAppMaps	VRootKey	VRootAppMapKey
+VRootKey	VRootAppMapKey	Extension	ExecPath	Verb	AppMapProps
+s255	s255	l50	l255	l255	i4
+ISVRootAppMaps	VRootKey	VRootAppMapKey

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Icon.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Icon.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Icon.idt	Fri Jul 16 09:27:17 2004
@@ -1,5 +1,5 @@
-Name	Data	ISBuildSourcePath	ISIconIndex
-s72	V0	S255	I2
-Icon	Name
-ARPPRODUCTICON.exe		<ISProjectFolder>\resource\apache.ico	0
-CheckforUpdates.exe		<ISProductFolder>\redist\Language Independent\OS Independent\UpdateService.ico	0
+Name	Data	ISBuildSourcePath	ISIconIndex
+s72	V0	S255	I2
+Icon	Name
+ARPPRODUCTICON.exe		<ISProjectFolder>\resource\apache.ico	0
+CheckforUpdates.exe		<ISProductFolder>\redist\Language Independent\OS Independent\UpdateService.ico	0

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/IniFile.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/IniFile.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/IniFile.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-IniFile	FileName	DirProperty	Section	Key	Value	Action	Component_
-s72	l255	S72	l255	l128	s255	i2	s72
-IniFile	IniFile
+IniFile	FileName	DirProperty	Section	Key	Value	Action	Component_
+s72	l255	S72	l255	l128	s255	i2	s72
+IniFile	IniFile

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/IniLocator.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/IniLocator.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/IniLocator.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Signature_	FileName	Section	Key	Field	Type
-s72	s255	s96	s128	I2	I2
-IniLocator	Signature_
+Signature_	FileName	Section	Key	Field	Type
+s72	s255	s96	s128	I2	I2
+IniLocator	Signature_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallExecuteSequence.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallExecuteSequence.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallExecuteSequence.idt	Fri Jul 16 09:27:17 2004
@@ -1,78 +1,78 @@
-Action	Condition	Sequence	ISComments	ISAttributes
-s72	S255	I2	S255	I4
-InstallExecuteSequence	Action
-AllocateRegistrySpace	NOT Installed	750	AllocateRegistrySpace	
-AppSearch		25	AppSearch	
-BindImage		2100	BindImage	
-CCPSearch	CCP_TEST	200	CCPSearch	
-CostFinalize		500	CostFinalize	
-CostInitialize		350	CostInitialize	
-CreateFolders		1850	CreateFolders	
-CreateShortcuts		2150	CreateShortcuts	
-DeleteServices	VersionNT	1000	DeleteServices	
-DuplicateFiles		2050	DuplicateFiles	
-FileCost		400	FileCost	
-FindRelatedProducts	NOT ISSETUPDRIVEN	100	FindRelatedProducts	
-InstallFiles		1950	InstallFiles	
-InstallFinalize		3150	InstallFinalize	
-InstallInitialize		700	InstallInitialize	
-InstallODBC		2600	InstallODBC	
-InstallServices	VersionNT	2750	InstallServices	
-InstallValidate		650	InstallValidate	
-ISInitAllUsers	VersionNT And NOT Installed	525	ISInitAllUsers	
-IsolateComponents		450	IsolateComponents	
-ISSelfRegisterCosting		701		
-ISSelfRegisterFiles		3149		
-ISSelfRegisterFinalize		3151		
-ISUnSelfRegisterFiles		702		
-LaunchConditions		50	LaunchConditions	
-MigrateFeatureStates		600	MigrateFeatureStates	
-MoveFiles		1900	MoveFiles	
-MsiPublishAssemblies		3025	MsiPublishAssemblies	
-MsiUnpublishAssemblies		875	MsiUnpublishAssemblies	
-PatchFiles		2000	PatchFiles	
-ProcessComponents		800	ProcessComponents	
-PublishComponents		3000	PublishComponents	
-PublishFeatures		3050	PublishFeatures	
-PublishProduct		3100	PublishProduct	
-RegisterClassInfo		2200	RegisterClassInfo	
-RegisterComPlus		2700	RegisterComPlus	
-RegisterExtensionInfo		2250	RegisterExtensionInfo	
-RegisterFonts		2550	RegisterFonts	
-RegisterMIMEInfo		2350	RegisterMIMEInfo	
-RegisterProduct		2950	RegisterProduct	
-RegisterProgIdInfo		2300	RegisterProgIdInfo	
-RegisterTypeLibraries		2650	RegisterTypeLibraries	
-RegisterUser		2900	RegisterUser	
-RemoveDuplicateFiles		1700	RemoveDuplicateFiles	
-RemoveEnvironmentStrings		1650	RemoveEnvironmentStrings	
-RemoveExistingProducts		675	RemoveExistingProducts	
-RemoveFiles		1750	RemoveFiles	
-RemoveFolders		1800	RemoveFolders	
-RemoveIniValues		1550	RemoveIniValues	
-RemoveODBC		1200	RemoveODBC	
-RemoveRegistryValues		1300	RemoveRegistryValues	
-RemoveShortcuts		1600	RemoveShortcuts	
-RMCCPSearch	Not CCP_SUCCESS And CCP_TEST	250	RMCCPSearch	
-ScheduleReboot	ISSCHEDULEREBOOT	3125	ScheduleReboot	
-SelfRegModules		2850	SelfRegModules	
-SelfUnregModules		1100	SelfUnregModules	
-setAllUsersProfile2K	VersionNT >= 500	330		
-SetAllUsersProfileNT	VersionNT = 400	320		
-SetODBCFolders		550	SetODBCFolders	
-setUserProfileNT	VersionNT	310		
-StartServices	VersionNT	2800	StartServices	
-StopServices	VersionNT	950	StopServices	
-UnpublishComponents		850	UnpublishComponents	
-UnpublishFeatures		900	UnpublishFeatures	
-UnregisterClassInfo		1350	UnregisterClassInfo	
-UnregisterComPlus		1050	UnregisterComPlus	
-UnregisterExtensionInfo		1400	UnregisterExtensionInfo	
-UnregisterFonts		1250	UnregisterFonts	
-UnregisterMIMEInfo		1500	UnregisterMIMEInfo	
-UnregisterProgIdInfo		1450	UnregisterProgIdInfo	
-UnregisterTypeLibraries		1150	UnregisterTypeLibraries	
-ValidateProductID		300	ValidateProductID	
-WriteEnvironmentStrings		2500	WriteEnvironmentStrings	
-WriteIniValues		2450	WriteIniValues	
-WriteRegistryValues		2400	WriteRegistryValues	
+Action	Condition	Sequence	ISComments	ISAttributes
+s72	S255	I2	S255	I4
+InstallExecuteSequence	Action
+AllocateRegistrySpace	NOT Installed	750	AllocateRegistrySpace	
+AppSearch		25	AppSearch	
+BindImage		2100	BindImage	
+CCPSearch	CCP_TEST	200	CCPSearch	
+CostFinalize		500	CostFinalize	
+CostInitialize		350	CostInitialize	
+CreateFolders		1850	CreateFolders	
+CreateShortcuts		2150	CreateShortcuts	
+DeleteServices	VersionNT	1000	DeleteServices	
+DuplicateFiles		2050	DuplicateFiles	
+FileCost		400	FileCost	
+FindRelatedProducts	NOT ISSETUPDRIVEN	100	FindRelatedProducts	
+InstallFiles		1950	InstallFiles	
+InstallFinalize		3150	InstallFinalize	
+InstallInitialize		700	InstallInitialize	
+InstallODBC		2600	InstallODBC	
+InstallServices	VersionNT	2750	InstallServices	
+InstallValidate		650	InstallValidate	
+ISInitAllUsers	VersionNT And NOT Installed	525	ISInitAllUsers	
+IsolateComponents		450	IsolateComponents	
+ISSelfRegisterCosting		701		
+ISSelfRegisterFiles		3149		
+ISSelfRegisterFinalize		3151		
+ISUnSelfRegisterFiles		702		
+LaunchConditions		50	LaunchConditions	
+MigrateFeatureStates		600	MigrateFeatureStates	
+MoveFiles		1900	MoveFiles	
+MsiPublishAssemblies		3025	MsiPublishAssemblies	
+MsiUnpublishAssemblies		875	MsiUnpublishAssemblies	
+PatchFiles		2000	PatchFiles	
+ProcessComponents		800	ProcessComponents	
+PublishComponents		3000	PublishComponents	
+PublishFeatures		3050	PublishFeatures	
+PublishProduct		3100	PublishProduct	
+RegisterClassInfo		2200	RegisterClassInfo	
+RegisterComPlus		2700	RegisterComPlus	
+RegisterExtensionInfo		2250	RegisterExtensionInfo	
+RegisterFonts		2550	RegisterFonts	
+RegisterMIMEInfo		2350	RegisterMIMEInfo	
+RegisterProduct		2950	RegisterProduct	
+RegisterProgIdInfo		2300	RegisterProgIdInfo	
+RegisterTypeLibraries		2650	RegisterTypeLibraries	
+RegisterUser		2900	RegisterUser	
+RemoveDuplicateFiles		1700	RemoveDuplicateFiles	
+RemoveEnvironmentStrings		1650	RemoveEnvironmentStrings	
+RemoveExistingProducts		675	RemoveExistingProducts	
+RemoveFiles		1750	RemoveFiles	
+RemoveFolders		1800	RemoveFolders	
+RemoveIniValues		1550	RemoveIniValues	
+RemoveODBC		1200	RemoveODBC	
+RemoveRegistryValues		1300	RemoveRegistryValues	
+RemoveShortcuts		1600	RemoveShortcuts	
+RMCCPSearch	Not CCP_SUCCESS And CCP_TEST	250	RMCCPSearch	
+ScheduleReboot	ISSCHEDULEREBOOT	3125	ScheduleReboot	
+SelfRegModules		2850	SelfRegModules	
+SelfUnregModules		1100	SelfUnregModules	
+setAllUsersProfile2K	VersionNT >= 500	330		
+SetAllUsersProfileNT	VersionNT = 400	320		
+SetODBCFolders		550	SetODBCFolders	
+setUserProfileNT	VersionNT	310		
+StartServices	VersionNT	2800	StartServices	
+StopServices	VersionNT	950	StopServices	
+UnpublishComponents		850	UnpublishComponents	
+UnpublishFeatures		900	UnpublishFeatures	
+UnregisterClassInfo		1350	UnregisterClassInfo	
+UnregisterComPlus		1050	UnregisterComPlus	
+UnregisterExtensionInfo		1400	UnregisterExtensionInfo	
+UnregisterFonts		1250	UnregisterFonts	
+UnregisterMIMEInfo		1500	UnregisterMIMEInfo	
+UnregisterProgIdInfo		1450	UnregisterProgIdInfo	
+UnregisterTypeLibraries		1150	UnregisterTypeLibraries	
+ValidateProductID		300	ValidateProductID	
+WriteEnvironmentStrings		2500	WriteEnvironmentStrings	
+WriteIniValues		2450	WriteIniValues	
+WriteRegistryValues		2400	WriteRegistryValues	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallShield.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallShield.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallShield.idt	Fri Jul 16 09:27:17 2004
@@ -1,24 +1,24 @@
-Property	Value
-s72	S0
-InstallShield	Property
-ActiveLanguage	1033
-Comments	
-CurrentMedia	x86-winntmod_aspdotnet
-DefaultProductConfiguration	mod_aspdotnet
-ISCompilerOption_Debug	1
-ISCompilerOption_IncludePath	
-ISCompilerOption_MaxErrors	50
-ISCompilerOption_MaxWarnings	50
-ISCompilerOption_OutputPath	<ISProjectFolder>
-ISCompilerOption_PreProcessor	
-ISCompilerOption_WarningLevel	3
-ISCompilerOption_WarningsAsErrors	1
-ISDialogLangID	
-MsiExecCmdLineOptions	
-MsiLogFile	
-OnUpgrade	1
-Owner	The Apache Software Foundation
-SccEnabled	0
-SccPath	
-SchemaVersion	751
-Type	MSI
+Property	Value
+s72	S0
+InstallShield	Property
+ActiveLanguage	1033
+Comments	
+CurrentMedia	x86-winntmod_aspdotnet
+DefaultProductConfiguration	mod_aspdotnet
+ISCompilerOption_Debug	1
+ISCompilerOption_IncludePath	
+ISCompilerOption_MaxErrors	50
+ISCompilerOption_MaxWarnings	50
+ISCompilerOption_OutputPath	<ISProjectFolder>
+ISCompilerOption_PreProcessor	
+ISCompilerOption_WarningLevel	3
+ISCompilerOption_WarningsAsErrors	1
+ISDialogLangID	
+MsiExecCmdLineOptions	
+MsiLogFile	
+OnUpgrade	1
+Owner	The Apache Software Foundation
+SccEnabled	0
+SccPath	
+SchemaVersion	751
+Type	MSI

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallUISequence.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallUISequence.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/InstallUISequence.idt	Fri Jul 16 09:27:17 2004
@@ -1,27 +1,27 @@
-Action	Condition	Sequence	ISComments	ISAttributes
-s72	S255	I2	S255	I4
-InstallUISequence	Action
-AppSearch		25	AppSearch	
-CCPSearch	CCP_TEST	250	CCPSearch	
-CostFinalize		550	CostFinalize	
-CostInitialize		400	CostInitialize	
-ExecuteAction		850	ExecuteAction	
-FileCost		450	FileCost	
-FindRelatedProducts		150	FindRelatedProducts	
-InstallWelcome	Not Installed And Not PATCH	662		
-ISInitAllUsers	VersionNT And NOT Installed	575	ISInitAllUsers	
-IsolateComponents		500	IsolateComponents	
-LaunchConditions		50	LaunchConditions	
-MaintenanceWelcome	Installed And Not RESUME And Not Preselected And Not PATCH	750	MaintenanceWelcome	
-MigrateFeatureStates		600	MigrateFeatureStates	
-PatchWelcome	PATCH	625	Patch Panel	
-ResolveApacheInstances		125	ResolveApacheInstances	
-ResolveSource	Not Installed	525	ResolveSource	
-RMCCPSearch	Not CCP_SUCCESS And CCP_TEST	300	RMCCPSearch	
-SetupCompleteError		-3	SetupCompleteError	
-SetupCompleteSuccess		-1	SetupCompleteSuccess	
-SetupInitialization		100	SetupInitialization	
-SetupInterrupted		-2	SetupInterrupted	
-SetupProgress		800	SetupProgress	
-SetupResume	Installed And (RESUME Or Preselected) And Not PATCH	700	SetupResume	
-ValidateProductID		350	ValidateProductID	
+Action	Condition	Sequence	ISComments	ISAttributes
+s72	S255	I2	S255	I4
+InstallUISequence	Action
+AppSearch		25	AppSearch	
+CCPSearch	CCP_TEST	250	CCPSearch	
+CostFinalize		550	CostFinalize	
+CostInitialize		400	CostInitialize	
+ExecuteAction		850	ExecuteAction	
+FileCost		450	FileCost	
+FindRelatedProducts		150	FindRelatedProducts	
+InstallWelcome	Not Installed And Not PATCH	662		
+ISInitAllUsers	VersionNT And NOT Installed	575	ISInitAllUsers	
+IsolateComponents		500	IsolateComponents	
+LaunchConditions		50	LaunchConditions	
+MaintenanceWelcome	Installed And Not RESUME And Not Preselected And Not PATCH	750	MaintenanceWelcome	
+MigrateFeatureStates		600	MigrateFeatureStates	
+PatchWelcome	PATCH	625	Patch Panel	
+ResolveApacheInstances		125	ResolveApacheInstances	
+ResolveSource	Not Installed	525	ResolveSource	
+RMCCPSearch	Not CCP_SUCCESS And CCP_TEST	300	RMCCPSearch	
+SetupCompleteError		-3	SetupCompleteError	
+SetupCompleteSuccess		-1	SetupCompleteSuccess	
+SetupInitialization		100	SetupInitialization	
+SetupInterrupted		-2	SetupInterrupted	
+SetupProgress		800	SetupProgress	
+SetupResume	Installed And (RESUME Or Preselected) And Not PATCH	700	SetupResume	
+ValidateProductID		350	ValidateProductID	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/IsolatedComponent.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/IsolatedComponent.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/IsolatedComponent.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Component_Shared	Component_Application
-s72	s72
-IsolatedComponent	Component_Shared	Component_Application
+Component_Shared	Component_Application
+s72	s72
+IsolatedComponent	Component_Shared	Component_Application

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/LaunchCondition.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/LaunchCondition.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/LaunchCondition.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Condition	Description
-s255	l255
-LaunchCondition	Condition
+Condition	Description
+s255	l255
+LaunchCondition	Condition

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ListBox.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ListBox.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ListBox.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Property	Order	Value	Text
-s72	i2	s64	L64
-ListBox	Property	Order
+Property	Order	Value	Text
+s72	i2	s64	L64
+ListBox	Property	Order

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ListView.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ListView.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ListView.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Property	Order	Value	Text	Binary_
-s72	i2	s64	L64	S72
-ListView	Property	Order
+Property	Order	Value	Text	Binary_
+s72	i2	s64	L64	S72
+ListView	Property	Order

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/LockPermissions.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/LockPermissions.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/LockPermissions.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-LockObject	Table	Domain	User	Permission
-s72	s32	S255	s255	I4
-LockPermissions	LockObject	Table	Domain	User
+LockObject	Table	Domain	User	Permission
+s72	s32	S255	s255	I4
+LockPermissions	LockObject	Table	Domain	User

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/MIME.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/MIME.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/MIME.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ContentType	Extension_	CLSID
-s64	s255	S38
-MIME	ContentType
+ContentType	Extension_	CLSID
+s64	s255	S38
+MIME	ContentType

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Media.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Media.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Media.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-DiskId	LastSequence	DiskPrompt	Cabinet	VolumeLabel	Source
-i2	i2	L64	S255	S32	S32
-Media	DiskId
+DiskId	LastSequence	DiskPrompt	Cabinet	VolumeLabel	Source
+i2	i2	L64	S255	S32	S32
+Media	DiskId

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/MoveFile.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/MoveFile.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/MoveFile.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-FileKey	Component_	SourceName	DestName	SourceFolder	DestFolder	Options
-s72	s72	L255	L255	S72	s72	i2
-MoveFile	FileKey
+FileKey	Component_	SourceName	DestName	SourceFolder	DestFolder	Options
+s72	s72	L255	L255	S72	s72	i2
+MoveFile	FileKey

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiAssembly.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiAssembly.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiAssembly.idt	Fri Jul 16 09:27:17 2004
@@ -1,4 +1,4 @@
-Component_	Feature_	File_Manifest	File_Application	Attributes
-s72	s38	S72	S72	I2
-MsiAssembly	Component_
-Apache.Web	mod_aspdotnet			0
+Component_	Feature_	File_Manifest	File_Application	Attributes
+s72	s38	S72	S72	I2
+MsiAssembly	Component_
+Apache.Web	mod_aspdotnet			0

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiAssemblyName.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiAssemblyName.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiAssemblyName.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Component_	Name	Value
-s72	s255	s255
-MsiAssemblyName	Component_	Name
+Component_	Name	Value
+s72	s255	s255
+MsiAssemblyName	Component_	Name

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiDigitalCertificate.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiDigitalCertificate.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiDigitalCertificate.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-DigitalCertificate	CertData
-s72	v0
-MsiDigitalCertificate	DigitalCertificate
+DigitalCertificate	CertData
+s72	v0
+MsiDigitalCertificate	DigitalCertificate

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiDigitalSignature.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiDigitalSignature.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiDigitalSignature.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Table	SignObject	DigitalCertificate_	Hash
-s32	s72	s72	V0
-MsiDigitalSignature	Table	SignObject
+Table	SignObject	DigitalCertificate_	Hash
+s32	s72	s72	V0
+MsiDigitalSignature	Table	SignObject

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiFileHash.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiFileHash.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/MsiFileHash.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-File_	Options	HashPart1	HashPart2	HashPart3	HashPart4
-s72	i2	i4	i4	i4	i4
-MsiFileHash	File_
+File_	Options	HashPart1	HashPart2	HashPart3	HashPart4
+s72	i2	i4	i4	i4	i4
+MsiFileHash	File_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCAttribute.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCAttribute.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCAttribute.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Driver_	Attribute	Value
-s72	s40	S255
-ODBCAttribute	Driver_	Attribute
+Driver_	Attribute	Value
+s72	s40	S255
+ODBCAttribute	Driver_	Attribute

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCDataSource.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCDataSource.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCDataSource.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-DataSource	Component_	Description	DriverDescription	Registration
-s72	s72	s255	s255	i2
-ODBCDataSource	DataSource
+DataSource	Component_	Description	DriverDescription	Registration
+s72	s72	s255	s255	i2
+ODBCDataSource	DataSource

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCDriver.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCDriver.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCDriver.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Driver	Component_	Description	File_	File_Setup
-s72	s72	s255	s72	S72
-ODBCDriver	Driver
+Driver	Component_	Description	File_	File_Setup
+s72	s72	s255	s72	S72
+ODBCDriver	Driver

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCSourceAttribute.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCSourceAttribute.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCSourceAttribute.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-DataSource_	Attribute	Value
-s72	s32	S255
-ODBCSourceAttribute	DataSource_	Attribute
+DataSource_	Attribute	Value
+s72	s32	S255
+ODBCSourceAttribute	DataSource_	Attribute

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCTranslator.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCTranslator.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ODBCTranslator.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Translator	Component_	Description	File_	File_Setup
-s72	s72	s255	s72	S72
-ODBCTranslator	Translator
+Translator	Component_	Description	File_	File_Setup
+s72	s72	s255	s72	S72
+ODBCTranslator	Translator

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Patch.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Patch.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Patch.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-File_	Sequence	PatchSize	Attributes	Header	ISBuildSourcePath
-s72	i2	i4	i2	V0	S255
-Patch	File_	Sequence
+File_	Sequence	PatchSize	Attributes	Header	ISBuildSourcePath
+s72	i2	i4	i2	V0	S255
+Patch	File_	Sequence

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/PatchPackage.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/PatchPackage.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/PatchPackage.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-PatchId	Media_
-s38	i2
-PatchPackage	PatchId
+PatchId	Media_
+s38	i2
+PatchPackage	PatchId

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ProgId.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ProgId.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ProgId.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ProgId	ProgId_Parent	Class_	Description	Icon_	IconIndex	ISAttributes
-s255	S255	S38	L255	S72	I2	I4
-ProgId	ProgId
+ProgId	ProgId_Parent	Class_	Description	Icon_	IconIndex	ISAttributes
+s255	S255	S38	L255	S72	I2	I4
+ProgId	ProgId

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Property.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Property.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Property.idt	Fri Jul 16 09:27:17 2004
@@ -1,48 +1,48 @@
-Property	Value	ISComments
-s72	L0	S255
-Property	Property
-_BrowseProperty	0	
-_IsMaintenance	Repair	
-_IsSetupTypeMin	Typical	
-AgreeToLicense	No	
-ApplicationUsers	AllUsers	
-ARPCOMMENTS	##IDPROP_ARPCOMMENTS##	
-ARPCONTACT	##IDPROP_ARPCONTACT##	
-ARPHELPLINK	##IDPROP_ARPHELPLINK##	
-ARPHELPTELEPHONE	##IDPROP_ARPHELPTELEPHONE##	
-ARPPRODUCTICON	ARPPRODUCTICON.exe	
-ARPREADME		
-ARPURLINFOABOUT	##IDPROP_ARPURLINFOABOUT##	
-ARPURLUPDATEINFO	##IDPROP_ARPURLUPDATEINFO##	
-DefaultUIFont	Tahoma8	
-DialogCaption	InstallShield for Windows Installer	
-DiskPrompt	[1]	
-Display_IsBitmapDlg	1	
-DisplayNameCustom	##IDS__DisplayName_Custom##	
-DisplayNameMinimal	##IDS__DisplayName_Minimal##	
-DisplayNameTypical	##IDS__DisplayName_Typical##	
-DWUSINTERVAL	30	
-ErrorDialog	SetupError	
-InstallChoice	AR	
-INSTALLLEVEL	100	
-ISCHECKFORPRODUCTUPDATES	0	
-ISENABLEDWUSFINISHDIALOG	0	
-ISSCRIPT_VERSION_MISSING	##IDS_ISSCRIPT_VERSION_MISSING##	
-ISSCRIPT_VERSION_OLD	##IDS_ISSCRIPT_VERSION_OLD##	
-Manufacturer	##COMPANY_NAME##	
-NewProperty1	0	
-PIDTemplate	12345<###-%%%%%%%>@@@@@	
-ProductCode	{18C26F50-5E08-4274-BC7B-430AF1FDD147}	
-ProductID	none	
-ProductLanguage	1033	
-ProductName	Apache mod_aspdotnet for Apache httpd Web Server	
-ProductVersion	2.3.2.1951	
-ProgressType0	install	
-ProgressType1	Installing	
-ProgressType2	installed	
-ProgressType3	installs	
-RebootYesNo	Yes	
-Registration	No	
-ReinstallModeText	omus	
-SetupType	Typical	
-UpgradeCode	{D7DEB71F-1CF3-4956-9AC9-2187FEE06F02}	
+Property	Value	ISComments
+s72	L0	S255
+Property	Property
+_BrowseProperty	0	
+_IsMaintenance	Repair	
+_IsSetupTypeMin	Typical	
+AgreeToLicense	No	
+ApplicationUsers	AllUsers	
+ARPCOMMENTS	##IDPROP_ARPCOMMENTS##	
+ARPCONTACT	##IDPROP_ARPCONTACT##	
+ARPHELPLINK	##IDPROP_ARPHELPLINK##	
+ARPHELPTELEPHONE	##IDPROP_ARPHELPTELEPHONE##	
+ARPPRODUCTICON	ARPPRODUCTICON.exe	
+ARPREADME		
+ARPURLINFOABOUT	##IDPROP_ARPURLINFOABOUT##	
+ARPURLUPDATEINFO	##IDPROP_ARPURLUPDATEINFO##	
+DefaultUIFont	Tahoma8	
+DialogCaption	InstallShield for Windows Installer	
+DiskPrompt	[1]	
+Display_IsBitmapDlg	1	
+DisplayNameCustom	##IDS__DisplayName_Custom##	
+DisplayNameMinimal	##IDS__DisplayName_Minimal##	
+DisplayNameTypical	##IDS__DisplayName_Typical##	
+DWUSINTERVAL	30	
+ErrorDialog	SetupError	
+InstallChoice	AR	
+INSTALLLEVEL	100	
+ISCHECKFORPRODUCTUPDATES	0	
+ISENABLEDWUSFINISHDIALOG	0	
+ISSCRIPT_VERSION_MISSING	##IDS_ISSCRIPT_VERSION_MISSING##	
+ISSCRIPT_VERSION_OLD	##IDS_ISSCRIPT_VERSION_OLD##	
+Manufacturer	##COMPANY_NAME##	
+NewProperty1	0	
+PIDTemplate	12345<###-%%%%%%%>@@@@@	
+ProductCode	{18C26F50-5E08-4274-BC7B-430AF1FDD147}	
+ProductID	none	
+ProductLanguage	1033	
+ProductName	Apache mod_aspdotnet for Apache httpd Web Server	
+ProductVersion	2.3.2.1951	
+ProgressType0	install	
+ProgressType1	Installing	
+ProgressType2	installed	
+ProgressType3	installs	
+RebootYesNo	Yes	
+Registration	No	
+ReinstallModeText	omus	
+SetupType	Typical	
+UpgradeCode	{D7DEB71F-1CF3-4956-9AC9-2187FEE06F02}	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/PublishComponent.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/PublishComponent.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/PublishComponent.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ComponentId	Qualifier	Component_	AppData	Feature_
-s38	s255	s72	L255	s38
-PublishComponent	ComponentId	Qualifier	Component_
+ComponentId	Qualifier	Component_	AppData	Feature_
+s38	s255	s72	L255	s38
+PublishComponent	ComponentId	Qualifier	Component_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/RadioButton.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/RadioButton.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/RadioButton.idt	Fri Jul 16 09:27:17 2004
@@ -1,11 +1,11 @@
-Property	Order	Value	X	Y	Width	Height	Text	Help
-s72	i2	s64	i2	i2	i2	i2	L64	L50
-RadioButton	Property	Order
-_IsMaintenance	2	Reinstall	0	0	290	14	##IDS__IsMaintenanceDlg_9##	
-_IsMaintenance	3	Remove	0	60	290	14	##IDS__IsMaintenanceDlg_10##	
-_IsSetupTypeMin	1	Typical	0	0	264	14	##IDS__IsSetupTypeMinDlg_11##	
-_IsSetupTypeMin	2	Custom	0	60	264	14	##IDS__IsSetupTypeMinDlg_12##	
-AgreeToLicense	1	No	0	15	295	15	##IDS__AgreeToLicense_0##	
-AgreeToLicense	2	Yes	0	0	295	15	##IDS__AgreeToLicense_1##	
-ApplicationUsers	1	AllUsers	1	6	290	14	##IDS__IsRegisterUserDlg_14##	
-ApplicationUsers	2	OnlyCurrentUser	1	21	290	14	##IDS__IsRegisterUserDlg_15##	
+Property	Order	Value	X	Y	Width	Height	Text	Help
+s72	i2	s64	i2	i2	i2	i2	L64	L50
+RadioButton	Property	Order
+_IsMaintenance	2	Reinstall	0	0	290	14	##IDS__IsMaintenanceDlg_9##	
+_IsMaintenance	3	Remove	0	60	290	14	##IDS__IsMaintenanceDlg_10##	
+_IsSetupTypeMin	1	Typical	0	0	264	14	##IDS__IsSetupTypeMinDlg_11##	
+_IsSetupTypeMin	2	Custom	0	60	264	14	##IDS__IsSetupTypeMinDlg_12##	
+AgreeToLicense	1	No	0	15	295	15	##IDS__AgreeToLicense_0##	
+AgreeToLicense	2	Yes	0	0	295	15	##IDS__AgreeToLicense_1##	
+ApplicationUsers	1	AllUsers	1	6	290	14	##IDS__IsRegisterUserDlg_14##	
+ApplicationUsers	2	OnlyCurrentUser	1	21	290	14	##IDS__IsRegisterUserDlg_15##	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/RegLocator.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/RegLocator.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/RegLocator.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Signature_	Root	Key	Name	Type
-s72	i2	s255	S255	I2
-RegLocator	Signature_
+Signature_	Root	Key	Name	Type
+s72	i2	s255	S255	I2
+RegLocator	Signature_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Registry.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Registry.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Registry.idt	Fri Jul 16 09:27:17 2004
@@ -1,9 +1,9 @@
-Registry	Root	Key	Name	Value	Component_	ISAttributes
-s72	i2	s255	S255	S0	s72	I4
-Registry	Registry
-Registry1	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288			Apache.Web	0
-Registry2	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288	Path	[WindowsFolder]Microsoft.NET\Framework\v1.0.3705	Apache.Web	0
-Registry3	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288	DllFullPath	[WindowsFolder]Microsoft.NET\Framework\v1.0.3705\aspnet_isapi.dll	Apache.Web	0
-Registry4	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288	DefaultDoc	Default.aspx	Apache.Web	0
-Registry5	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288	Mimemap	.wsdl,text/xml,.disco,text/xml,.xsd,text/xml	Apache.Web	0
-Registry6	2	SOFTWARE\Microsoft\ASP.NET	RootVer	1.0.3705.0	Apache.Web	0
+Registry	Root	Key	Name	Value	Component_	ISAttributes
+s72	i2	s255	S255	S0	s72	I4
+Registry	Registry
+Registry1	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288			Apache.Web	0
+Registry2	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288	Path	[WindowsFolder]Microsoft.NET\Framework\v1.0.3705	Apache.Web	0
+Registry3	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288	DllFullPath	[WindowsFolder]Microsoft.NET\Framework\v1.0.3705\aspnet_isapi.dll	Apache.Web	0
+Registry4	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288	DefaultDoc	Default.aspx	Apache.Web	0
+Registry5	2	SOFTWARE\Microsoft\ASP.NET\1.0.3705.288	Mimemap	.wsdl,text/xml,.disco,text/xml,.xsd,text/xml	Apache.Web	0
+Registry6	2	SOFTWARE\Microsoft\ASP.NET	RootVer	1.0.3705.0	Apache.Web	0

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveFile.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveFile.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveFile.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-FileKey	Component_	FileName	DirProperty	InstallMode
-s72	s72	L255	s72	i2
-RemoveFile	FileKey
+FileKey	Component_	FileName	DirProperty	InstallMode
+s72	s72	L255	s72	i2
+RemoveFile	FileKey

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveIniFile.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveIniFile.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveIniFile.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-RemoveIniFile	FileName	DirProperty	Section	Key	Value	Action	Component_
-s72	l255	S72	l96	l128	L255	i2	s72
-RemoveIniFile	RemoveIniFile
+RemoveIniFile	FileName	DirProperty	Section	Key	Value	Action	Component_
+s72	l255	S72	l96	l128	L255	i2	s72
+RemoveIniFile	RemoveIniFile

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveRegistry.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveRegistry.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/RemoveRegistry.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-RemoveRegistry	Root	Key	Name	Component_
-s72	i2	l255	L255	s72
-RemoveRegistry	RemoveRegistry
+RemoveRegistry	Root	Key	Name	Component_
+s72	i2	l255	L255	s72
+RemoveRegistry	RemoveRegistry

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ReserveCost.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ReserveCost.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ReserveCost.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ReserveKey	Component_	ReserveFolder	ReserveLocal	ReserveSource
-s72	s72	S72	i4	i4
-ReserveCost	ReserveKey
+ReserveKey	Component_	ReserveFolder	ReserveLocal	ReserveSource
+s72	s72	S72	i4	i4
+ReserveCost	ReserveKey

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/SFPCatalog.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/SFPCatalog.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/SFPCatalog.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-SFPCatalog	Catalog	Dependency
-s255	V0	S0
-SFPCatalog	SFPCatalog
+SFPCatalog	Catalog	Dependency
+s255	V0	S0
+SFPCatalog	SFPCatalog

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/SelfReg.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/SelfReg.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/SelfReg.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-File_	Cost
-s72	I2
-SelfReg	File_
+File_	Cost
+s72	I2
+SelfReg	File_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ServiceControl.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ServiceControl.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ServiceControl.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ServiceControl	Name	Event	Arguments	Wait	Component_
-s72	s255	i2	S255	I2	s72
-ServiceControl	ServiceControl
+ServiceControl	Name	Event	Arguments	Wait	Component_
+s72	s255	i2	S255	I2	s72
+ServiceControl	ServiceControl

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/ServiceInstall.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/ServiceInstall.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/ServiceInstall.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-ServiceInstall	Name	DisplayName	ServiceType	StartType	ErrorControl	LoadOrderGroup	Dependencies	StartName	Password	Arguments	Component_	Description
-s72	s255	L255	i4	i4	i4	S255	S255	S255	S255	S255	s72	L255
-ServiceInstall	ServiceInstall
+ServiceInstall	Name	DisplayName	ServiceType	StartType	ErrorControl	LoadOrderGroup	Dependencies	StartName	Password	Arguments	Component_	Description
+s72	s255	L255	i4	i4	i4	S255	S255	S255	S255	S255	s72	L255
+ServiceInstall	ServiceInstall

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Shortcut.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Shortcut.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Shortcut.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Shortcut	Directory_	Name	Component_	Target	Arguments	Description	Hotkey	Icon_	IconIndex	ShowCmd	WkDir	ISComments
-s72	s72	l128	s72	s255	S255	L255	I2	S72	I2	I2	S72	S255
-Shortcut	Shortcut
+Shortcut	Directory_	Name	Component_	Target	Arguments	Description	Hotkey	Icon_	IconIndex	ShowCmd	WkDir	ISComments
+s72	s72	l128	s72	s255	S255	L255	I2	S72	I2	I2	S72	S255
+Shortcut	Shortcut

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Signature.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Signature.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Signature.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Signature	FileName	MinVersion	MaxVersion	MinSize	MaxSize	MinDate	MaxDate	Languages
-s72	s255	S20	S20	I4	I4	I4	I4	S255
-Signature	Signature
+Signature	FileName	MinVersion	MaxVersion	MinSize	MaxSize	MinDate	MaxDate	Languages
+s72	s255	S20	S20	I4	I4	I4	I4	S255
+Signature	Signature

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/TextStyle.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/TextStyle.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/TextStyle.idt	Fri Jul 16 09:27:17 2004
@@ -1,25 +1,25 @@
-TextStyle	FaceName	Size	Color	StyleBits
-s72	s32	i2	I4	I2
-TextStyle	TextStyle
-Arial8	Arial	8		
-Arial9	Arial	9		
-ArialBlue10	Arial	10	16711680	
-ArialBlueStrike10	Arial	10	16711680	8
-CourierNew8	Courier New	8		
-CourierNew9	Courier New	9		
-MSGothic9	MS Gothic	9		
-MSSansBold8	Tahoma	8		1
-MSSansSerif8	MS Sans Serif	8		
-MSSansSerif9	MS Sans Serif	9		
-MSSGreySerif8	MS Sans Serif	8	8421504	
-MSSWhiteSerif8	Tahoma	8	16777215	
-Tahoma10	Tahoma	10		
-Tahoma8	Tahoma	8		
-Tahoma9	Tahoma	9		
-TahomaBold10	Tahoma	10		1
-TahomaBold8	Tahoma	8		1
-Times8	Times New Roman	8		
-Times9	Times New Roman	9		
-TimesItalic12	Times New Roman	12		2
-TimesItalicBlue10	Times New Roman	10	16711680	2
-TimesRed16	Times New Roman	16	255	
+TextStyle	FaceName	Size	Color	StyleBits
+s72	s32	i2	I4	I2
+TextStyle	TextStyle
+Arial8	Arial	8		
+Arial9	Arial	9		
+ArialBlue10	Arial	10	16711680	
+ArialBlueStrike10	Arial	10	16711680	8
+CourierNew8	Courier New	8		
+CourierNew9	Courier New	9		
+MSGothic9	MS Gothic	9		
+MSSansBold8	Tahoma	8		1
+MSSansSerif8	MS Sans Serif	8		
+MSSansSerif9	MS Sans Serif	9		
+MSSGreySerif8	MS Sans Serif	8	8421504	
+MSSWhiteSerif8	Tahoma	8	16777215	
+Tahoma10	Tahoma	10		
+Tahoma8	Tahoma	8		
+Tahoma9	Tahoma	9		
+TahomaBold10	Tahoma	10		1
+TahomaBold8	Tahoma	8		1
+Times8	Times New Roman	8		
+Times9	Times New Roman	9		
+TimesItalic12	Times New Roman	12		2
+TimesItalicBlue10	Times New Roman	10	16711680	2
+TimesRed16	Times New Roman	16	255	

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/TypeLib.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/TypeLib.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/TypeLib.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-LibID	Language	Component_	Version	Description	Directory_	Feature_	Cost
-s38	i2	s72	I4	L128	S72	s38	I4
-TypeLib	LibID	Language	Component_
+LibID	Language	Component_	Version	Description	Directory_	Feature_	Cost
+s38	i2	s72	I4	L128	S72	s38	I4
+TypeLib	LibID	Language	Component_

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/UIText.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/UIText.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/UIText.idt	Fri Jul 16 09:27:17 2004
@@ -1,53 +1,53 @@
-Key	Text
-s72	L255
-UIText	Key
-AbsentPath	
-bytes	##IDS_UITEXT_0##
-GB	##IDS_UITEXT_1##
-KB	##IDS_UITEXT_2##
-MB	##IDS_UITEXT_3##
-MenuAbsent	##IDS_UITEXT_4##
-MenuAdvertise	##IDS_UITEXT_5##
-MenuAllCD	##IDS_UITEXT_47##
-MenuAllLocal	##IDS_UITEXT_48##
-MenuAllNetwork	##IDS_UITEXT_46##
-MenuCD	##IDS_UITEXT_6##
-MenuLocal	##IDS_UITEXT_7##
-MenuNetwork	##IDS_UITEXT_8##
-NewFolder	##IDS_UITEXT_9##
-SelAbsentAbsent	##IDS_UITEXT_10##
-SelAbsentAdvertise	##IDS_UITEXT_11##
-SelAbsentCD	##IDS_UITEXT_12##
-SelAbsentLocal	##IDS_UITEXT_13##
-SelAbsentNetwork	##IDS_UITEXT_14##
-SelAdvertiseAbsent	##IDS_UITEXT_15##
-SelAdvertiseAdvertise	##IDS_UITEXT_16##
-SelAdvertiseCD	##IDS_UITEXT_17##
-SelAdvertiseLocal	##IDS_UITEXT_18##
-SelAdvertiseNetwork	##IDS_UITEXT_19##
-SelCDAbsent	##IDS_UITEXT_20##
-SelCDAdvertise	##IDS_UITEXT_21##
-SelCDCD	##IDS_UITEXT_22##
-SelCDLocal	##IDS_UITEXT_23##
-SelChildCostNeg	##IDS_UITEXT_24##
-SelChildCostPos	##IDS_UITEXT_25##
-SelCostPending	##IDS_UITEXT_26##
-SelLocalAbsent	##IDS_UITEXT_27##
-SelLocalAdvertise	##IDS_UITEXT_28##
-SelLocalCD	##IDS_UITEXT_29##
-SelLocalLocal	##IDS_UITEXT_30##
-SelLocalNetwork	##IDS_UITEXT_31##
-SelNetworkAbsent	##IDS_UITEXT_32##
-SelNetworkAdvertise	##IDS_UITEXT_33##
-SelNetworkLocal	##IDS_UITEXT_34##
-SelNetworkNetwork	##IDS_UITEXT_35##
-SelParentCostNegNeg	##IDS_UITEXT_36##
-SelParentCostNegPos	##IDS_UITEXT_37##
-SelParentCostPosNeg	##IDS_UITEXT_38##
-SelParentCostPosPos	##IDS_UITEXT_39##
-TimeRemaining	##IDS_UITEXT_40##
-VolumeCostAvailable	##IDS_UITEXT_41##
-VolumeCostDifference	##IDS_UITEXT_42##
-VolumeCostRequired	##IDS_UITEXT_43##
-VolumeCostSize	##IDS_UITEXT_44##
-VolumeCostVolume	##IDS_UITEXT_45##
+Key	Text
+s72	L255
+UIText	Key
+AbsentPath	
+bytes	##IDS_UITEXT_0##
+GB	##IDS_UITEXT_1##
+KB	##IDS_UITEXT_2##
+MB	##IDS_UITEXT_3##
+MenuAbsent	##IDS_UITEXT_4##
+MenuAdvertise	##IDS_UITEXT_5##
+MenuAllCD	##IDS_UITEXT_47##
+MenuAllLocal	##IDS_UITEXT_48##
+MenuAllNetwork	##IDS_UITEXT_46##
+MenuCD	##IDS_UITEXT_6##
+MenuLocal	##IDS_UITEXT_7##
+MenuNetwork	##IDS_UITEXT_8##
+NewFolder	##IDS_UITEXT_9##
+SelAbsentAbsent	##IDS_UITEXT_10##
+SelAbsentAdvertise	##IDS_UITEXT_11##
+SelAbsentCD	##IDS_UITEXT_12##
+SelAbsentLocal	##IDS_UITEXT_13##
+SelAbsentNetwork	##IDS_UITEXT_14##
+SelAdvertiseAbsent	##IDS_UITEXT_15##
+SelAdvertiseAdvertise	##IDS_UITEXT_16##
+SelAdvertiseCD	##IDS_UITEXT_17##
+SelAdvertiseLocal	##IDS_UITEXT_18##
+SelAdvertiseNetwork	##IDS_UITEXT_19##
+SelCDAbsent	##IDS_UITEXT_20##
+SelCDAdvertise	##IDS_UITEXT_21##
+SelCDCD	##IDS_UITEXT_22##
+SelCDLocal	##IDS_UITEXT_23##
+SelChildCostNeg	##IDS_UITEXT_24##
+SelChildCostPos	##IDS_UITEXT_25##
+SelCostPending	##IDS_UITEXT_26##
+SelLocalAbsent	##IDS_UITEXT_27##
+SelLocalAdvertise	##IDS_UITEXT_28##
+SelLocalCD	##IDS_UITEXT_29##
+SelLocalLocal	##IDS_UITEXT_30##
+SelLocalNetwork	##IDS_UITEXT_31##
+SelNetworkAbsent	##IDS_UITEXT_32##
+SelNetworkAdvertise	##IDS_UITEXT_33##
+SelNetworkLocal	##IDS_UITEXT_34##
+SelNetworkNetwork	##IDS_UITEXT_35##
+SelParentCostNegNeg	##IDS_UITEXT_36##
+SelParentCostNegPos	##IDS_UITEXT_37##
+SelParentCostPosNeg	##IDS_UITEXT_38##
+SelParentCostPosPos	##IDS_UITEXT_39##
+TimeRemaining	##IDS_UITEXT_40##
+VolumeCostAvailable	##IDS_UITEXT_41##
+VolumeCostDifference	##IDS_UITEXT_42##
+VolumeCostRequired	##IDS_UITEXT_43##
+VolumeCostSize	##IDS_UITEXT_44##
+VolumeCostVolume	##IDS_UITEXT_45##

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Upgrade.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Upgrade.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Upgrade.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-UpgradeCode	VersionMin	VersionMax	Language	Attributes	Remove	ActionProperty	ISDisplayName
-s38	S20	S20	S255	i4	S255	s72	S72
-Upgrade	UpgradeCode	VersionMin	VersionMax	Language	Attributes
+UpgradeCode	VersionMin	VersionMax	Language	Attributes	Remove	ActionProperty	ISDisplayName
+s38	S20	S20	S255	i4	S255	s72	S72
+Upgrade	UpgradeCode	VersionMin	VersionMax	Language	Attributes

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/Verb.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/Verb.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/Verb.idt	Fri Jul 16 09:27:17 2004
@@ -1,3 +1,3 @@
-Extension_	Verb	Sequence	Command	Argument
-s255	s32	I2	L255	L255
-Verb	Extension_	Verb
+Extension_	Verb	Sequence	Command	Argument
+s255	s32	I2	L255	L255
+Verb	Extension_	Verb

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/_SummaryInformation.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/_SummaryInformation.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/_SummaryInformation.idt	Fri Jul 16 09:27:17 2004
@@ -1,18 +1,18 @@
-PropertyId	Value
-i2	l255
-_SummaryInformation	PropertyId
-1	1252
-2	Installation Database
-3	Apache mod_aspdotnet
-4	##COMPANY_NAME##
-5	Installer,MSI,Database
-6	##ID_STRING1##
-7	Intel;1033
-8	Administrator
-9	{F0A1AD16-6B9F-4DBD-AA5F-811B7F6F5337}
-12	1999/06/21 01:00:00
-13	2000/07/14 04:50:28
-14	200
-15	0
-18	InstallShield Developer
-19	1
+PropertyId	Value
+i2	l255
+_SummaryInformation	PropertyId
+1	1252
+2	Installation Database
+3	Apache mod_aspdotnet
+4	##COMPANY_NAME##
+5	Installer,MSI,Database
+6	##ID_STRING1##
+7	Intel;1033
+8	Administrator
+9	{F0A1AD16-6B9F-4DBD-AA5F-811B7F6F5337}
+12	1999/06/21 01:00:00
+13	2000/07/14 04:50:28
+14	200
+15	0
+18	InstallShield Developer
+19	1

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/installer/_Validation.idt
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/installer/_Validation.idt	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/installer/_Validation.idt	Fri Jul 16 09:27:17 2004
@@ -1,609 +1,609 @@
-Table	Column	Nullable	MinValue	MaxValue	KeyTable	KeyColumn	Category	Set	Description
-s32	s32	s4	I4	I4	S255	I2	S32	S255	S255
-1252	_Validation	Table	Column
-_Validation	Category	Y						"Text";"Formatted";"Template";"Condition";"Guid";"Path";"Version";"Language";"Identifier";"Binary";"UpperCase";"LowerCase";"Filename";"Paths";"AnyPath";"WildCardFilename";"RegPath";"KeyFormatted";"CustomSource";"Property";"Cabinet";"Shortcut";"URL";"DefaultDir"	String category
-_Validation	Column	N					Identifier		Name of column
-_Validation	Description	Y					Text		Description of column
-_Validation	KeyColumn	Y	1	32					Column to which foreign key connects
-_Validation	KeyTable	Y					Identifier		For foreign key, Name of table to which data must link
-_Validation	MaxValue	Y	-2147483647	2147483647					Maximum value allowed
-_Validation	MinValue	Y	-2147483647	2147483647					Minimum value allowed
-_Validation	Nullable	N						Y;N;@	Whether the column is nullable
-_Validation	Set	Y					Text		Set of values that are permitted
-_Validation	Table	N					Identifier		Name of table
-ActionText	Action	N					Identifier		Name of action to be described.
-ActionText	Description	Y					Text		Localized description displayed in progress dialog and log when action is executing.
-ActionText	Template	Y					Template		Optional localized format template used to format action data records for display during action execution.
-AdminExecuteSequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
-AdminExecuteSequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
-AdminExecuteSequence	ISAttributes	Y							This is used to store MM Custom Action Types
-AdminExecuteSequence	ISComments	Y					Text		Author�s comments on this Sequence.
-AdminExecuteSequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
-AdminUISequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
-AdminUISequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
-AdminUISequence	ISAttributes	Y							This is used to store MM Custom Action Types
-AdminUISequence	ISComments	Y					Text		Author�s comments on this Sequence.
-AdminUISequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
-AdvtExecuteSequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
-AdvtExecuteSequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
-AdvtExecuteSequence	ISAttributes	Y							This is used to store MM Custom Action Types
-AdvtExecuteSequence	ISComments	Y					Text		Author�s comments on this Sequence.
-AdvtExecuteSequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
-AdvtUISequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
-AdvtUISequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
-AdvtUISequence	ISAttributes	Y							This is used to store MM Custom Action Types
-AdvtUISequence	ISComments	Y					Text		Author�s comments on this Sequence.
-AdvtUISequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
-AppId	ActivateAtStorage	Y	0	1					
-AppId	AppId	N					Guid		
-AppId	DllSurrogate	Y					Text		
-AppId	LocalService	Y					Text		
-AppId	RemoteServerName	Y					Formatted		
-AppId	RunAsInteractiveUser	Y	0	1					
-AppId	ServiceParameters	Y					Text		
-AppSearch	Property	N					Identifier		The property associated with a Signature
-AppSearch	Signature_	N			Signature	1	Identifier		The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.
-BBControl	Attributes	Y	0	2147483647					A 32-bit word that specifies the attribute flags to be applied to this control.
-BBControl	BBControl	N					Identifier		Name of the control. This name must be unique within a billboard, but can repeat on different billboard.
-BBControl	Billboard_	N			Billboard	1	Identifier		External key to the Billboard table, name of the billboard.
-BBControl	Height	N	0	32767					Height of the bounding rectangle of the control.
-BBControl	Text	Y					Text		A string used to set the initial text contained within a control (if appropriate).
-BBControl	Type	N					Identifier		The type of the control.
-BBControl	Width	N	0	32767					Width of the bounding rectangle of the control.
-BBControl	X	N	0	32767					Horizontal coordinate of the upper left corner of the bounding rectangle of the control.
-BBControl	Y	N	0	32767					Vertical coordinate of the upper left corner of the bounding rectangle of the control.
-Billboard	Action	Y					Identifier		The name of an action. The billboard is displayed during the progress messages received from this action.
-Billboard	Billboard	N					Identifier		Name of the billboard.
-Billboard	Feature_	N			Feature	1	Identifier		An external key to the Feature Table. The billboard is shown only if this feature is being installed.
-Billboard	Ordering	Y	0	32767					A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.
-Binary	Data	Y					Binary		Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.
-Binary	ISBuildSourcePath	Y					Text		Full path to the ICO or EXE file.
-Binary	Name	N					Identifier		Unique key identifying the binary data.
-BindImage	File_	N			File	1	Identifier		The index into the File table. This must be an executable file.
-BindImage	Path	Y					Paths		A list of ;  delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .
-CCPSearch	Signature_	N			Signature	1	Identifier		The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.
-CheckBox	Property	N					Identifier		A named property to be tied to the item.
-CheckBox	Value	Y					Formatted		The value string associated with the item.
-Class	AppId_	Y			AppId	1	Guid		Optional AppID containing DCOM information for associated application (string GUID).
-Class	Argument	Y					Formatted		optional argument for LocalServers.
-Class	Attributes	Y		32767					Class registration attributes.
-Class	CLSID	N					Guid		The CLSID of an OLE factory.
-Class	Component_	N			Component	1	Identifier		Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.
-Class	Context	N					Identifier		The numeric server context for this server. CLSCTX_xxxx
-Class	DefInprocHandler	Y					Text	1;2;3	Optional default inproc handler.  Only optionally provided if Context=CLSCTX_LOCAL_SERVER.  Typically "ole32.dll" or "mapi32.dll"
-Class	Description	Y					Text		Localized description for the Class.
-Class	Feature_	N			Feature	1	Identifier		Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.
-Class	FileTypeMask	Y					Text		Optional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...
-Class	Icon_	Y			Icon	1	Identifier		Optional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.
-Class	IconIndex	Y	-32767	32767					Optional icon index.
-Class	ProgId_Default	Y			ProgId	1	Text		Optional ProgId associated with this CLSID.
-ComboBox	Order	N	1	32767					A positive integer used to determine the ordering of the items within one list.The integers do not have to be consecutive.
-ComboBox	Property	N					Identifier		A named property to be tied to this item. All the items tied to the same property become part of the same combobox.
-ComboBox	Text	Y					Formatted		The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.
-ComboBox	Value	N					Formatted		The value string associated with this item. Selecting the line will set the associated property to this value.
-CompLocator	ComponentId	N					Guid		A string GUID unique to this component, version, and language.
-CompLocator	Signature_	N			Signature	1	Identifier		The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.
-CompLocator	Type	Y	0	1					A boolean value that determines if the registry value is a filename or a directory location.
-Complus	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the ComPlus component.
-Complus	ExpType	Y	0	32767					ComPlus component attributes.
-Component	Attributes	N							Remote execution option, one of irsEnum
-Component	Component	N					Identifier		Primary key used to identify a particular component record.
-Component	ComponentId	Y					Guid		A string GUID unique to this component, version, and language.
-Component	Condition	Y					Condition		A conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component.
-Component	Directory_	N			Directory	1	Identifier		Required key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.
-Component	ISAttributes	Y							This is used to store Installshield custom properties of a component.
-Component	ISComments	Y					Text		User Comments.
-Component	ISRegFileToMergeAtBuild	Y					Text		Path and File name of a .REG file to merge into the component at build time.
-Component	ISScanAtBuildFile	Y					Text		File used by the Dot Net scanner to populate dependant assemblies' File_Application field.
-Component	KeyPath	Y			File;ODBCDataSource;Registry	1	Identifier		Either the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.
-Condition	Condition	Y					Condition		Expression evaluated to determine if Level in the Feature table is to change.
-Condition	Feature_	N			Feature	1	Identifier		Reference to a Feature entry in Feature table.
-Condition	Level	N	0	32767					New selection Level to set in Feature table if Condition evaluates to TRUE.
-Control	Attributes	Y	0	2147483647					A 32-bit word that specifies the attribute flags to be applied to this control.
-Control	Binary_	Y					Identifier		External key to the Binary table.
-Control	Control	N					Identifier		Name of the control. This name must be unique within a dialog, but can repeat on different dialogs. 
-Control	Control_Next	Y			Control	2	Identifier		The name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!
-Control	Dialog_	N			Dialog	1	Identifier		External key to the Dialog table, name of the dialog.
-Control	Height	N	0	32767					Height of the bounding rectangle of the control.
-Control	Help	Y					Text		The help strings used with the button. The text is optional. 
-Control	ISBuildSourcePath	Y					Text		Full path to .rtf file for scrollable text control
-Control	ISControlId	Y							A number used to represent the control ID of the Control, Used in Dialog export
-Control	ISWindowStyle	Y	0	2147483647					A 32-bit word that specifies non-MSI window styles to be applied to this control.
-Control	Property	Y					Identifier		The name of a defined property to be linked to this control. 
-Control	Text	Y					Formatted		A string used to set the initial text contained within a control (if appropriate).
-Control	Type	N					Identifier		The type of the control.
-Control	Width	N	0	32767					Width of the bounding rectangle of the control.
-Control	X	N	0	32767					Horizontal coordinate of the upper left corner of the bounding rectangle of the control.
-Control	Y	N	0	32767					Vertical coordinate of the upper left corner of the bounding rectangle of the control.
-ControlCondition	Action	N						Default;Disable;Enable;Hide;Show	The desired action to be taken on the specified control.
-ControlCondition	Condition	N					Condition		A standard conditional statement that specifies under which conditions the action should be triggered.
-ControlCondition	Control_	N			Control	2	Identifier		A foreign key to the Control table, name of the control.
-ControlCondition	Dialog_	N			Dialog	1	Identifier		A foreign key to the Dialog table, name of the dialog.
-ControlEvent	Argument	N					Formatted		A value to be used as a modifier when triggering a particular event.
-ControlEvent	Condition	Y					Condition		A standard conditional statement that specifies under which conditions an event should be triggered.
-ControlEvent	Control_	N			Control	2	Identifier		A foreign key to the Control table, name of the control
-ControlEvent	Dialog_	N			Dialog	1	Identifier		A foreign key to the Dialog table, name of the dialog.
-ControlEvent	Event	N					Formatted		An identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.
-ControlEvent	Ordering	Y	0	2147483647					An integer used to order several events tied to the same control. Can be left blank.
-CreateFolder	Component_	N			Component	1	Identifier		Foreign key into the Component table.
-CreateFolder	Directory_	N			Directory	1	Identifier		Primary key, could be foreign key into the Directory table.
-CustomAction	Action	N					Identifier		Primary key, name of action, normally appears in sequence table unless private use.
-CustomAction	ISComments	Y					Text		Author�s comments for this custom action.
-CustomAction	Source	Y					CustomSource		The table reference of the source of the code.
-CustomAction	Target	Y			ISDLLWrapper;ISInstallScriptAction	1	Formatted		Excecution parameter, depends on the type of custom action
-CustomAction	Type	N	1	8191					The numeric custom action type, consisting of source location, code type, entry, option flags.
-Dialog	Attributes	Y	0	2147483647					A 32-bit word that specifies the attribute flags to be applied to this dialog.
-Dialog	Control_Cancel	Y			Control	2	Identifier		Defines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.
-Dialog	Control_Default	Y			Control	2	Identifier		Defines the default control. Hitting return is equivalent to pushing this button.
-Dialog	Control_First	N			Control	2	Identifier		Defines the control that has the focus when the dialog is created.
-Dialog	Dialog	N					Identifier		Name of the dialog.
-Dialog	HCentering	N	0	100					Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.
-Dialog	Height	N	0	32767					Height of the bounding rectangle of the dialog.
-Dialog	ISComments	Y					Text		Author�s comments for this dialog.
-Dialog	ISResourceId	Y							A Number the Specifies the Dialog ID to be used in Dialog Export
-Dialog	ISWindowStyle	Y							A 32-bit word that specifies non-MSI window styles to be applied to this control. This is only used in Script Based Setups.
-Dialog	TextStyle_	Y					Identifier		Foreign Key into TextStyle table, only used in Script Based Projects.
-Dialog	Title	Y					Formatted		A text string specifying the title to be displayed in the title bar of the dialog's window.
-Dialog	VCentering	N	0	100					Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.
-Dialog	Width	N	0	32767					Width of the bounding rectangle of the dialog.
-Directory	DefaultDir	N					Text		The default sub-path under parent's path.
-Directory	Directory	N					Identifier		Unique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.
-Directory	Directory_Parent	Y			Directory	1	Identifier		Reference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.
-Directory	ISAttributes	Y						0;1;2;3	This is used to store Installshield custom properties of a directory.  Currently the only one is Shortcut.
-Directory	ISDescription	Y					Text		Description of folder
-DrLocator	Depth	Y	0	32767					The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.
-DrLocator	Parent	Y					Identifier		The parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.
-DrLocator	Path	Y					AnyPath		The path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.
-DrLocator	Signature_	N			Signature	1	Identifier		The Signature_ represents a unique file signature and is also the foreign key in the Signature table.
-DuplicateFile	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the duplicate file.
-DuplicateFile	DestFolder	Y					Identifier		Name of a property whose value is assumed to resolve to the full pathname to a destination folder.
-DuplicateFile	DestName	Y					Text		Filename to be given to the duplicate file.
-DuplicateFile	File_	N			File	1	Identifier		Foreign key referencing the source file to be duplicated.
-DuplicateFile	FileKey	N					Identifier		Primary key used to identify a particular file entry
-Environment	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the installing of the environmental value.
-Environment	Environment	N					Identifier		Unique identifier for the environmental variable setting
-Environment	Name	N					Text		The name of the environmental value.
-Environment	Value	Y					Formatted		The value to set in the environmental settings.
-Error	Error	N	0	32767					Integer error number, obtained from header file IError(...) macros.
-Error	Message	Y					Template		Error formatting template, obtained from user ed. or localizers.
-EventMapping	Attribute	N					Identifier		The name of the control attribute, that is set when this event is received.
-EventMapping	Control_	N			Control	2	Identifier		A foreign key to the Control table, name of the control.
-EventMapping	Dialog_	N			Dialog	1	Identifier		A foreign key to the Dialog table, name of the Dialog.
-EventMapping	Event	N					Identifier		An identifier that specifies the type of the event that the control subscribes to.
-Extension	Component_	N			Component	1	Identifier		Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.
-Extension	Extension	N					Text		The extension associated with the table row.
-Extension	Feature_	N			Feature	1	Identifier		Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.
-Extension	MIME_	Y			MIME	1	Text		Optional Context identifier, typically "type/format" associated with the extension
-Extension	ProgId_	Y			ProgId	1	Text		Optional ProgId associated with this extension.
-Feature	Attributes	N						0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54	Feature attributes
-Feature	Description	Y					Text		Longer descriptive text describing a visible feature item.
-Feature	Directory_	Y			Directory	1	UpperCase		The name of the Directory that can be configured by the UI. A non-null value will enable the browse button.
-Feature	Display	Y	0	32767					Numeric sort order, used to force a specific display ordering.
-Feature	Feature	N					Identifier		Primary key used to identify a particular feature record.
-Feature	Feature_Parent	Y			Feature	1	Identifier		Optional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.
-Feature	ISComments	Y							Comments
-Feature	ISReleaseFlags	Y							Release Flags that specify whether this  feature will be built in a particular release.
-Feature	Level	N	0	32767					The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.
-Feature	Title	Y					Text		Short text identifying a visible feature item.
-FeatureComponents	Component_	N			Component	1	Identifier		Foreign key into Component table.
-FeatureComponents	Feature_	N			Feature	1	Identifier		Foreign key into Feature table.
-File	Attributes	Y	0	32767					Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)
-File	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the file.
-File	File	N					Identifier		Primary key, non-localized token, must match identifier in cabinet.  For uncompressed files, this field is ignored.
-File	FileName	N					Text		File name used for installation.  This may contain a "short name|long name" pair.  It may be just a long name, hence it cannot be of the Filename data type.
-File	FileSize	N	0	2147483647					Size of file in bytes (long integer).
-File	ISAttributes	Y	0	2147483647					This field contains the following attributes: UseSystemSettings(0x1)
-File	ISBuildSourcePath	Y					Text		Full path, the category is of Text instead of Path because of potential use of path variables.
-File	Language	Y					Language		List of decimal language Ids, comma-separated if more than one.
-File	Sequence	N	1	32767					Sequence with respect to the media images; order must track cabinet order.
-File	Version	Y			File	1	Version		Version string for versioned files;  Blank for unversioned files.
-FileSFPCatalog	File_	N			File	1	Identifier		File associated with the catalog
-FileSFPCatalog	SFPCatalog_	N			SFPCatalog	1	Text		Catalog associated with the file
-Font	File_	N			File	1	Identifier		Primary key, foreign key into File table referencing font file.
-Font	FontTitle	Y					Text		Font name.
-Icon	Data	Y					Binary		Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.
-Icon	ISBuildSourcePath	Y					Text		Full path to the ICO or EXE file.
-Icon	ISIconIndex	Y	-32767	32767					Optional icon index to be extracted.
-Icon	Name	N					Identifier		Primary key. Name of the icon file.
-IniFile	Action	N						0;1;3	The type of modification to be made, one of iifEnum
-IniFile	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the installing of the .INI value.
-IniFile	DirProperty	Y					Identifier		Foreign key into the Directory table denoting the directory where the .INI file is.
-IniFile	FileName	N					Text		The .INI file name in which to write the information
-IniFile	IniFile	N					Identifier		Primary key, non-localized token.
-IniFile	Key	N					Formatted		The .INI file key below Section.
-IniFile	Section	N					Formatted		The .INI file Section.
-IniFile	Value	N					Formatted		The value to be written.
-IniLocator	Field	Y	0	32767					The field in the .INI line. If Field is null or 0 the entire line is read.
-IniLocator	FileName	N					Text		The .INI file name.
-IniLocator	Key	N					Text		Key value (followed by an equals sign in INI file).
-IniLocator	Section	N					Text		Section name within in file (within square brackets in INI file).
-IniLocator	Signature_	N			Signature	1	Identifier		The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.
-IniLocator	Type	Y	0	2					An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.
-InstallExecuteSequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
-InstallExecuteSequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
-InstallExecuteSequence	ISAttributes	Y							This is used to store MM Custom Action Types
-InstallExecuteSequence	ISComments	Y					Text		Author�s comments on this Sequence.
-InstallExecuteSequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
-InstallShield	Property	N					Identifier		Name of property, uppercase if settable by launcher or loader.
-InstallShield	Value	Y					Text		String value for property.
-InstallUISequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
-InstallUISequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
-InstallUISequence	ISAttributes	Y							This is used to store MM Custom Action Types
-InstallUISequence	ISComments	Y					Text		Author�s comments on this Sequence.
-InstallUISequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
-ISComponentExtended	Component_	N			Component	1	Identifier		Primary key used to identify a particular component record.
-ISComponentExtended	FilterProperty	N					Identifier		Property to set if you want to filter a component
-ISComponentExtended	Language	Y					Text		Language
-ISComponentExtended	OS	Y							bitwise addition of OSs
-ISDependency	Exclude	Y							
-ISDependency	ISDependency	Y							
-ISDisk1File	ISBuildSourcePath	N					Text		Full path of file to be copied to Disk1 folder
-ISDisk1File	ISDisk1File	N					Identifier		Primary key for ISDisk1File table
-ISDLLWrapper	EntryPoint	N					Text		This is a foreign key to the target column in the CustomAction table
-ISDLLWrapper	Source	N					Formatted		This is column points to the source file for the DLLWrapper Custom Action
-ISDLLWrapper	Target	N					Text		The function signature
-ISDLLWrapper	Type	Y							Type
-ISDynamicFile	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the file.
-ISDynamicFile	ExcludeFiles	Y					Text		Wildcards for excluded files.
-ISDynamicFile	IncludeFiles	Y					Text		Wildcards for included files.
-ISDynamicFile	IncludeFlags	Y							Include flags.
-ISDynamicFile	ISAttributes	Y						0;1;2;3	This is used to store Installshield custom properties of a dynamic filet.  Currently the only one is SelfRegister.
-ISDynamicFile	SourceFolder	N					Text		Full path, the category is of Text instead of Path because of potential use of path variables.
-ISFeatureMergeModules	Feature_	N			Feature	1	Identifier		Foreign key into Feature table.
-ISFeatureMergeModules	ISMergeModule_	N			ISMergeModule	1	Text		Foreign key into ISMergeModule table.
-ISFeatureMergeModules	Language_	N			ISMergeModule	2			Foreign key into ISMergeModule table.
-ISInstallScriptAction	EntryPoint	N					Text		This is a foreign key to the target column in the CustomAction table
-ISInstallScriptAction	Source	N					Formatted		This is column points to the source file for the DLLWrapper Custom Action
-ISInstallScriptAction	Target	Y					Text		The function signature
-ISInstallScriptAction	Type	Y							Type
-ISLanguage	Included	Y						0;1	Specify whether this language should be included.
-ISLanguage	ISLanguage	N					Language		This is the language ID.
-ISLinkerLibrary	ISLinkerLibrary	N					Identifier		Unique identifier for the link library.
-ISLinkerLibrary	Library	N					Text		Full path of the object library (.obl file).
-ISLinkerLibrary	Order	N							Order of the Library
-ISLocalControl	Attributes	Y							A 32-bit word that specifies the attribute flags to be applied to this control.
-ISLocalControl	Binary_	Y					Identifier		External key to the Binary table.
-ISLocalControl	Control_	N			Control	2	Identifier		Name of the control. This name must be unique within a dialog, but can repeat on different dialogs.
-ISLocalControl	Dialog_	N			Dialog	1	Identifier		External key to the Dialog table, name of the dialog.
-ISLocalControl	Height	Y							Height of the bounding rectangle of the control.
-ISLocalControl	ISBuildSourcePath	Y					Text		Full path to .rtf file for scrollable text control
-ISLocalControl	ISLanguage_	N			ISLanguage	1	Language		This is a foreign key to the ISLanguage table.
-ISLocalControl	Width	Y							Width of the bounding rectangle of the control.
-ISLocalControl	X	Y							Horizontal coordinate of the upper left corner of the bounding rectangle of the control.
-ISLocalControl	Y	Y							Vertical coordinate of the upper left corner of the bounding rectangle of the control.
-ISLocalDialog	Attributes	Y							A 32-bit word that specifies the attribute flags to be applied to this dialog.
-ISLocalDialog	Dialog_	Y			Dialog	1	Identifier		Name of the dialog.
-ISLocalDialog	Height	N	0	32767					Height of the bounding rectangle of the dialog.
-ISLocalDialog	ISLanguage_	Y			ISLanguage	1	Language		This is a foreign key to the ISLanguage table.
-ISLocalDialog	TextStyle_	Y					Identifier		Foreign Key into TextStyle table, only used in Script Based Projects.
-ISLocalDialog	Width	N	0	32767					Width of the bounding rectangle of the dialog.
-ISLogicalDisk	Cabinet	Y					Cabinet		If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.
-ISLogicalDisk	DiskId	N	1	32767					Primary key, integer to determine sort order for table.
-ISLogicalDisk	DiskPrompt	Y					Text		Disk name: the visible text actually printed on the disk.  This will be used to prompt the user when this disk needs to be inserted.
-ISLogicalDisk	ISProductConfiguration_	N			ISProductConfiguration	1	Text		Foreign key into the ISProductConfiguration table.
-ISLogicalDisk	ISRelease_	N			ISRelease	1	Text		Foreign key into the ISRelease table.
-ISLogicalDisk	LastSequence	N	0	32767					File sequence number for the last file for this media.
-ISLogicalDisk	Source	Y					Property		The property defining the location of the cabinet file.
-ISLogicalDisk	VolumeLabel	Y					Text		The label attributed to the volume.
-ISLogicalDiskFeatures	Feature_	Y			Feature	1	Identifier		Required foreign key into the Feature Table,
-ISLogicalDiskFeatures	ISAttributes	Y							This is used to store Installshield custom properties, like Compressed, etc.
-ISLogicalDiskFeatures	ISLogicalDisk_	N	1	32767	ISLogicalDisk	1	Identifier		Foreign key into the ISLogicalDisk table.
-ISLogicalDiskFeatures	ISProductConfiguration_	N			ISProductConfiguration	1	Text		Foreign key into the ISProductConfiguration table.
-ISLogicalDiskFeatures	ISRelease_	N			ISRelease	1	Text		Foreign key into the ISRelease table.
-ISLogicalDiskFeatures	Sequence	N	0	32767					File sequence number for the file for this media.
-ISMergeModule	Destination	Y					Text		Destination.
-ISMergeModule	ISMergeModule	N					Text		The GUID identifying the merge module.
-ISMergeModule	Language	N							Default decimal language of module.
-ISMergeModule	Name	N					Text		Name of the merge module.
-ISObject	Language	N					Text		
-ISObject	ObjectName	N					Text		
-ISObjectProperty	IncludeInBuild	Y							Boolean, 0 for false non 0 for true
-ISObjectProperty	ObjectName	Y			ISObject	1	Text		
-ISObjectProperty	Property	Y					Text		
-ISObjectProperty	Value	Y					Text		
-IsolatedComponent	Component_Application	N			Component	1	Identifier		Key to Component table item for application
-IsolatedComponent	Component_Shared	N			Component	1	Identifier		Key to Component table item to be isolated
-ISPathVariable	ISPathVariable	N							The name of the path variable.
-ISPathVariable	TestValue	Y					Text		The test value of the path variable.
-ISPathVariable	Type	N						1;2;4;8	The type of the path variable.
-ISPathVariable	Value	Y					Text		The value of the path variable.
-ISProductConfiguration	GeneratePackageCode	Y					Number	0;1	Indicates whether or not to generate a package code.
-ISProductConfiguration	ISProductConfiguration	N					Text		The name of the product configuration.
-ISProductConfiguration	ProductConfigurationFlags	Y					Text		Product configuration (release) flags.
-ISProductConfigurationProperty	ISProductConfiguration_	N			ISProductConfiguration	1	Text		Foreign key into the ISProductConfiguration table.
-ISProductConfigurationProperty	Property	N			Property	1	Text		Product Congiuration property name
-ISProductConfigurationProperty	Value	Y					Text		String value for property. Never null or empty.
-ISRelease	Attributes	N							Bitfield holding boolean values for various release attributes.
-ISRelease	BuildLocation	N					Text		Build location.
-ISRelease	CDBrowser	Y					Text		Demoshield browser location.
-ISRelease	DefaultLanguage	N					Language		Default language for setup.
-ISRelease	DigitalPVK	Y					Text		Digital signing private key (.pvk) file.
-ISRelease	DigitalSPC	Y					Text		Digital signing Software Publisher Certificate (.spc) file.
-ISRelease	DigitalURL	Y					Text		Digital signing URL.
-ISRelease	DiskClusterSize	N							Disk cluster size.
-ISRelease	DiskSize	N					Text		Disk size.
-ISRelease	DiskSizeUnit	N						0;1	Disk size units (KB or MB).
-ISRelease	DiskSpanning	N						0;1;2	Disk spanning (automatic, enforce size, etc.).
-ISRelease	DotNetBuildConfiguration	Y					Text		Build Configuration for .NET solutions.
-ISRelease	ISProductConfiguration_	N			ISProductConfiguration	1	Text		Foreign key into the ISProductConfiguration table.
-ISRelease	ISRelease	N					Text		The name of the release.
-ISRelease	MediaLocation	N					Text		Media location on disk.
-ISRelease	MsiCommandLine	Y					Text		Command line passed to the msi package from setup.exe
-ISRelease	MsiSourceType	N	-1	4					MSI media source type.
-ISRelease	PackageName	N					Text		Package name.
-ISRelease	Password	Y					Text		Password.
-ISRelease	Platforms	N					Text		Platforms supported (Intel, Alpha, etc.).
-ISRelease	ReleaseFlags	Y					Text		Release flags.
-ISRelease	ReleaseType	N						1;2;4	Release type (single, uncompressed, etc.).
-ISRelease	SupportedLanguagesData	Y					Text		Languages supported (for component filtering).
-ISRelease	SupportedLanguagesUI	N					Text		UI languages supported.
-ISRelease	SupportedOSs	N							Indicate which operating systmes are supported.
-ISRelease	SynchMsi	Y					Text		MSI file to synchronize file keys and other data with (patch-like functionality).
-ISRelease	Type	N	0	4					Release type (CDROM, Network, etc.).
-ISRelease	URLLocation	Y					Text		Media location via URL.
-ISRelease	VersionCopyright	Y					Text		Version stamp information.
-ISReleaseExtended	DigitalCertificateDBaseNS	Y					Text		Path to cerificate database for Netscape digital  signature
-ISReleaseExtended	DigitalCertificateIdNS	Y					Text		Path to cerificate ID for Netscape digital  signature
-ISReleaseExtended	DigitalCertificatePasswordNS	Y					Text		Password for Netscape digital  signature
-ISReleaseExtended	DotNetRedistLocation	Y	0	3					Location of .NET framework Redist (Web, SetupExe, Source, None)
-ISReleaseExtended	DotNetRedistURL	Y					Text		URL to .NET framework Redist
-ISReleaseExtended	EngineLocation	Y	0	2					Location of msi engine (Web, SetupExe...)
-ISReleaseExtended	ISEngineLocation	Y	0	2					Location of ISScript  engine (Web, SetupExe...)
-ISReleaseExtended	ISEngineURL	Y					Text		URL to InstallShield scripting engine
-ISReleaseExtended	ISProductConfiguration_	N					Text		Foreign key into the ISProductConfiguration table.
-ISReleaseExtended	ISRelease_	N					Text		The name of the release.
-ISReleaseExtended	OneClickCabName	Y					Text		File name of generated cabfile
-ISReleaseExtended	OneClickHtmlName	Y					Text		File name of generated html page
-ISReleaseExtended	OneClickTargetBrowser	Y	0	2					Target browser (IE, Netscape, both...)
-ISReleaseExtended	WebCabSize	Y	0	2147483647					Size of the cabfile
-ISReleaseExtended	WebLocalCachePath	Y					Text		Directory to cache downloaded package
-ISReleaseExtended	WebType	Y	0	2					Type of web install (One Executable, Downloader...)
-ISReleaseExtended	WebURL	Y					Text		URL to .msi package
-ISReleaseExtended	Win9xMsiUrl	Y					Text		URL to Ansi MSI engine
-ISReleaseExtended	WinNTMsiUrl	Y					Text		URL to Unicode MSI engine
-ISScriptFile	ISScriptFile	N					Text		This is the full path of the script file. The path portion may be expressed in path variable form.
-ISSelfReg	CmdLine	Y							
-ISSelfReg	Cost	Y							
-ISSelfReg	FileKey	N			File	1	Identifier		Foreign key to the file table
-ISSelfReg	Order	Y							
-ISSetupFile	FileName	Y					Text		This is the file name to use when streaming the file to the support files location
-ISSetupFile	ISSetupFile	N					Identifier		This is the primary key to the ISSetupFile table
-ISSetupFile	Language	Y					Text		Four digit language identifier.  0 for Language Neutral
-ISSetupFile	Path	Y					Text		Link to the source file on the build machine
-ISSetupFile	Splash	Y					Short		Boolean value indication whether his setup file entry belongs in the Splasc Screen section
-ISSetupFile	Stream	Y					Binary		Binary stream. The bits to stream to the support location
-ISStorages	ISBuildSourcePath	Y							Path to the file to stream into sub-storage
-ISStorages	Name	N							Name of the sub-storage key
-ISString	Comment	Y					Text		Comment
-ISString	Encoded	Y							Encoding for multi-byte strings.
-ISString	ISLanguage_	N					Language		This is a foreign key to the ISLanguage table.
-ISString	ISString	N					Text		String id.
-ISString	TimeStamp	Y					Time/Date		Time Stamp. MSI's Time/Date column type is just an int, with bits packed in a certain order.
-ISString	Value	Y					Text		real string value.
-ISVRoot	Condition	Y							
-ISVRoot	VRootAppName	Y					Text		Localizable Application Name
-ISVRoot	VRootDefDoc	Y					Text		Localizable Defeault Doc
-ISVRoot	VRootDir	N							
-ISVRoot	VRootKey	N							
-ISVRoot	VRootName	N					Text		Localizable Virtual Root Name
-ISVRoot	VRootProps	N							
-ISVRootAppMaps	AppMapProps	N							
-ISVRootAppMaps	ExecPath	N					Text		Localizable Exec Path
-ISVRootAppMaps	Extension	N					Text		Localizable Extension
-ISVRootAppMaps	Verb	N					Text		Localizable Verb
-ISVRootAppMaps	VRootAppMapKey	N							
-ISVRootAppMaps	VRootKey	N							
-LaunchCondition	Condition	N					Condition		Expression which must evaluate to TRUE in order for install to commence.
-LaunchCondition	Description	N					Text		Localizable text to display when condition fails and install must abort.
-ListBox	Order	N	1	32767					A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.
-ListBox	Property	N					Identifier		A named property to be tied to this item. All the items tied to the same property become part of the same listbox.
-ListBox	Text	Y					Text		The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.
-ListBox	Value	N					Formatted		The value string associated with this item. Selecting the line will set the associated property to this value.
-ListView	Binary_	Y			Binary	1	Identifier		The name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.
-ListView	Order	N	1	32767					A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.
-ListView	Property	N					Identifier		A named property to be tied to this item. All the items tied to the same property become part of the same listview.
-ListView	Text	Y					Text		The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.
-ListView	Value	N					Text		The value string associated with this item. Selecting the line will set the associated property to this value.
-LockPermissions	Domain	Y					Text		Domain name for user whose permissions are being set. (usually a property)
-LockPermissions	LockObject	N					Identifier		Foreign key into Registry or File table
-LockPermissions	Permission	Y	-2147483647	2147483647					Permission Access mask.  Full Control = 268435456 (GENERIC_ALL = 0x10000000)
-LockPermissions	Table	N					Identifier	Directory;File;Registry	Reference to another table name
-LockPermissions	User	N					Text		User for permissions to be set.  (usually a property)
-Media	Cabinet	Y					Cabinet		If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.
-Media	DiskId	N	1	32767					Primary key, integer to determine sort order for table.
-Media	DiskPrompt	Y					Text		Disk name: the visible text actually printed on the disk.  This will be used to prompt the user when this disk needs to be inserted.
-Media	LastSequence	N	0	32767					File sequence number for the last file for this media.
-Media	Source	Y					Property		The property defining the location of the cabinet file.
-Media	VolumeLabel	Y					Text		The label attributed to the volume.
-MIME	CLSID	Y			Class	1	Guid		Optional associated CLSID.
-MIME	ContentType	N					Text		Primary key. Context identifier, typically "type/format".
-MIME	Extension_	N			Extension	1	Text		Optional associated extension (without dot)
-MoveFile	Component_	N			Component	1	Identifier		If this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entry
-MoveFile	DestFolder	N					Identifier		Name of a property whose value is assumed to resolve to the full path to the destination directory
-MoveFile	DestName	Y					Text		Name to be given to the original file after it is moved or copied.  If blank, the destination file will be given the same name as the source file
-MoveFile	FileKey	N					Identifier		Primary key that uniquely identifies a particular MoveFile record
-MoveFile	Options	N	0	1					Integer value specifying the MoveFile operating mode, one of imfoEnum
-MoveFile	SourceFolder	Y					Identifier		Name of a property whose value is assumed to resolve to the full path to the source directory
-MoveFile	SourceName	Y					Text		Name of the source file(s) to be moved or copied.  Can contain the '*' or '?' wildcards.
-MsiAssembly	Attributes	Y							Assembly attributes
-MsiAssembly	Component_	N			Component	1	Identifier		Foreign key into Component table.
-MsiAssembly	Feature_	N			Feature	1	Identifier		Foreign key into Feature table.
-MsiAssembly	File_Application	Y			File	1	Identifier		Foreign key into File table, denoting the application context for private assemblies. Null for global assemblies.
-MsiAssembly	File_Manifest	Y			File	1	Identifier		Foreign key into the File table denoting the manifest file for the assembly.
-MsiAssemblyName	Component_	N			Component	1	Identifier		Foreign key into Component table.
-MsiAssemblyName	Name	N					Text		The name part of the name-value pairs for the assembly name.
-MsiAssemblyName	Value	N					Text		The value part of the name-value pairs for the assembly name.
-MsiDigitalCertificate	CertData	N					Binary		A certificate context blob for a signer certificate
-MsiDigitalCertificate	DigitalCertificate	N					Identifier		A unique identifier for the row
-MsiDigitalSignature	DigitalCertificate_	N			MsiDigitalCertificate	1	Identifier		Foreign key to MsiDigitalCertificate table identifying the signer certificate
-MsiDigitalSignature	Hash	Y					Binary		The encoded hash blob from the digital signature
-MsiDigitalSignature	SignObject	N					Text		Foreign key to Media table
-MsiDigitalSignature	Table	N					Identifier		Reference to another table name (only Media table is supported)
-MsiFileHash	File_	N			File	1	Identifier		Primary key, foreign key into File table referencing file with this hash
-MsiFileHash	HashPart1	N							Size of file in bytes (long integer).
-MsiFileHash	HashPart2	N							Size of file in bytes (long integer).
-MsiFileHash	HashPart3	N							Size of file in bytes (long integer).
-MsiFileHash	HashPart4	N							Size of file in bytes (long integer).
-MsiFileHash	Options	N	0	32767					Various options and attributes for this hash.
-ODBCAttribute	Attribute	N					Text		Name of ODBC driver attribute
-ODBCAttribute	Driver_	N			ODBCDriver	1	Identifier		Reference to ODBC driver in ODBCDriver table
-ODBCAttribute	Value	Y					Text		Value for ODBC driver attribute
-ODBCDataSource	Component_	N			Component	1	Identifier		Reference to associated component
-ODBCDataSource	DataSource	N					Identifier		Primary key, non-localized.internal token for data source
-ODBCDataSource	Description	N					Text		Text used as registered name for data source
-ODBCDataSource	DriverDescription	N					Text		Reference to driver description, may be existing driver
-ODBCDataSource	Registration	N	0	1					Registration option: 0=machine, 1=user, others t.b.d.
-ODBCDriver	Component_	N			Component	1	Identifier		Reference to associated component
-ODBCDriver	Description	N					Text		Text used as registered name for driver, non-localized
-ODBCDriver	Driver	N					Identifier		Primary key, non-localized.internal token for driver
-ODBCDriver	File_	N			File	1	Identifier		Reference to key driver file
-ODBCDriver	File_Setup	Y			File	1	Identifier		Optional reference to key driver setup DLL
-ODBCSourceAttribute	Attribute	N					Text		Name of ODBC data source attribute
-ODBCSourceAttribute	DataSource_	N			ODBCDataSource	1	Identifier		Reference to ODBC data source in ODBCDataSource table
-ODBCSourceAttribute	Value	Y					Text		Value for ODBC data source attribute
-ODBCTranslator	Component_	N			Component	1	Identifier		Reference to associated component
-ODBCTranslator	Description	N					Text		Text used as registered name for translator
-ODBCTranslator	File_	N			File	1	Identifier		Reference to key translator file
-ODBCTranslator	File_Setup	Y			File	1	Identifier		Optional reference to key translator setup DLL
-ODBCTranslator	Translator	N					Identifier		Primary key, non-localized.internal token for translator
-Patch	Attributes	N	0	32767					Integer containing bit flags representing patch attributes
-Patch	File_	N			File	1	Identifier		Primary key, non-localized token, foreign key to File table, must match identifier in cabinet.
-Patch	Header	Y					Binary		Binary stream. The patch header, used for patch validation.
-Patch	ISBuildSourcePath	Y					Text		Full path to patch header.
-Patch	PatchSize	N	0	2147483647					Size of patch in bytes (long integer).
-Patch	Sequence	N	0	32767					Primary key, sequence with respect to the media images; order must track cabinet order.
-PatchPackage	Media_	N	0	32767					Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.
-PatchPackage	PatchId	N					Guid		A unique string GUID representing this patch.
-ProgId	Class_	Y			Class	1	Guid		The CLSID of an OLE factory corresponding to the ProgId.
-ProgId	Description	Y					Text		Localized description for the Program identifier.
-ProgId	Icon_	Y			Icon	1	Identifier		Optional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.
-ProgId	IconIndex	Y	-32767	32767					Optional icon index.
-ProgId	ISAttributes	Y							This is used to store Installshield custom properties of a component, like ExtractIcon, etc.
-ProgId	ProgId	N					Text		The Program Identifier. Primary key.
-ProgId	ProgId_Parent	Y			ProgId	1	Text		The Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.
-Property	ISComments	Y					Text		User Comments.
-Property	Property	N					Identifier		Name of property, uppercase if settable by launcher or loader.
-Property	Value	Y					Text		String value for property.
-PublishComponent	AppData	Y					Text		This is localisable Application specific data that can be associated with a Qualified Component.
-PublishComponent	Component_	N			Component	1	Identifier		Foreign key into the Component table.
-PublishComponent	ComponentId	N					Guid		A string GUID that represents the component id that will be requested by the alien product.
-PublishComponent	Feature_	N			Feature	1	Identifier		Foreign key into the Feature table.
-PublishComponent	Qualifier	N					Text		This is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.
-RadioButton	Height	N	0	32767					The height of the button.
-RadioButton	Help	Y					Text		The help strings used with the button. The text is optional.
-RadioButton	Order	N	1	32767					A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.
-RadioButton	Property	N					Identifier		A named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.
-RadioButton	Text	Y					Text		The visible title to be assigned to the radio button.
-RadioButton	Value	N					Formatted		The value string associated with this button. Selecting the button will set the associated property to this value.
-RadioButton	Width	N	0	32767					The width of the button.
-RadioButton	X	N	0	32767					The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.
-RadioButton	Y	N	0	32767					The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.
-Registry	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the installing of the registry value.
-Registry	ISAttributes	Y						0;1	This is used to store Installshield custom properties of a registry item.  Currently the only one is Automatic.
-Registry	Key	N					RegPath		The key for the registry value.
-Registry	Name	Y					Formatted		The registry value name.
-Registry	Registry	N					Identifier		Primary key, non-localized token.
-Registry	Root	N	-1	3					The predefined root key for the registry value, one of rrkEnum.
-Registry	Value	Y					Formatted		The registry value.
-RegLocator	Key	N					RegPath		The key for the registry value.
-RegLocator	Name	Y					Formatted		The registry value name.
-RegLocator	Root	N	0	3					The predefined root key for the registry value, one of rrkEnum.
-RegLocator	Signature_	N			Signature	1	Identifier		The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.
-RegLocator	Type	Y							An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.
-RemoveFile	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the file to be removed.
-RemoveFile	DirProperty	N					Identifier		Name of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.
-RemoveFile	FileKey	N					Identifier		Primary key used to identify a particular file entry
-RemoveFile	FileName	Y					Text		Name of the file to be removed.
-RemoveFile	InstallMode	N						1;2;3	Installation option, one of iimEnum.
-RemoveIniFile	Action	N						2;4	The type of modification to be made, one of iifEnum.
-RemoveIniFile	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the deletion of the .INI value.
-RemoveIniFile	DirProperty	Y					Identifier		Foreign key into the Directory table denoting the directory where the .INI file is.
-RemoveIniFile	FileName	N					Text		The .INI file name in which to delete the information
-RemoveIniFile	Key	N					Formatted		The .INI file key below Section.
-RemoveIniFile	RemoveIniFile	N					Identifier		Primary key, non-localized token.
-RemoveIniFile	Section	N					Formatted		The .INI file Section.
-RemoveIniFile	Value	Y					Formatted		The value to be deleted. The value is required when Action is iifIniRemoveTag
-RemoveRegistry	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the deletion of the registry value.
-RemoveRegistry	Key	N					RegPath		The key for the registry value.
-RemoveRegistry	Name	Y					Formatted		The registry value name.
-RemoveRegistry	RemoveRegistry	N					Identifier		Primary key, non-localized token.
-RemoveRegistry	Root	N	-1	3					The predefined root key for the registry value, one of rrkEnum
-ReserveCost	Component_	N			Component	1	Identifier		Reserve a specified amount of space if this component is to be installed.
-ReserveCost	ReserveFolder	Y					Identifier		Name of a property whose value is assumed to resolve to the full path to the destination directory
-ReserveCost	ReserveKey	N					Identifier		Primary key that uniquely identifies a particular ReserveCost record
-ReserveCost	ReserveLocal	N	0	2147483647					Disk space to reserve if linked component is installed locally.
-ReserveCost	ReserveSource	N	0	2147483647					Disk space to reserve if linked component is installed to run from the source location.
-SelfReg	Cost	Y	0	32767					The cost of registering the module.
-SelfReg	File_	N			File	1	Identifier		Foreign key into the File table denoting the module that needs to be registered.
-ServiceControl	Arguments	Y					Formatted		Arguments for the service.  Separate by [~].
-ServiceControl	Component_	N			Component	1	Identifier		Required foreign key into the Component Table that controls the startup of the service
-ServiceControl	Event	N	0	187					Bit field:  Install:  0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = Delete
-ServiceControl	Name	N					Formatted		Name of a service. /, \, comma and space are invalid
-ServiceControl	ServiceControl	N					Identifier		Primary key, non-localized token.
-ServiceControl	Wait	Y	0	1					Boolean for whether to wait for the service to fully start
-ServiceInstall	Arguments	Y					Formatted		Arguments to include in every start of the service, passed to WinMain
-ServiceInstall	Component_	N			Component	1	Identifier		Required foreign key into the Component Table that controls the startup of the service
-ServiceInstall	Dependencies	Y					Formatted		Other services this depends on to start.  Separate by [~], and end with [~][~]
-ServiceInstall	Description	Y					Text		Description of service.
-ServiceInstall	DisplayName	Y					Formatted		External Name of the Service
-ServiceInstall	ErrorControl	N	-2147483647	2147483647					Severity of error if service fails to start
-ServiceInstall	LoadOrderGroup	Y					Formatted		LoadOrderGroup
-ServiceInstall	Name	N					Formatted		Internal Name of the Service
-ServiceInstall	Password	Y					Formatted		password to run service with.  (with StartName)
-ServiceInstall	ServiceInstall	N					Identifier		Primary key, non-localized token.
-ServiceInstall	ServiceType	N	-2147483647	2147483647					Type of the service
-ServiceInstall	StartName	Y					Formatted		User or object name to run service as
-ServiceInstall	StartType	N	0	4					Type of the service
-SFPCatalog	Catalog	Y					Binary		SFP Catalog
-SFPCatalog	Dependency	Y					Formatted		Parent catalog - only used by SFP
-SFPCatalog	SFPCatalog	N					Filename		File name for the catalog.
-Shortcut	Arguments	Y					Formatted		The command-line arguments for the shortcut.
-Shortcut	Component_	N			Component	1	Identifier		Foreign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.
-Shortcut	Description	Y					Text		The description for the shortcut.
-Shortcut	Directory_	N			Directory	1	Identifier		Foreign key into the Directory table denoting the directory where the shortcut file is created.
-Shortcut	Hotkey	Y	0	32767					The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte. 
-Shortcut	Icon_	Y			Icon	1	Identifier		Foreign key into the File table denoting the external icon file for the shortcut.
-Shortcut	IconIndex	Y	-32767	32767					The icon index for the shortcut.
-Shortcut	ISComments	Y					Text		Author�s comments on this Shortcut.
-Shortcut	Name	N					Text		The name of the shortcut to be created.
-Shortcut	Shortcut	N					Identifier		Primary key, non-localized token.
-Shortcut	ShowCmd	Y						1;3;7	The show command for the application window.The following values may be used.
-Shortcut	Target	N					Shortcut		The shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.
-Shortcut	WkDir	Y					Identifier		Name of property defining location of working directory.
-Signature	FileName	N					Text		The name of the file. This may contain a "short name|long name" pair.
-Signature	Languages	Y					Language		The languages supported by the file.
-Signature	MaxDate	Y	0	2147483647					The maximum creation date of the file.
-Signature	MaxSize	Y	0	2147483647					The maximum size of the file. 
-Signature	MaxVersion	Y					Text		The maximum version of the file.
-Signature	MinDate	Y	0	2147483647					The minimum creation date of the file.
-Signature	MinSize	Y	0	2147483647					The minimum size of the file.
-Signature	MinVersion	Y					Text		The minimum version of the file.
-Signature	Signature	N					Identifier		The table key. The Signature represents a unique file signature.
-TextStyle	Color	Y	0	16777215					A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).
-TextStyle	FaceName	N					Text		A string indicating the name of the font used. Required. The string must be at most 31 characters long.
-TextStyle	Size	N	0	32767					The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.
-TextStyle	StyleBits	Y	0	15					A combination of style bits.
-TextStyle	TextStyle	N					Identifier		Name of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.
-TypeLib	Component_	N			Component	1	Identifier		Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.
-TypeLib	Cost	Y	0	2147483647					The cost associated with the registration of the typelib. This column is currently optional.
-TypeLib	Description	Y					Text		
-TypeLib	Directory_	Y			Directory	1	Identifier		Optional. The foreign key into the Directory table denoting the path to the help file for the type library.
-TypeLib	Feature_	N			Feature	1	Identifier		Required foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.
-TypeLib	Language	N	0	32767					The language of the library.
-TypeLib	LibID	N					Guid		The GUID that represents the library.
-TypeLib	Version	Y	0	2147483647					The version of the library. The major version is in the upper 8 bits of the short integer. The minor version is in the lower 8 bits.
-UIText	Key	N					Identifier		A unique key that identifies the particular string.
-UIText	Text	Y					Text		The localized version of the string.
-Upgrade	ActionProperty	N					UpperCase		The property to set when a product in this set is found.
-Upgrade	Attributes	N	0	2147483647					The attributes of this product set.
-Upgrade	ISDisplayName	Y							
-Upgrade	Language	Y					Language		A comma-separated list of languages for either products in this set or products not in this set.
-Upgrade	Remove	Y					Formatted		The list of features to remove when uninstalling a product from this set.  The default is "ALL".
-Upgrade	UpgradeCode	N					Guid		The UpgradeCode GUID belonging to the products in this set.
-Upgrade	VersionMax	Y					Text		The maximum ProductVersion of the products in this set.  The set may or may not include products with this particular version.
-Upgrade	VersionMin	Y					Text		The minimum ProductVersion of the products in this set.  The set may or may not include products with this particular version.
-Verb	Argument	Y					Formatted		Optional value for the command arguments.
-Verb	Command	Y					Formatted		The command text.
-Verb	Extension_	N			Extension	1	Text		The extension associated with the table row.
-Verb	Sequence	Y	0	32767					Order within the verbs for a particular extension. Also used simply to specify the default verb.
-Verb	Verb	N					Text		The verb for the command.
+Table	Column	Nullable	MinValue	MaxValue	KeyTable	KeyColumn	Category	Set	Description
+s32	s32	s4	I4	I4	S255	I2	S32	S255	S255
+1252	_Validation	Table	Column
+_Validation	Category	Y						"Text";"Formatted";"Template";"Condition";"Guid";"Path";"Version";"Language";"Identifier";"Binary";"UpperCase";"LowerCase";"Filename";"Paths";"AnyPath";"WildCardFilename";"RegPath";"KeyFormatted";"CustomSource";"Property";"Cabinet";"Shortcut";"URL";"DefaultDir"	String category
+_Validation	Column	N					Identifier		Name of column
+_Validation	Description	Y					Text		Description of column
+_Validation	KeyColumn	Y	1	32					Column to which foreign key connects
+_Validation	KeyTable	Y					Identifier		For foreign key, Name of table to which data must link
+_Validation	MaxValue	Y	-2147483647	2147483647					Maximum value allowed
+_Validation	MinValue	Y	-2147483647	2147483647					Minimum value allowed
+_Validation	Nullable	N						Y;N;@	Whether the column is nullable
+_Validation	Set	Y					Text		Set of values that are permitted
+_Validation	Table	N					Identifier		Name of table
+ActionText	Action	N					Identifier		Name of action to be described.
+ActionText	Description	Y					Text		Localized description displayed in progress dialog and log when action is executing.
+ActionText	Template	Y					Template		Optional localized format template used to format action data records for display during action execution.
+AdminExecuteSequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
+AdminExecuteSequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
+AdminExecuteSequence	ISAttributes	Y							This is used to store MM Custom Action Types
+AdminExecuteSequence	ISComments	Y					Text		Author�s comments on this Sequence.
+AdminExecuteSequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
+AdminUISequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
+AdminUISequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
+AdminUISequence	ISAttributes	Y							This is used to store MM Custom Action Types
+AdminUISequence	ISComments	Y					Text		Author�s comments on this Sequence.
+AdminUISequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
+AdvtExecuteSequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
+AdvtExecuteSequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
+AdvtExecuteSequence	ISAttributes	Y							This is used to store MM Custom Action Types
+AdvtExecuteSequence	ISComments	Y					Text		Author�s comments on this Sequence.
+AdvtExecuteSequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
+AdvtUISequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
+AdvtUISequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
+AdvtUISequence	ISAttributes	Y							This is used to store MM Custom Action Types
+AdvtUISequence	ISComments	Y					Text		Author�s comments on this Sequence.
+AdvtUISequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
+AppId	ActivateAtStorage	Y	0	1					
+AppId	AppId	N					Guid		
+AppId	DllSurrogate	Y					Text		
+AppId	LocalService	Y					Text		
+AppId	RemoteServerName	Y					Formatted		
+AppId	RunAsInteractiveUser	Y	0	1					
+AppId	ServiceParameters	Y					Text		
+AppSearch	Property	N					Identifier		The property associated with a Signature
+AppSearch	Signature_	N			Signature	1	Identifier		The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.
+BBControl	Attributes	Y	0	2147483647					A 32-bit word that specifies the attribute flags to be applied to this control.
+BBControl	BBControl	N					Identifier		Name of the control. This name must be unique within a billboard, but can repeat on different billboard.
+BBControl	Billboard_	N			Billboard	1	Identifier		External key to the Billboard table, name of the billboard.
+BBControl	Height	N	0	32767					Height of the bounding rectangle of the control.
+BBControl	Text	Y					Text		A string used to set the initial text contained within a control (if appropriate).
+BBControl	Type	N					Identifier		The type of the control.
+BBControl	Width	N	0	32767					Width of the bounding rectangle of the control.
+BBControl	X	N	0	32767					Horizontal coordinate of the upper left corner of the bounding rectangle of the control.
+BBControl	Y	N	0	32767					Vertical coordinate of the upper left corner of the bounding rectangle of the control.
+Billboard	Action	Y					Identifier		The name of an action. The billboard is displayed during the progress messages received from this action.
+Billboard	Billboard	N					Identifier		Name of the billboard.
+Billboard	Feature_	N			Feature	1	Identifier		An external key to the Feature Table. The billboard is shown only if this feature is being installed.
+Billboard	Ordering	Y	0	32767					A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.
+Binary	Data	Y					Binary		Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.
+Binary	ISBuildSourcePath	Y					Text		Full path to the ICO or EXE file.
+Binary	Name	N					Identifier		Unique key identifying the binary data.
+BindImage	File_	N			File	1	Identifier		The index into the File table. This must be an executable file.
+BindImage	Path	Y					Paths		A list of ;  delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .
+CCPSearch	Signature_	N			Signature	1	Identifier		The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.
+CheckBox	Property	N					Identifier		A named property to be tied to the item.
+CheckBox	Value	Y					Formatted		The value string associated with the item.
+Class	AppId_	Y			AppId	1	Guid		Optional AppID containing DCOM information for associated application (string GUID).
+Class	Argument	Y					Formatted		optional argument for LocalServers.
+Class	Attributes	Y		32767					Class registration attributes.
+Class	CLSID	N					Guid		The CLSID of an OLE factory.
+Class	Component_	N			Component	1	Identifier		Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.
+Class	Context	N					Identifier		The numeric server context for this server. CLSCTX_xxxx
+Class	DefInprocHandler	Y					Text	1;2;3	Optional default inproc handler.  Only optionally provided if Context=CLSCTX_LOCAL_SERVER.  Typically "ole32.dll" or "mapi32.dll"
+Class	Description	Y					Text		Localized description for the Class.
+Class	Feature_	N			Feature	1	Identifier		Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.
+Class	FileTypeMask	Y					Text		Optional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...
+Class	Icon_	Y			Icon	1	Identifier		Optional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.
+Class	IconIndex	Y	-32767	32767					Optional icon index.
+Class	ProgId_Default	Y			ProgId	1	Text		Optional ProgId associated with this CLSID.
+ComboBox	Order	N	1	32767					A positive integer used to determine the ordering of the items within one list.The integers do not have to be consecutive.
+ComboBox	Property	N					Identifier		A named property to be tied to this item. All the items tied to the same property become part of the same combobox.
+ComboBox	Text	Y					Formatted		The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.
+ComboBox	Value	N					Formatted		The value string associated with this item. Selecting the line will set the associated property to this value.
+CompLocator	ComponentId	N					Guid		A string GUID unique to this component, version, and language.
+CompLocator	Signature_	N			Signature	1	Identifier		The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.
+CompLocator	Type	Y	0	1					A boolean value that determines if the registry value is a filename or a directory location.
+Complus	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the ComPlus component.
+Complus	ExpType	Y	0	32767					ComPlus component attributes.
+Component	Attributes	N							Remote execution option, one of irsEnum
+Component	Component	N					Identifier		Primary key used to identify a particular component record.
+Component	ComponentId	Y					Guid		A string GUID unique to this component, version, and language.
+Component	Condition	Y					Condition		A conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component.
+Component	Directory_	N			Directory	1	Identifier		Required key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.
+Component	ISAttributes	Y							This is used to store Installshield custom properties of a component.
+Component	ISComments	Y					Text		User Comments.
+Component	ISRegFileToMergeAtBuild	Y					Text		Path and File name of a .REG file to merge into the component at build time.
+Component	ISScanAtBuildFile	Y					Text		File used by the Dot Net scanner to populate dependant assemblies' File_Application field.
+Component	KeyPath	Y			File;ODBCDataSource;Registry	1	Identifier		Either the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.
+Condition	Condition	Y					Condition		Expression evaluated to determine if Level in the Feature table is to change.
+Condition	Feature_	N			Feature	1	Identifier		Reference to a Feature entry in Feature table.
+Condition	Level	N	0	32767					New selection Level to set in Feature table if Condition evaluates to TRUE.
+Control	Attributes	Y	0	2147483647					A 32-bit word that specifies the attribute flags to be applied to this control.
+Control	Binary_	Y					Identifier		External key to the Binary table.
+Control	Control	N					Identifier		Name of the control. This name must be unique within a dialog, but can repeat on different dialogs. 
+Control	Control_Next	Y			Control	2	Identifier		The name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!
+Control	Dialog_	N			Dialog	1	Identifier		External key to the Dialog table, name of the dialog.
+Control	Height	N	0	32767					Height of the bounding rectangle of the control.
+Control	Help	Y					Text		The help strings used with the button. The text is optional. 
+Control	ISBuildSourcePath	Y					Text		Full path to .rtf file for scrollable text control
+Control	ISControlId	Y							A number used to represent the control ID of the Control, Used in Dialog export
+Control	ISWindowStyle	Y	0	2147483647					A 32-bit word that specifies non-MSI window styles to be applied to this control.
+Control	Property	Y					Identifier		The name of a defined property to be linked to this control. 
+Control	Text	Y					Formatted		A string used to set the initial text contained within a control (if appropriate).
+Control	Type	N					Identifier		The type of the control.
+Control	Width	N	0	32767					Width of the bounding rectangle of the control.
+Control	X	N	0	32767					Horizontal coordinate of the upper left corner of the bounding rectangle of the control.
+Control	Y	N	0	32767					Vertical coordinate of the upper left corner of the bounding rectangle of the control.
+ControlCondition	Action	N						Default;Disable;Enable;Hide;Show	The desired action to be taken on the specified control.
+ControlCondition	Condition	N					Condition		A standard conditional statement that specifies under which conditions the action should be triggered.
+ControlCondition	Control_	N			Control	2	Identifier		A foreign key to the Control table, name of the control.
+ControlCondition	Dialog_	N			Dialog	1	Identifier		A foreign key to the Dialog table, name of the dialog.
+ControlEvent	Argument	N					Formatted		A value to be used as a modifier when triggering a particular event.
+ControlEvent	Condition	Y					Condition		A standard conditional statement that specifies under which conditions an event should be triggered.
+ControlEvent	Control_	N			Control	2	Identifier		A foreign key to the Control table, name of the control
+ControlEvent	Dialog_	N			Dialog	1	Identifier		A foreign key to the Dialog table, name of the dialog.
+ControlEvent	Event	N					Formatted		An identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.
+ControlEvent	Ordering	Y	0	2147483647					An integer used to order several events tied to the same control. Can be left blank.
+CreateFolder	Component_	N			Component	1	Identifier		Foreign key into the Component table.
+CreateFolder	Directory_	N			Directory	1	Identifier		Primary key, could be foreign key into the Directory table.
+CustomAction	Action	N					Identifier		Primary key, name of action, normally appears in sequence table unless private use.
+CustomAction	ISComments	Y					Text		Author�s comments for this custom action.
+CustomAction	Source	Y					CustomSource		The table reference of the source of the code.
+CustomAction	Target	Y			ISDLLWrapper;ISInstallScriptAction	1	Formatted		Excecution parameter, depends on the type of custom action
+CustomAction	Type	N	1	8191					The numeric custom action type, consisting of source location, code type, entry, option flags.
+Dialog	Attributes	Y	0	2147483647					A 32-bit word that specifies the attribute flags to be applied to this dialog.
+Dialog	Control_Cancel	Y			Control	2	Identifier		Defines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.
+Dialog	Control_Default	Y			Control	2	Identifier		Defines the default control. Hitting return is equivalent to pushing this button.
+Dialog	Control_First	N			Control	2	Identifier		Defines the control that has the focus when the dialog is created.
+Dialog	Dialog	N					Identifier		Name of the dialog.
+Dialog	HCentering	N	0	100					Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.
+Dialog	Height	N	0	32767					Height of the bounding rectangle of the dialog.
+Dialog	ISComments	Y					Text		Author�s comments for this dialog.
+Dialog	ISResourceId	Y							A Number the Specifies the Dialog ID to be used in Dialog Export
+Dialog	ISWindowStyle	Y							A 32-bit word that specifies non-MSI window styles to be applied to this control. This is only used in Script Based Setups.
+Dialog	TextStyle_	Y					Identifier		Foreign Key into TextStyle table, only used in Script Based Projects.
+Dialog	Title	Y					Formatted		A text string specifying the title to be displayed in the title bar of the dialog's window.
+Dialog	VCentering	N	0	100					Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.
+Dialog	Width	N	0	32767					Width of the bounding rectangle of the dialog.
+Directory	DefaultDir	N					Text		The default sub-path under parent's path.
+Directory	Directory	N					Identifier		Unique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.
+Directory	Directory_Parent	Y			Directory	1	Identifier		Reference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.
+Directory	ISAttributes	Y						0;1;2;3	This is used to store Installshield custom properties of a directory.  Currently the only one is Shortcut.
+Directory	ISDescription	Y					Text		Description of folder
+DrLocator	Depth	Y	0	32767					The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.
+DrLocator	Parent	Y					Identifier		The parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.
+DrLocator	Path	Y					AnyPath		The path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.
+DrLocator	Signature_	N			Signature	1	Identifier		The Signature_ represents a unique file signature and is also the foreign key in the Signature table.
+DuplicateFile	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the duplicate file.
+DuplicateFile	DestFolder	Y					Identifier		Name of a property whose value is assumed to resolve to the full pathname to a destination folder.
+DuplicateFile	DestName	Y					Text		Filename to be given to the duplicate file.
+DuplicateFile	File_	N			File	1	Identifier		Foreign key referencing the source file to be duplicated.
+DuplicateFile	FileKey	N					Identifier		Primary key used to identify a particular file entry
+Environment	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the installing of the environmental value.
+Environment	Environment	N					Identifier		Unique identifier for the environmental variable setting
+Environment	Name	N					Text		The name of the environmental value.
+Environment	Value	Y					Formatted		The value to set in the environmental settings.
+Error	Error	N	0	32767					Integer error number, obtained from header file IError(...) macros.
+Error	Message	Y					Template		Error formatting template, obtained from user ed. or localizers.
+EventMapping	Attribute	N					Identifier		The name of the control attribute, that is set when this event is received.
+EventMapping	Control_	N			Control	2	Identifier		A foreign key to the Control table, name of the control.
+EventMapping	Dialog_	N			Dialog	1	Identifier		A foreign key to the Dialog table, name of the Dialog.
+EventMapping	Event	N					Identifier		An identifier that specifies the type of the event that the control subscribes to.
+Extension	Component_	N			Component	1	Identifier		Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.
+Extension	Extension	N					Text		The extension associated with the table row.
+Extension	Feature_	N			Feature	1	Identifier		Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.
+Extension	MIME_	Y			MIME	1	Text		Optional Context identifier, typically "type/format" associated with the extension
+Extension	ProgId_	Y			ProgId	1	Text		Optional ProgId associated with this extension.
+Feature	Attributes	N						0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54	Feature attributes
+Feature	Description	Y					Text		Longer descriptive text describing a visible feature item.
+Feature	Directory_	Y			Directory	1	UpperCase		The name of the Directory that can be configured by the UI. A non-null value will enable the browse button.
+Feature	Display	Y	0	32767					Numeric sort order, used to force a specific display ordering.
+Feature	Feature	N					Identifier		Primary key used to identify a particular feature record.
+Feature	Feature_Parent	Y			Feature	1	Identifier		Optional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.
+Feature	ISComments	Y							Comments
+Feature	ISReleaseFlags	Y							Release Flags that specify whether this  feature will be built in a particular release.
+Feature	Level	N	0	32767					The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.
+Feature	Title	Y					Text		Short text identifying a visible feature item.
+FeatureComponents	Component_	N			Component	1	Identifier		Foreign key into Component table.
+FeatureComponents	Feature_	N			Feature	1	Identifier		Foreign key into Feature table.
+File	Attributes	Y	0	32767					Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)
+File	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the file.
+File	File	N					Identifier		Primary key, non-localized token, must match identifier in cabinet.  For uncompressed files, this field is ignored.
+File	FileName	N					Text		File name used for installation.  This may contain a "short name|long name" pair.  It may be just a long name, hence it cannot be of the Filename data type.
+File	FileSize	N	0	2147483647					Size of file in bytes (long integer).
+File	ISAttributes	Y	0	2147483647					This field contains the following attributes: UseSystemSettings(0x1)
+File	ISBuildSourcePath	Y					Text		Full path, the category is of Text instead of Path because of potential use of path variables.
+File	Language	Y					Language		List of decimal language Ids, comma-separated if more than one.
+File	Sequence	N	1	32767					Sequence with respect to the media images; order must track cabinet order.
+File	Version	Y			File	1	Version		Version string for versioned files;  Blank for unversioned files.
+FileSFPCatalog	File_	N			File	1	Identifier		File associated with the catalog
+FileSFPCatalog	SFPCatalog_	N			SFPCatalog	1	Text		Catalog associated with the file
+Font	File_	N			File	1	Identifier		Primary key, foreign key into File table referencing font file.
+Font	FontTitle	Y					Text		Font name.
+Icon	Data	Y					Binary		Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.
+Icon	ISBuildSourcePath	Y					Text		Full path to the ICO or EXE file.
+Icon	ISIconIndex	Y	-32767	32767					Optional icon index to be extracted.
+Icon	Name	N					Identifier		Primary key. Name of the icon file.
+IniFile	Action	N						0;1;3	The type of modification to be made, one of iifEnum
+IniFile	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the installing of the .INI value.
+IniFile	DirProperty	Y					Identifier		Foreign key into the Directory table denoting the directory where the .INI file is.
+IniFile	FileName	N					Text		The .INI file name in which to write the information
+IniFile	IniFile	N					Identifier		Primary key, non-localized token.
+IniFile	Key	N					Formatted		The .INI file key below Section.
+IniFile	Section	N					Formatted		The .INI file Section.
+IniFile	Value	N					Formatted		The value to be written.
+IniLocator	Field	Y	0	32767					The field in the .INI line. If Field is null or 0 the entire line is read.
+IniLocator	FileName	N					Text		The .INI file name.
+IniLocator	Key	N					Text		Key value (followed by an equals sign in INI file).
+IniLocator	Section	N					Text		Section name within in file (within square brackets in INI file).
+IniLocator	Signature_	N			Signature	1	Identifier		The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.
+IniLocator	Type	Y	0	2					An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.
+InstallExecuteSequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
+InstallExecuteSequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
+InstallExecuteSequence	ISAttributes	Y							This is used to store MM Custom Action Types
+InstallExecuteSequence	ISComments	Y					Text		Author�s comments on this Sequence.
+InstallExecuteSequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
+InstallShield	Property	N					Identifier		Name of property, uppercase if settable by launcher or loader.
+InstallShield	Value	Y					Text		String value for property.
+InstallUISequence	Action	N					Identifier		Name of action to invoke, either in the engine or the handler DLL.
+InstallUISequence	Condition	Y					Text		Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.
+InstallUISequence	ISAttributes	Y							This is used to store MM Custom Action Types
+InstallUISequence	ISComments	Y					Text		Author�s comments on this Sequence.
+InstallUISequence	Sequence	Y	-4	32767					Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.
+ISComponentExtended	Component_	N			Component	1	Identifier		Primary key used to identify a particular component record.
+ISComponentExtended	FilterProperty	N					Identifier		Property to set if you want to filter a component
+ISComponentExtended	Language	Y					Text		Language
+ISComponentExtended	OS	Y							bitwise addition of OSs
+ISDependency	Exclude	Y							
+ISDependency	ISDependency	Y							
+ISDisk1File	ISBuildSourcePath	N					Text		Full path of file to be copied to Disk1 folder
+ISDisk1File	ISDisk1File	N					Identifier		Primary key for ISDisk1File table
+ISDLLWrapper	EntryPoint	N					Text		This is a foreign key to the target column in the CustomAction table
+ISDLLWrapper	Source	N					Formatted		This is column points to the source file for the DLLWrapper Custom Action
+ISDLLWrapper	Target	N					Text		The function signature
+ISDLLWrapper	Type	Y							Type
+ISDynamicFile	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the file.
+ISDynamicFile	ExcludeFiles	Y					Text		Wildcards for excluded files.
+ISDynamicFile	IncludeFiles	Y					Text		Wildcards for included files.
+ISDynamicFile	IncludeFlags	Y							Include flags.
+ISDynamicFile	ISAttributes	Y						0;1;2;3	This is used to store Installshield custom properties of a dynamic filet.  Currently the only one is SelfRegister.
+ISDynamicFile	SourceFolder	N					Text		Full path, the category is of Text instead of Path because of potential use of path variables.
+ISFeatureMergeModules	Feature_	N			Feature	1	Identifier		Foreign key into Feature table.
+ISFeatureMergeModules	ISMergeModule_	N			ISMergeModule	1	Text		Foreign key into ISMergeModule table.
+ISFeatureMergeModules	Language_	N			ISMergeModule	2			Foreign key into ISMergeModule table.
+ISInstallScriptAction	EntryPoint	N					Text		This is a foreign key to the target column in the CustomAction table
+ISInstallScriptAction	Source	N					Formatted		This is column points to the source file for the DLLWrapper Custom Action
+ISInstallScriptAction	Target	Y					Text		The function signature
+ISInstallScriptAction	Type	Y							Type
+ISLanguage	Included	Y						0;1	Specify whether this language should be included.
+ISLanguage	ISLanguage	N					Language		This is the language ID.
+ISLinkerLibrary	ISLinkerLibrary	N					Identifier		Unique identifier for the link library.
+ISLinkerLibrary	Library	N					Text		Full path of the object library (.obl file).
+ISLinkerLibrary	Order	N							Order of the Library
+ISLocalControl	Attributes	Y							A 32-bit word that specifies the attribute flags to be applied to this control.
+ISLocalControl	Binary_	Y					Identifier		External key to the Binary table.
+ISLocalControl	Control_	N			Control	2	Identifier		Name of the control. This name must be unique within a dialog, but can repeat on different dialogs.
+ISLocalControl	Dialog_	N			Dialog	1	Identifier		External key to the Dialog table, name of the dialog.
+ISLocalControl	Height	Y							Height of the bounding rectangle of the control.
+ISLocalControl	ISBuildSourcePath	Y					Text		Full path to .rtf file for scrollable text control
+ISLocalControl	ISLanguage_	N			ISLanguage	1	Language		This is a foreign key to the ISLanguage table.
+ISLocalControl	Width	Y							Width of the bounding rectangle of the control.
+ISLocalControl	X	Y							Horizontal coordinate of the upper left corner of the bounding rectangle of the control.
+ISLocalControl	Y	Y							Vertical coordinate of the upper left corner of the bounding rectangle of the control.
+ISLocalDialog	Attributes	Y							A 32-bit word that specifies the attribute flags to be applied to this dialog.
+ISLocalDialog	Dialog_	Y			Dialog	1	Identifier		Name of the dialog.
+ISLocalDialog	Height	N	0	32767					Height of the bounding rectangle of the dialog.
+ISLocalDialog	ISLanguage_	Y			ISLanguage	1	Language		This is a foreign key to the ISLanguage table.
+ISLocalDialog	TextStyle_	Y					Identifier		Foreign Key into TextStyle table, only used in Script Based Projects.
+ISLocalDialog	Width	N	0	32767					Width of the bounding rectangle of the dialog.
+ISLogicalDisk	Cabinet	Y					Cabinet		If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.
+ISLogicalDisk	DiskId	N	1	32767					Primary key, integer to determine sort order for table.
+ISLogicalDisk	DiskPrompt	Y					Text		Disk name: the visible text actually printed on the disk.  This will be used to prompt the user when this disk needs to be inserted.
+ISLogicalDisk	ISProductConfiguration_	N			ISProductConfiguration	1	Text		Foreign key into the ISProductConfiguration table.
+ISLogicalDisk	ISRelease_	N			ISRelease	1	Text		Foreign key into the ISRelease table.
+ISLogicalDisk	LastSequence	N	0	32767					File sequence number for the last file for this media.
+ISLogicalDisk	Source	Y					Property		The property defining the location of the cabinet file.
+ISLogicalDisk	VolumeLabel	Y					Text		The label attributed to the volume.
+ISLogicalDiskFeatures	Feature_	Y			Feature	1	Identifier		Required foreign key into the Feature Table,
+ISLogicalDiskFeatures	ISAttributes	Y							This is used to store Installshield custom properties, like Compressed, etc.
+ISLogicalDiskFeatures	ISLogicalDisk_	N	1	32767	ISLogicalDisk	1	Identifier		Foreign key into the ISLogicalDisk table.
+ISLogicalDiskFeatures	ISProductConfiguration_	N			ISProductConfiguration	1	Text		Foreign key into the ISProductConfiguration table.
+ISLogicalDiskFeatures	ISRelease_	N			ISRelease	1	Text		Foreign key into the ISRelease table.
+ISLogicalDiskFeatures	Sequence	N	0	32767					File sequence number for the file for this media.
+ISMergeModule	Destination	Y					Text		Destination.
+ISMergeModule	ISMergeModule	N					Text		The GUID identifying the merge module.
+ISMergeModule	Language	N							Default decimal language of module.
+ISMergeModule	Name	N					Text		Name of the merge module.
+ISObject	Language	N					Text		
+ISObject	ObjectName	N					Text		
+ISObjectProperty	IncludeInBuild	Y							Boolean, 0 for false non 0 for true
+ISObjectProperty	ObjectName	Y			ISObject	1	Text		
+ISObjectProperty	Property	Y					Text		
+ISObjectProperty	Value	Y					Text		
+IsolatedComponent	Component_Application	N			Component	1	Identifier		Key to Component table item for application
+IsolatedComponent	Component_Shared	N			Component	1	Identifier		Key to Component table item to be isolated
+ISPathVariable	ISPathVariable	N							The name of the path variable.
+ISPathVariable	TestValue	Y					Text		The test value of the path variable.
+ISPathVariable	Type	N						1;2;4;8	The type of the path variable.
+ISPathVariable	Value	Y					Text		The value of the path variable.
+ISProductConfiguration	GeneratePackageCode	Y					Number	0;1	Indicates whether or not to generate a package code.
+ISProductConfiguration	ISProductConfiguration	N					Text		The name of the product configuration.
+ISProductConfiguration	ProductConfigurationFlags	Y					Text		Product configuration (release) flags.
+ISProductConfigurationProperty	ISProductConfiguration_	N			ISProductConfiguration	1	Text		Foreign key into the ISProductConfiguration table.
+ISProductConfigurationProperty	Property	N			Property	1	Text		Product Congiuration property name
+ISProductConfigurationProperty	Value	Y					Text		String value for property. Never null or empty.
+ISRelease	Attributes	N							Bitfield holding boolean values for various release attributes.
+ISRelease	BuildLocation	N					Text		Build location.
+ISRelease	CDBrowser	Y					Text		Demoshield browser location.
+ISRelease	DefaultLanguage	N					Language		Default language for setup.
+ISRelease	DigitalPVK	Y					Text		Digital signing private key (.pvk) file.
+ISRelease	DigitalSPC	Y					Text		Digital signing Software Publisher Certificate (.spc) file.
+ISRelease	DigitalURL	Y					Text		Digital signing URL.
+ISRelease	DiskClusterSize	N							Disk cluster size.
+ISRelease	DiskSize	N					Text		Disk size.
+ISRelease	DiskSizeUnit	N						0;1	Disk size units (KB or MB).
+ISRelease	DiskSpanning	N						0;1;2	Disk spanning (automatic, enforce size, etc.).
+ISRelease	DotNetBuildConfiguration	Y					Text		Build Configuration for .NET solutions.
+ISRelease	ISProductConfiguration_	N			ISProductConfiguration	1	Text		Foreign key into the ISProductConfiguration table.
+ISRelease	ISRelease	N					Text		The name of the release.
+ISRelease	MediaLocation	N					Text		Media location on disk.
+ISRelease	MsiCommandLine	Y					Text		Command line passed to the msi package from setup.exe
+ISRelease	MsiSourceType	N	-1	4					MSI media source type.
+ISRelease	PackageName	N					Text		Package name.
+ISRelease	Password	Y					Text		Password.
+ISRelease	Platforms	N					Text		Platforms supported (Intel, Alpha, etc.).
+ISRelease	ReleaseFlags	Y					Text		Release flags.
+ISRelease	ReleaseType	N						1;2;4	Release type (single, uncompressed, etc.).
+ISRelease	SupportedLanguagesData	Y					Text		Languages supported (for component filtering).
+ISRelease	SupportedLanguagesUI	N					Text		UI languages supported.
+ISRelease	SupportedOSs	N							Indicate which operating systmes are supported.
+ISRelease	SynchMsi	Y					Text		MSI file to synchronize file keys and other data with (patch-like functionality).
+ISRelease	Type	N	0	4					Release type (CDROM, Network, etc.).
+ISRelease	URLLocation	Y					Text		Media location via URL.
+ISRelease	VersionCopyright	Y					Text		Version stamp information.
+ISReleaseExtended	DigitalCertificateDBaseNS	Y					Text		Path to cerificate database for Netscape digital  signature
+ISReleaseExtended	DigitalCertificateIdNS	Y					Text		Path to cerificate ID for Netscape digital  signature
+ISReleaseExtended	DigitalCertificatePasswordNS	Y					Text		Password for Netscape digital  signature
+ISReleaseExtended	DotNetRedistLocation	Y	0	3					Location of .NET framework Redist (Web, SetupExe, Source, None)
+ISReleaseExtended	DotNetRedistURL	Y					Text		URL to .NET framework Redist
+ISReleaseExtended	EngineLocation	Y	0	2					Location of msi engine (Web, SetupExe...)
+ISReleaseExtended	ISEngineLocation	Y	0	2					Location of ISScript  engine (Web, SetupExe...)
+ISReleaseExtended	ISEngineURL	Y					Text		URL to InstallShield scripting engine
+ISReleaseExtended	ISProductConfiguration_	N					Text		Foreign key into the ISProductConfiguration table.
+ISReleaseExtended	ISRelease_	N					Text		The name of the release.
+ISReleaseExtended	OneClickCabName	Y					Text		File name of generated cabfile
+ISReleaseExtended	OneClickHtmlName	Y					Text		File name of generated html page
+ISReleaseExtended	OneClickTargetBrowser	Y	0	2					Target browser (IE, Netscape, both...)
+ISReleaseExtended	WebCabSize	Y	0	2147483647					Size of the cabfile
+ISReleaseExtended	WebLocalCachePath	Y					Text		Directory to cache downloaded package
+ISReleaseExtended	WebType	Y	0	2					Type of web install (One Executable, Downloader...)
+ISReleaseExtended	WebURL	Y					Text		URL to .msi package
+ISReleaseExtended	Win9xMsiUrl	Y					Text		URL to Ansi MSI engine
+ISReleaseExtended	WinNTMsiUrl	Y					Text		URL to Unicode MSI engine
+ISScriptFile	ISScriptFile	N					Text		This is the full path of the script file. The path portion may be expressed in path variable form.
+ISSelfReg	CmdLine	Y							
+ISSelfReg	Cost	Y							
+ISSelfReg	FileKey	N			File	1	Identifier		Foreign key to the file table
+ISSelfReg	Order	Y							
+ISSetupFile	FileName	Y					Text		This is the file name to use when streaming the file to the support files location
+ISSetupFile	ISSetupFile	N					Identifier		This is the primary key to the ISSetupFile table
+ISSetupFile	Language	Y					Text		Four digit language identifier.  0 for Language Neutral
+ISSetupFile	Path	Y					Text		Link to the source file on the build machine
+ISSetupFile	Splash	Y					Short		Boolean value indication whether his setup file entry belongs in the Splasc Screen section
+ISSetupFile	Stream	Y					Binary		Binary stream. The bits to stream to the support location
+ISStorages	ISBuildSourcePath	Y							Path to the file to stream into sub-storage
+ISStorages	Name	N							Name of the sub-storage key
+ISString	Comment	Y					Text		Comment
+ISString	Encoded	Y							Encoding for multi-byte strings.
+ISString	ISLanguage_	N					Language		This is a foreign key to the ISLanguage table.
+ISString	ISString	N					Text		String id.
+ISString	TimeStamp	Y					Time/Date		Time Stamp. MSI's Time/Date column type is just an int, with bits packed in a certain order.
+ISString	Value	Y					Text		real string value.
+ISVRoot	Condition	Y							
+ISVRoot	VRootAppName	Y					Text		Localizable Application Name
+ISVRoot	VRootDefDoc	Y					Text		Localizable Defeault Doc
+ISVRoot	VRootDir	N							
+ISVRoot	VRootKey	N							
+ISVRoot	VRootName	N					Text		Localizable Virtual Root Name
+ISVRoot	VRootProps	N							
+ISVRootAppMaps	AppMapProps	N							
+ISVRootAppMaps	ExecPath	N					Text		Localizable Exec Path
+ISVRootAppMaps	Extension	N					Text		Localizable Extension
+ISVRootAppMaps	Verb	N					Text		Localizable Verb
+ISVRootAppMaps	VRootAppMapKey	N							
+ISVRootAppMaps	VRootKey	N							
+LaunchCondition	Condition	N					Condition		Expression which must evaluate to TRUE in order for install to commence.
+LaunchCondition	Description	N					Text		Localizable text to display when condition fails and install must abort.
+ListBox	Order	N	1	32767					A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.
+ListBox	Property	N					Identifier		A named property to be tied to this item. All the items tied to the same property become part of the same listbox.
+ListBox	Text	Y					Text		The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.
+ListBox	Value	N					Formatted		The value string associated with this item. Selecting the line will set the associated property to this value.
+ListView	Binary_	Y			Binary	1	Identifier		The name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.
+ListView	Order	N	1	32767					A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.
+ListView	Property	N					Identifier		A named property to be tied to this item. All the items tied to the same property become part of the same listview.
+ListView	Text	Y					Text		The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.
+ListView	Value	N					Text		The value string associated with this item. Selecting the line will set the associated property to this value.
+LockPermissions	Domain	Y					Text		Domain name for user whose permissions are being set. (usually a property)
+LockPermissions	LockObject	N					Identifier		Foreign key into Registry or File table
+LockPermissions	Permission	Y	-2147483647	2147483647					Permission Access mask.  Full Control = 268435456 (GENERIC_ALL = 0x10000000)
+LockPermissions	Table	N					Identifier	Directory;File;Registry	Reference to another table name
+LockPermissions	User	N					Text		User for permissions to be set.  (usually a property)
+Media	Cabinet	Y					Cabinet		If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.
+Media	DiskId	N	1	32767					Primary key, integer to determine sort order for table.
+Media	DiskPrompt	Y					Text		Disk name: the visible text actually printed on the disk.  This will be used to prompt the user when this disk needs to be inserted.
+Media	LastSequence	N	0	32767					File sequence number for the last file for this media.
+Media	Source	Y					Property		The property defining the location of the cabinet file.
+Media	VolumeLabel	Y					Text		The label attributed to the volume.
+MIME	CLSID	Y			Class	1	Guid		Optional associated CLSID.
+MIME	ContentType	N					Text		Primary key. Context identifier, typically "type/format".
+MIME	Extension_	N			Extension	1	Text		Optional associated extension (without dot)
+MoveFile	Component_	N			Component	1	Identifier		If this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entry
+MoveFile	DestFolder	N					Identifier		Name of a property whose value is assumed to resolve to the full path to the destination directory
+MoveFile	DestName	Y					Text		Name to be given to the original file after it is moved or copied.  If blank, the destination file will be given the same name as the source file
+MoveFile	FileKey	N					Identifier		Primary key that uniquely identifies a particular MoveFile record
+MoveFile	Options	N	0	1					Integer value specifying the MoveFile operating mode, one of imfoEnum
+MoveFile	SourceFolder	Y					Identifier		Name of a property whose value is assumed to resolve to the full path to the source directory
+MoveFile	SourceName	Y					Text		Name of the source file(s) to be moved or copied.  Can contain the '*' or '?' wildcards.
+MsiAssembly	Attributes	Y							Assembly attributes
+MsiAssembly	Component_	N			Component	1	Identifier		Foreign key into Component table.
+MsiAssembly	Feature_	N			Feature	1	Identifier		Foreign key into Feature table.
+MsiAssembly	File_Application	Y			File	1	Identifier		Foreign key into File table, denoting the application context for private assemblies. Null for global assemblies.
+MsiAssembly	File_Manifest	Y			File	1	Identifier		Foreign key into the File table denoting the manifest file for the assembly.
+MsiAssemblyName	Component_	N			Component	1	Identifier		Foreign key into Component table.
+MsiAssemblyName	Name	N					Text		The name part of the name-value pairs for the assembly name.
+MsiAssemblyName	Value	N					Text		The value part of the name-value pairs for the assembly name.
+MsiDigitalCertificate	CertData	N					Binary		A certificate context blob for a signer certificate
+MsiDigitalCertificate	DigitalCertificate	N					Identifier		A unique identifier for the row
+MsiDigitalSignature	DigitalCertificate_	N			MsiDigitalCertificate	1	Identifier		Foreign key to MsiDigitalCertificate table identifying the signer certificate
+MsiDigitalSignature	Hash	Y					Binary		The encoded hash blob from the digital signature
+MsiDigitalSignature	SignObject	N					Text		Foreign key to Media table
+MsiDigitalSignature	Table	N					Identifier		Reference to another table name (only Media table is supported)
+MsiFileHash	File_	N			File	1	Identifier		Primary key, foreign key into File table referencing file with this hash
+MsiFileHash	HashPart1	N							Size of file in bytes (long integer).
+MsiFileHash	HashPart2	N							Size of file in bytes (long integer).
+MsiFileHash	HashPart3	N							Size of file in bytes (long integer).
+MsiFileHash	HashPart4	N							Size of file in bytes (long integer).
+MsiFileHash	Options	N	0	32767					Various options and attributes for this hash.
+ODBCAttribute	Attribute	N					Text		Name of ODBC driver attribute
+ODBCAttribute	Driver_	N			ODBCDriver	1	Identifier		Reference to ODBC driver in ODBCDriver table
+ODBCAttribute	Value	Y					Text		Value for ODBC driver attribute
+ODBCDataSource	Component_	N			Component	1	Identifier		Reference to associated component
+ODBCDataSource	DataSource	N					Identifier		Primary key, non-localized.internal token for data source
+ODBCDataSource	Description	N					Text		Text used as registered name for data source
+ODBCDataSource	DriverDescription	N					Text		Reference to driver description, may be existing driver
+ODBCDataSource	Registration	N	0	1					Registration option: 0=machine, 1=user, others t.b.d.
+ODBCDriver	Component_	N			Component	1	Identifier		Reference to associated component
+ODBCDriver	Description	N					Text		Text used as registered name for driver, non-localized
+ODBCDriver	Driver	N					Identifier		Primary key, non-localized.internal token for driver
+ODBCDriver	File_	N			File	1	Identifier		Reference to key driver file
+ODBCDriver	File_Setup	Y			File	1	Identifier		Optional reference to key driver setup DLL
+ODBCSourceAttribute	Attribute	N					Text		Name of ODBC data source attribute
+ODBCSourceAttribute	DataSource_	N			ODBCDataSource	1	Identifier		Reference to ODBC data source in ODBCDataSource table
+ODBCSourceAttribute	Value	Y					Text		Value for ODBC data source attribute
+ODBCTranslator	Component_	N			Component	1	Identifier		Reference to associated component
+ODBCTranslator	Description	N					Text		Text used as registered name for translator
+ODBCTranslator	File_	N			File	1	Identifier		Reference to key translator file
+ODBCTranslator	File_Setup	Y			File	1	Identifier		Optional reference to key translator setup DLL
+ODBCTranslator	Translator	N					Identifier		Primary key, non-localized.internal token for translator
+Patch	Attributes	N	0	32767					Integer containing bit flags representing patch attributes
+Patch	File_	N			File	1	Identifier		Primary key, non-localized token, foreign key to File table, must match identifier in cabinet.
+Patch	Header	Y					Binary		Binary stream. The patch header, used for patch validation.
+Patch	ISBuildSourcePath	Y					Text		Full path to patch header.
+Patch	PatchSize	N	0	2147483647					Size of patch in bytes (long integer).
+Patch	Sequence	N	0	32767					Primary key, sequence with respect to the media images; order must track cabinet order.
+PatchPackage	Media_	N	0	32767					Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.
+PatchPackage	PatchId	N					Guid		A unique string GUID representing this patch.
+ProgId	Class_	Y			Class	1	Guid		The CLSID of an OLE factory corresponding to the ProgId.
+ProgId	Description	Y					Text		Localized description for the Program identifier.
+ProgId	Icon_	Y			Icon	1	Identifier		Optional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.
+ProgId	IconIndex	Y	-32767	32767					Optional icon index.
+ProgId	ISAttributes	Y							This is used to store Installshield custom properties of a component, like ExtractIcon, etc.
+ProgId	ProgId	N					Text		The Program Identifier. Primary key.
+ProgId	ProgId_Parent	Y			ProgId	1	Text		The Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.
+Property	ISComments	Y					Text		User Comments.
+Property	Property	N					Identifier		Name of property, uppercase if settable by launcher or loader.
+Property	Value	Y					Text		String value for property.
+PublishComponent	AppData	Y					Text		This is localisable Application specific data that can be associated with a Qualified Component.
+PublishComponent	Component_	N			Component	1	Identifier		Foreign key into the Component table.
+PublishComponent	ComponentId	N					Guid		A string GUID that represents the component id that will be requested by the alien product.
+PublishComponent	Feature_	N			Feature	1	Identifier		Foreign key into the Feature table.
+PublishComponent	Qualifier	N					Text		This is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.
+RadioButton	Height	N	0	32767					The height of the button.
+RadioButton	Help	Y					Text		The help strings used with the button. The text is optional.
+RadioButton	Order	N	1	32767					A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.
+RadioButton	Property	N					Identifier		A named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.
+RadioButton	Text	Y					Text		The visible title to be assigned to the radio button.
+RadioButton	Value	N					Formatted		The value string associated with this button. Selecting the button will set the associated property to this value.
+RadioButton	Width	N	0	32767					The width of the button.
+RadioButton	X	N	0	32767					The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.
+RadioButton	Y	N	0	32767					The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.
+Registry	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the installing of the registry value.
+Registry	ISAttributes	Y						0;1	This is used to store Installshield custom properties of a registry item.  Currently the only one is Automatic.
+Registry	Key	N					RegPath		The key for the registry value.
+Registry	Name	Y					Formatted		The registry value name.
+Registry	Registry	N					Identifier		Primary key, non-localized token.
+Registry	Root	N	-1	3					The predefined root key for the registry value, one of rrkEnum.
+Registry	Value	Y					Formatted		The registry value.
+RegLocator	Key	N					RegPath		The key for the registry value.
+RegLocator	Name	Y					Formatted		The registry value name.
+RegLocator	Root	N	0	3					The predefined root key for the registry value, one of rrkEnum.
+RegLocator	Signature_	N			Signature	1	Identifier		The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.
+RegLocator	Type	Y							An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.
+RemoveFile	Component_	N			Component	1	Identifier		Foreign key referencing Component that controls the file to be removed.
+RemoveFile	DirProperty	N					Identifier		Name of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.
+RemoveFile	FileKey	N					Identifier		Primary key used to identify a particular file entry
+RemoveFile	FileName	Y					Text		Name of the file to be removed.
+RemoveFile	InstallMode	N						1;2;3	Installation option, one of iimEnum.
+RemoveIniFile	Action	N						2;4	The type of modification to be made, one of iifEnum.
+RemoveIniFile	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the deletion of the .INI value.
+RemoveIniFile	DirProperty	Y					Identifier		Foreign key into the Directory table denoting the directory where the .INI file is.
+RemoveIniFile	FileName	N					Text		The .INI file name in which to delete the information
+RemoveIniFile	Key	N					Formatted		The .INI file key below Section.
+RemoveIniFile	RemoveIniFile	N					Identifier		Primary key, non-localized token.
+RemoveIniFile	Section	N					Formatted		The .INI file Section.
+RemoveIniFile	Value	Y					Formatted		The value to be deleted. The value is required when Action is iifIniRemoveTag
+RemoveRegistry	Component_	N			Component	1	Identifier		Foreign key into the Component table referencing component that controls the deletion of the registry value.
+RemoveRegistry	Key	N					RegPath		The key for the registry value.
+RemoveRegistry	Name	Y					Formatted		The registry value name.
+RemoveRegistry	RemoveRegistry	N					Identifier		Primary key, non-localized token.
+RemoveRegistry	Root	N	-1	3					The predefined root key for the registry value, one of rrkEnum
+ReserveCost	Component_	N			Component	1	Identifier		Reserve a specified amount of space if this component is to be installed.
+ReserveCost	ReserveFolder	Y					Identifier		Name of a property whose value is assumed to resolve to the full path to the destination directory
+ReserveCost	ReserveKey	N					Identifier		Primary key that uniquely identifies a particular ReserveCost record
+ReserveCost	ReserveLocal	N	0	2147483647					Disk space to reserve if linked component is installed locally.
+ReserveCost	ReserveSource	N	0	2147483647					Disk space to reserve if linked component is installed to run from the source location.
+SelfReg	Cost	Y	0	32767					The cost of registering the module.
+SelfReg	File_	N			File	1	Identifier		Foreign key into the File table denoting the module that needs to be registered.
+ServiceControl	Arguments	Y					Formatted		Arguments for the service.  Separate by [~].
+ServiceControl	Component_	N			Component	1	Identifier		Required foreign key into the Component Table that controls the startup of the service
+ServiceControl	Event	N	0	187					Bit field:  Install:  0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = Delete
+ServiceControl	Name	N					Formatted		Name of a service. /, \, comma and space are invalid
+ServiceControl	ServiceControl	N					Identifier		Primary key, non-localized token.
+ServiceControl	Wait	Y	0	1					Boolean for whether to wait for the service to fully start
+ServiceInstall	Arguments	Y					Formatted		Arguments to include in every start of the service, passed to WinMain
+ServiceInstall	Component_	N			Component	1	Identifier		Required foreign key into the Component Table that controls the startup of the service
+ServiceInstall	Dependencies	Y					Formatted		Other services this depends on to start.  Separate by [~], and end with [~][~]
+ServiceInstall	Description	Y					Text		Description of service.
+ServiceInstall	DisplayName	Y					Formatted		External Name of the Service
+ServiceInstall	ErrorControl	N	-2147483647	2147483647					Severity of error if service fails to start
+ServiceInstall	LoadOrderGroup	Y					Formatted		LoadOrderGroup
+ServiceInstall	Name	N					Formatted		Internal Name of the Service
+ServiceInstall	Password	Y					Formatted		password to run service with.  (with StartName)
+ServiceInstall	ServiceInstall	N					Identifier		Primary key, non-localized token.
+ServiceInstall	ServiceType	N	-2147483647	2147483647					Type of the service
+ServiceInstall	StartName	Y					Formatted		User or object name to run service as
+ServiceInstall	StartType	N	0	4					Type of the service
+SFPCatalog	Catalog	Y					Binary		SFP Catalog
+SFPCatalog	Dependency	Y					Formatted		Parent catalog - only used by SFP
+SFPCatalog	SFPCatalog	N					Filename		File name for the catalog.
+Shortcut	Arguments	Y					Formatted		The command-line arguments for the shortcut.
+Shortcut	Component_	N			Component	1	Identifier		Foreign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.
+Shortcut	Description	Y					Text		The description for the shortcut.
+Shortcut	Directory_	N			Directory	1	Identifier		Foreign key into the Directory table denoting the directory where the shortcut file is created.
+Shortcut	Hotkey	Y	0	32767					The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte. 
+Shortcut	Icon_	Y			Icon	1	Identifier		Foreign key into the File table denoting the external icon file for the shortcut.
+Shortcut	IconIndex	Y	-32767	32767					The icon index for the shortcut.
+Shortcut	ISComments	Y					Text		Author�s comments on this Shortcut.
+Shortcut	Name	N					Text		The name of the shortcut to be created.
+Shortcut	Shortcut	N					Identifier		Primary key, non-localized token.
+Shortcut	ShowCmd	Y						1;3;7	The show command for the application window.The following values may be used.
+Shortcut	Target	N					Shortcut		The shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.
+Shortcut	WkDir	Y					Identifier		Name of property defining location of working directory.
+Signature	FileName	N					Text		The name of the file. This may contain a "short name|long name" pair.
+Signature	Languages	Y					Language		The languages supported by the file.
+Signature	MaxDate	Y	0	2147483647					The maximum creation date of the file.
+Signature	MaxSize	Y	0	2147483647					The maximum size of the file. 
+Signature	MaxVersion	Y					Text		The maximum version of the file.
+Signature	MinDate	Y	0	2147483647					The minimum creation date of the file.
+Signature	MinSize	Y	0	2147483647					The minimum size of the file.
+Signature	MinVersion	Y					Text		The minimum version of the file.
+Signature	Signature	N					Identifier		The table key. The Signature represents a unique file signature.
+TextStyle	Color	Y	0	16777215					A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).
+TextStyle	FaceName	N					Text		A string indicating the name of the font used. Required. The string must be at most 31 characters long.
+TextStyle	Size	N	0	32767					The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.
+TextStyle	StyleBits	Y	0	15					A combination of style bits.
+TextStyle	TextStyle	N					Identifier		Name of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.
+TypeLib	Component_	N			Component	1	Identifier		Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.
+TypeLib	Cost	Y	0	2147483647					The cost associated with the registration of the typelib. This column is currently optional.
+TypeLib	Description	Y					Text		
+TypeLib	Directory_	Y			Directory	1	Identifier		Optional. The foreign key into the Directory table denoting the path to the help file for the type library.
+TypeLib	Feature_	N			Feature	1	Identifier		Required foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.
+TypeLib	Language	N	0	32767					The language of the library.
+TypeLib	LibID	N					Guid		The GUID that represents the library.
+TypeLib	Version	Y	0	2147483647					The version of the library. The major version is in the upper 8 bits of the short integer. The minor version is in the lower 8 bits.
+UIText	Key	N					Identifier		A unique key that identifies the particular string.
+UIText	Text	Y					Text		The localized version of the string.
+Upgrade	ActionProperty	N					UpperCase		The property to set when a product in this set is found.
+Upgrade	Attributes	N	0	2147483647					The attributes of this product set.
+Upgrade	ISDisplayName	Y							
+Upgrade	Language	Y					Language		A comma-separated list of languages for either products in this set or products not in this set.
+Upgrade	Remove	Y					Formatted		The list of features to remove when uninstalling a product from this set.  The default is "ALL".
+Upgrade	UpgradeCode	N					Guid		The UpgradeCode GUID belonging to the products in this set.
+Upgrade	VersionMax	Y					Text		The maximum ProductVersion of the products in this set.  The set may or may not include products with this particular version.
+Upgrade	VersionMin	Y					Text		The minimum ProductVersion of the products in this set.  The set may or may not include products with this particular version.
+Verb	Argument	Y					Formatted		Optional value for the command arguments.
+Verb	Command	Y					Formatted		The command text.
+Verb	Extension_	N			Extension	1	Text		The extension associated with the table row.
+Verb	Sequence	Y	0	32767					Order within the verbs for a particular extension. Also used simply to specify the default verb.
+Verb	Verb	N					Text		The verb for the command.

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.cpp
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.cpp	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.cpp	Fri Jul 16 09:27:17 2004
@@ -1,644 +1,644 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// mod_aspdotnet.so - Microsoft ASP.NET connector module for Apache 2.0
-
-
-// We don't care about unused arguments
-#pragma warning(disable: 4100)
-
-// We require much Winfoo to intermix Com/Ole/CLR code...
-// don't wait for APR to include a stripped down Win32 API
-//
-#define WIN32_LEAN_AND_MEAN
-#define _WIN32_WINNT 0x0400
-#include <Windows.h>
-#include <winsock2.h>
-#include <objbase.h>
-
-#include "apr.h"
-#include "apr_lib.h"
-#include "apr_strings.h"
-#include "apr_buckets.h"
-#include "apr_pools.h"
-
-#include "httpd.h"
-#include "http_core.h"
-#include "http_config.h"
-#include "http_log.h"
-#include "http_main.h"
-#include "http_request.h"
-#include "util_filter.h"
-#include "util_script.h"
-
-// We aren't looking for much beyond the version, 
-// so lie that this header was previously loaded
-#define APACHE_WEB_H
-#include "Apache.Web.h"
-
-#include <mscoree.h>
-#import <mscorlib.tlb> raw_interfaces_only \
-    high_property_prefixes("_get","_put","_putref") \
-    rename("ReportEvent", "CorReportEvent")
-using namespace mscorlib;
-
-#import "Apache.Web.tlb"
-using namespace Apache_Web;
-
-extern "C" {
-    extern module AP_MODULE_DECLARE_DATA aspdotnet_module;
-}
-
-// Initialized or recovered (from userdata) in pre_config
-typedef struct asp_net_host_conf_t 
-{
-    // Allocation issue; virtual and physical are hashed
-    // as a combined string of /vpath\0/ppath\0 with the
-    // combined_len including both NULLs.  This permits us
-    // to quickly find given virtual/physical mappings for
-    // given vhosts (they are bound to a specific virutal
-    // and physical path pair.)
-    apr_size_t  combined_len;
-    const char *virtual_path;
-    const char *physical_path;
-    int         host_key;
-//    IApacheWebHost *pHost;
-} asp_net_host_conf_t;
-
-struct asp_net_conf_t {
-    apr_pool_t *pool;
-    apr_hash_t *hosts;  // Hash of asp_net_host_conf_t records
-    ICorRuntimeHost *pCorRuntime;
-    IApacheWebHostFactory *pHostFactory;
-    HANDLE lock_module;
-} *conf;
-
-// Initialized for each restart
-typedef struct asp_net_alias_t {
-    // These are hashed per-vhost only by the virtual_path.
-    apr_size_t  virtual_path_len;
-    const char *virtual_path;
-    asp_net_host_conf_t *host;
-} asp_net_alias_t;
-
-typedef struct asp_net_sconf_t {
-    apr_hash_t *aliases;  // Hash of asp_net_alias_t records
-} asp_net_sconf_t;
-
-
-static void *create_asp_net_sconf(apr_pool_t *p, server_rec *s)
-{
-    asp_net_sconf_t *sconf;
-    sconf = (asp_net_sconf_t*)apr_palloc(p, sizeof(asp_net_sconf_t));
-    sconf->aliases = apr_hash_make(p);
-    return sconf;
-}
-
-static void *merge_asp_net_sconfs(apr_pool_t *p, void *basev, void *addv)
-{
-    asp_net_sconf_t *base = (asp_net_sconf_t*)basev;
-    asp_net_sconf_t *add = (asp_net_sconf_t*)addv;
-    apr_hash_overlay(p, add->aliases, base->aliases);
-    return add;
-}
-
-
-static const char *asp_net_mount(cmd_parms *cmd, void *dummy, 
-                                 const char *uri, const char *rootarg)
-{
-    char *root;
-    asp_net_sconf_t *sconf 
-        = (asp_net_sconf_t*)ap_get_module_config(cmd->server->module_config,
-                                                 &aspdotnet_module);
-    asp_net_alias_t *mount 
-        = (asp_net_alias_t*)apr_palloc(cmd->pool, sizeof(*mount));
-
-    mount->virtual_path_len = strlen(uri);
-
-    apr_status_t rv = apr_filepath_merge((char**)&root, ap_server_root, rootarg,
-                                         APR_FILEPATH_TRUENAME, cmd->pool);
-
-    if (rv != APR_SUCCESS || !root) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
-                     "mod_aspdotnet: Failed to resolve the full file path"
-                     "for AspNetMount \"%s\" \"%s\"", uri, rootarg);
-        return NULL;
-    }
-
-    apr_finfo_t fi;
-    rv = apr_stat(&fi, root, APR_FINFO_TYPE, cmd->temp_pool);
-    if ((rv != APR_SUCCESS) || (fi.filetype != APR_DIR)) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
-            "mod_aspdotnet: File path is a directory, or could not stat path "
-                     "for AspNetMount \"%s\" \"%s\"", uri, rootarg);
-        return NULL;
-    }
-
-    apr_size_t root_len     = strlen(root);
-    apr_size_t combined_len = mount->virtual_path_len + root_len + 2;
-    mount->virtual_path = (const char*)apr_palloc(cmd->pool, combined_len);
-    memcpy((char*)mount->virtual_path, uri, mount->virtual_path_len + 1);
-    memcpy((char*)mount->virtual_path + mount->virtual_path_len + 1, 
-           root, root_len + 1);
-
-    // Recover the host matching this virtual+physical path combo, 
-    // or create a new persistant host record (on the first pass.)
-    mount->host = (asp_net_host_conf_t*)apr_hash_get(conf->hosts, 
-                                                     mount->virtual_path,
-                                                     combined_len);
-    if (!mount->host) {
-        mount->host = (asp_net_host_conf_t*)apr_palloc(conf->pool, 
-                                                       sizeof(*mount->host));
-        mount->host->combined_len = combined_len;
-        mount->host->virtual_path = (const char*)apr_palloc(conf->pool, 
-                                                            combined_len);
-        mount->host->physical_path = mount->host->virtual_path 
-                                   + mount->virtual_path_len + 1;
-        memcpy((char*)mount->host->virtual_path, 
-               mount->virtual_path, combined_len);
-        mount->host->host_key = -1;
-        apr_hash_set(conf->hosts, mount->host->virtual_path, 
-                     mount->host->combined_len, mount->host);
-    }
-
-    apr_hash_set(sconf->aliases, mount->virtual_path, 
-                 mount->virtual_path_len, mount);
-    return NULL;
-}
-
-static const command_rec asp_net_cmds[] =
-{
-    AP_INIT_TAKE2("AspNetMount", (cmd_func)asp_net_mount, NULL, RSRC_CONF,
-                  "Mount a URI path to an Asp.Net AppDomain path root"),
-    {NULL}
-};
-
-static apr_status_t asp_net_stop(void *dummy)
-{
-    conf->pHostFactory->Destroy();
-
-    if (conf->pHostFactory) {
-        conf->pHostFactory->Release();
-    }
-    if (conf->pCorRuntime) {
-        conf->pCorRuntime->Stop();
-        conf->pCorRuntime->Release();
-    }
-    return APR_SUCCESS;
-}
-
-static HRESULT init_asp_engine(void)
-{
-    HRESULT hr;
-
-    // Get the path to this mod_aspdotnet module so that we can
-    // lock ourselves in-place for the lifetime of the server
-    wchar_t wAspNetPath[APR_PATH_MAX];
-    HMODULE hModule = GetModuleHandleW(L"mod_aspdotnet.so");
-    if (!GetModuleFileNameW(hModule, wAspNetPath, APR_PATH_MAX)
-            || (wcslen(wAspNetPath) >= APR_PATH_MAX - 1)) {
-        hr = GetLastError();
-        apr_status_t rv = APR_FROM_OS_ERROR(hr);
-        if (!rv) {
-            hr = E_FAIL;
-            rv = APR_ENAMETOOLONG;
-        }
-        ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
-                     "mod_aspdotnet: Failed to discover the full file path to "
-                     "mod_aspdotnet.so.  (Was it renamed?)");
-        _com_raise_error(hr);
-    }
-    conf->lock_module = LoadLibraryW(wAspNetPath);
-
-    // Now we are prepared to register our cleanup in the global
-    // process pool, because we trust the module cannot be unloaded
-    // by apr_dso_unload [the module instance is refcounted]
-    apr_pool_cleanup_register(conf->pool, NULL, asp_net_stop, 
-                              apr_pool_cleanup_null);
-
-    // Now get the path to the apache.exe binary, as Apache.Web
-    // reside in the same path as the server's dll libraries.
-    if (!GetModuleFileNameW(NULL, wAspNetPath, APR_PATH_MAX)
-            || (wcslen(wAspNetPath) >= APR_PATH_MAX - 17)) {
-        hr = GetLastError();
-        apr_status_t rv = APR_FROM_OS_ERROR(hr);
-        if (!rv) {
-            hr = E_FAIL;
-            rv = APR_ENAMETOOLONG;
-        }
-        ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
-                     "mod_aspdotnet: Unable to determine apache.exe path!");
-        _com_raise_error(hr);
-    }
-
-    wchar_t *repl = wcsrchr(wAspNetPath, L'\\');
-    if (!repl || wcscmp(repl, L"\\apache.exe")) {
-        ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, NULL,
-                     "mod_aspdotnet: Unable to determine apache.exe path!");
-        _com_raise_error(E_FAIL);
-    }
-
-    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
-                 "mod_aspdotnet: Module initialization commencing...");
-
-    DWORD len;
-    hr = GetCORVersion(wAspNetPath, sizeof(wAspNetPath) 
-                                     / sizeof(WCHAR) - 1, &len);
-    if (FAILED(hr)) {
-        wAspNetPath[len] = L'\0';
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: GetCORVersion failed to return "
-                     "the .NET CLR engine version.");
-        _com_raise_error(hr);
-    }
-
-    hr = CorBindToRuntimeEx(wAspNetPath, 
-                            L"svr",  // Or "wks" 
-                            STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN_HOST | 
-                            STARTUP_CONCURRENT_GC, 
-                            CLSID_CorRuntimeHost, 
-                            IID_ICorRuntimeHost, 
-                            (void **)&conf->pCorRuntime);
-    if (FAILED(hr)) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not CorBindToRuntimeEx "
-                     "for the .NET CLR engine.");
-        _com_raise_error(hr);
-    }
-
-    hr = conf->pCorRuntime->Start();
-    if (FAILED(hr)) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not start the "
-                     ".NET CLR engine.");
-        _com_raise_error(hr);
-    }
-
-    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
-                 "mod_aspdotnet: Module started .NET CLR...");
-
-    IUnknown *pAppDomainIUnk = NULL;
-    hr = conf->pCorRuntime->GetDefaultDomain(&pAppDomainIUnk);
-    if (FAILED(hr)) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not retrieve the .NET default "
-                     "application domain.");
-        _com_raise_error(hr);
-    }
-    if (!pAppDomainIUnk) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not retrieve the .NET default "
-                     "application domain's interface.");
-        _com_raise_error(E_NOINTERFACE);
-    }
-
-    _AppDomain *pDefaultDomain = NULL;
-    hr = pAppDomainIUnk->QueryInterface(__uuidof(_AppDomain), 
-                                        (void**)&pDefaultDomain);
-    if (FAILED(hr)) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not retrieve the .NET default "
-                     "application domain's _AppDomain interface.");
-        _com_raise_error(hr);
-    }
-    if (!pDefaultDomain) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not retrieve the .NET default "
-                     "application domain _AppDomain interface.");
-        _com_raise_error(E_NOINTERFACE);
-    }
-    // Done with pAppDomainIUnk
-    pAppDomainIUnk->Release();
-
-    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
-                 "mod_aspdotnet: Module initialized .NET default AppDomain...");
-
-    _ObjectHandle *pObjHandle = NULL;
-    hr = pDefaultDomain->CreateInstance(_bstr_t("Apache.Web, "
-                                            "Version=" APACHE_WEB_VERSION ", "
-				            "Culture=neutral, "
-                                            "PublicKeyToken=06dcc24729498c72"),
-                                        _bstr_t(L"Apache.Web.HostFactory"),
-                                        &pObjHandle);
-    if (FAILED(hr)) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not create the .NET interface "
-                     "for the Apache.Web.HostFactory.");
-        _com_raise_error(hr);
-    }
-    if (!pObjHandle) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not retrieve the .NET object "
-                     "for the Apache.Web.HostFactory.");
-        _com_raise_error(E_NOINTERFACE);
-    }
-    // Done with pDefaultDomain
-    pDefaultDomain->Release();
-    
-    VARIANT vHostFactory;
-    VariantInit(&vHostFactory);
-    hr = pObjHandle->Unwrap(&vHostFactory);
-    if (FAILED(hr)) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not unwrap the COM interface "
-                     "for the Apache.Web.HostFactory.");
-        _com_raise_error(hr);
-    }
-    if (!vHostFactory.pdispVal) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not retrieve the unknown COM "
-                     "interface for the Apache.Web.HostFactory.");
-        _com_raise_error(E_NOINTERFACE);
-    }
-    hr = vHostFactory.pdispVal->QueryInterface(__uuidof(IApacheWebHostFactory),
-                                               (void**)&conf->pHostFactory);
-    if (FAILED(hr)) { 
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not retrieve the COM interface "
-                     "for the Apache.Web.HostFactory.");
-        _com_raise_error(hr);
-    }
-
-    // Done with vHostFactory
-    VariantClear(&vHostFactory);
-
-    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
-                 "mod_aspdotnet: Module initialized HostFactory...");
-
-    // Test invocation, assure we have a good hostfactory
-    hr = conf->pHostFactory->Configure(L"");
-    if (FAILED(hr)) {
-        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
-                     "mod_aspdotnet: Could not correctly configure the "
-                     "Apache.Web.HostFactory.");
-        _com_raise_error(hr);
-    }
-
-    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
-                 "mod_aspdotnet: HostFactory configuration complete.");
-
-    return S_OK;
-}
-
-static int asp_net_handler(request_rec *r)
-{
-    if (!r->handler || strcmp(r->handler, "asp.net") != 0) {
-        return DECLINED;
-    }
-
-    if (r->finfo.filetype != APR_REG) {
-        ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r, 
-                "mod_aspdotnet: File not found or unable to stat: %s",
-                r->filename);
-        return HTTP_NOT_FOUND;
-    }
-
-    if (!r->uri || (r->uri[0] != '/')) {
-        ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r, 
-                "mod_aspdotnet: Forbidden, request URI was not absolute: %s",
-                r->uri ? r->uri : "<NULL>");
-        return HTTP_FORBIDDEN;
-    }
-
-    if (!(ap_allow_options(r) & OPT_EXECCGI)) 
-    {
-        ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r, 
-                "mod_aspdotnet: Forbidden, Options ExecCGI is not set for: %s",
-                r->filename);
-        return HTTP_FORBIDDEN;
-    }
-
-    if ((r->used_path_info == AP_REQ_REJECT_PATH_INFO) &&
-        r->path_info && *r->path_info)
-    {
-        /* default to accept */
-            ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r, 
-            "mod_aspdotnet: AcceptPathInfo off for %s disallows user's path %s",
-            r->filename, r->path_info);
-        return HTTP_NOT_FOUND;
-    }
-
-    asp_net_sconf_t *sconf 
-        = (asp_net_sconf_t*)ap_get_module_config(r->server->module_config, 
-                                                 &aspdotnet_module);
-
-    asp_net_host_conf_t *host = NULL;
-    apr_hash_index_t *item;
-    for (item = apr_hash_first(conf->pool, sconf->aliases); item; 
-            item = apr_hash_next(item)) 
-    {
-        asp_net_alias_t *alias;
-        apr_hash_this(item, NULL, NULL, (void**)&alias);
-        if (strncasecmp(alias->virtual_path, r->uri, 
-                        alias->virtual_path_len) == 0) {
-            host = alias->host;
-            break;
-        }
-    }
-
-    if (!item || !host) {
-            ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r,
-                "mod_aspdotnet: No AspNetMount URI for request: %s",
-                r->uri);
-        return HTTP_INTERNAL_SERVER_ERROR;
-    }
-
-    // We never create an environment, however, we will query the
-    // r->env to recover these values.
-    ap_add_common_vars(r);
-    ap_add_cgi_vars(r);
-
-    // Check that THIS thread is coinitialized.
-    HRESULT hr = CoInitialize(NULL);
-    if (hr == RPC_E_CHANGED_MODE)
-        hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
-
-    if (FAILED(hr)) {
-        ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), r,
-                      "mod_aspdotnet: CoInitialize failed!");
-        return HTTP_INTERNAL_SERVER_ERROR;
-    }
-
-    VARIANT vRequest;
-    VariantInit(&vRequest);
-
-    int status;
-
-    try {
-        status = conf->pHostFactory->HandleHostRequest(host->host_key, 
-                                                       (UINT_PTR)r);
-    }
-    catch (_com_error err) {
-        ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(err.Error()), r,
-                    "mod_aspdotnet: CreateRequest %s processing failed, file %s",
-                    r->uri, r->filename);
-        char *desc = (char*)err.Description();
-        if (desc) {
-            ap_log_rerror(APLOG_MARK, APLOG_ERR, 
-                          APR_FROM_OS_ERROR(err.Error()), r,
-                          "mod_aspdotnet: %s", desc);
-        }
-        status = HTTP_INTERNAL_SERVER_ERROR;
-    }
-    catch (HRESULT hr) {
-        ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), r,
-                      "mod_aspdotnet: CreateRequest %s processing failed, file %s",
-                      r->uri, r->filename);
-        status = HTTP_INTERNAL_SERVER_ERROR;
-    }
-    catch (...) {
-        ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r,
-                      "mod_aspdotnet: CreateRequest %s processing failed, file %s",
-                      r->uri, r->filename);
-        status = HTTP_INTERNAL_SERVER_ERROR;
-    }
-
-    VariantClear(&vRequest);
-
-    return status;
-}
-
-static int asp_net_pre_config(apr_pool_t *pconf, apr_pool_t *plog, 
-                              apr_pool_t *ptemp)
-{
-    apr_pool_t *process = apr_pool_get_parent(pconf);
-
-    // Recover or create the global, persistant configuration
-    // Setup and teardown can take a considerable amount of time,
-    // we do not want to repeat this twice per Apache process.
-    if ((apr_pool_userdata_get((void**)&conf, "mod_aspdotnet::global_conf", 
-                               process) != APR_SUCCESS) || !conf) {
-        HRESULT hr = CoInitialize(NULL);
-        if (hr == RPC_E_CHANGED_MODE)
-            hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
-        if (FAILED(hr)) {
-            ap_log_error(APLOG_MARK, APLOG_CRIT, APR_FROM_OS_ERROR(hr), NULL,
-                        "mod_aspdotnet: Failed to CoInitialize the threaded "
-                        "COM engine for .NET CLR interop!");
-            return 1;
-        }
-        conf = (asp_net_conf_t*)apr_palloc(process, sizeof(*conf));
-        conf->pool  = process;
-        conf->hosts = apr_hash_make(process);
-        conf->pCorRuntime  = NULL;
-        conf->pHostFactory = NULL;
-        apr_pool_userdata_setn(conf, "mod_aspdotnet::global_conf", 
-                               apr_pool_cleanup_null, process);
-    }
-    return APR_SUCCESS;
-}
-
-
-static int asp_net_post_config(apr_pool_t *pconf, apr_pool_t *plog, 
-                               apr_pool_t *ptemp, server_rec *gs)
-{
-    apr_hash_index_t *item;
-
-    // First time through, initialize .Net and the HostFactory
-    if (!conf->pCorRuntime || !conf->pHostFactory) {
-        try {
-            init_asp_engine();
-        }
-        catch (_com_error err) {
-            char *desc = (char*)err.Description();
-            ap_log_error(APLOG_MARK, APLOG_CRIT, 
-                         APR_FROM_OS_ERROR(err.Error()), gs,
-                         "mod_aspdotnet: Failed to start Asp.Net "
-                         "Apache.Web host factory");
-            if (desc) {
-                ap_log_error(APLOG_MARK, APLOG_CRIT, 
-                            APR_FROM_OS_ERROR(err.Error()), gs,
-                            "mod_aspdotnet: %s", desc);
-            }
-            return 1;
-        }
-        catch (HRESULT hr) {
-            ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), gs,
-                         "mod_aspdotnet: Failed to start Asp.Net "
-                         "Apache.Web host factory.");
-            return 1;
-        }
-        catch (...) {
-            ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, gs,
-                         "mod_aspdotnet: Failed to start Asp.Net "
-                         "Apache.Web host factory.");
-            return 1;
-        }
-    }
-
-    for (item = apr_hash_first(ptemp, conf->hosts); item; 
-            item = apr_hash_next(item)) 
-    {
-        asp_net_host_conf_t *host;
-        apr_hash_this(item, NULL, NULL, (void**)&host);
-    
-        if (host->host_key != -1) {
-            continue;
-        }
-
-        try {
-            // XXX: i18n these paths by treating them as UTF-8 -> Unicode!!!
-            host->host_key = conf->pHostFactory->CreateHost(
-                                                 _bstr_t(host->virtual_path), 
-                                                 _bstr_t(host->physical_path),
-                                                 (int) gs);
-            if (host->host_key == -1)
-                _com_raise_error(E_NOINTERFACE);
-        }
-        catch (_com_error err) {
-            ap_log_error(APLOG_MARK, APLOG_CRIT, 
-                         APR_FROM_OS_ERROR(err.Error()), gs, 
-                         "mod_aspdotnet: Failed to create Host connector "
-                         "for %s mapped to %s", host->virtual_path, 
-                         host->physical_path);
-            ap_log_error(APLOG_MARK, APLOG_CRIT, 
-                         APR_FROM_OS_ERROR(err.Error()), gs, 
-                         "mod_aspdotnet: %s", (char*)err.Description());
-            return 1;
-        }
-        catch (HRESULT hr) {
-            ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), gs,
-                         "mod_aspdotnet: Failed to create Host of for %s mapped "
-                         "to %s", host->virtual_path, host->physical_path);
-            return 1;
-        }
-        catch (...) {
-            ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, gs,
-                         "mod_aspdotnet: Failed to create Host of for %s mapped "
-                         "to %s", host->virtual_path, host->physical_path);
-            return 1;
-        }
-    }
-
-    return OK;
-}
-
-static void register_hooks(apr_pool_t *p)
-{
-    ap_hook_handler(asp_net_handler, NULL, NULL, APR_HOOK_MIDDLE);
-    ap_hook_pre_config(asp_net_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
-    ap_hook_post_config(asp_net_post_config, NULL, NULL, APR_HOOK_MIDDLE);
-}
-
-module AP_MODULE_DECLARE_DATA ::aspdotnet_module =
-{
-    STANDARD20_MODULE_STUFF,
-    NULL,                       /* dir config */
-    NULL,                       /* merge dir config */
-    create_asp_net_sconf,       /* server config */
-    merge_asp_net_sconfs,       /* merge server config */
-    asp_net_cmds,               /* command apr_table_t */
-    register_hooks              /* register hooks */
-};
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// mod_aspdotnet.so - Microsoft ASP.NET connector module for Apache 2.0
+
+
+// We don't care about unused arguments
+#pragma warning(disable: 4100)
+
+// We require much Winfoo to intermix Com/Ole/CLR code...
+// don't wait for APR to include a stripped down Win32 API
+//
+#define WIN32_LEAN_AND_MEAN
+#define _WIN32_WINNT 0x0400
+#include <Windows.h>
+#include <winsock2.h>
+#include <objbase.h>
+
+#include "apr.h"
+#include "apr_lib.h"
+#include "apr_strings.h"
+#include "apr_buckets.h"
+#include "apr_pools.h"
+
+#include "httpd.h"
+#include "http_core.h"
+#include "http_config.h"
+#include "http_log.h"
+#include "http_main.h"
+#include "http_request.h"
+#include "util_filter.h"
+#include "util_script.h"
+
+// We aren't looking for much beyond the version, 
+// so lie that this header was previously loaded
+#define APACHE_WEB_H
+#include "Apache.Web.h"
+
+#include <mscoree.h>
+#import <mscorlib.tlb> raw_interfaces_only \
+    high_property_prefixes("_get","_put","_putref") \
+    rename("ReportEvent", "CorReportEvent")
+using namespace mscorlib;
+
+#import "Apache.Web.tlb"
+using namespace Apache_Web;
+
+extern "C" {
+    extern module AP_MODULE_DECLARE_DATA aspdotnet_module;
+}
+
+// Initialized or recovered (from userdata) in pre_config
+typedef struct asp_net_host_conf_t 
+{
+    // Allocation issue; virtual and physical are hashed
+    // as a combined string of /vpath\0/ppath\0 with the
+    // combined_len including both NULLs.  This permits us
+    // to quickly find given virtual/physical mappings for
+    // given vhosts (they are bound to a specific virutal
+    // and physical path pair.)
+    apr_size_t  combined_len;
+    const char *virtual_path;
+    const char *physical_path;
+    int         host_key;
+//    IApacheWebHost *pHost;
+} asp_net_host_conf_t;
+
+struct asp_net_conf_t {
+    apr_pool_t *pool;
+    apr_hash_t *hosts;  // Hash of asp_net_host_conf_t records
+    ICorRuntimeHost *pCorRuntime;
+    IApacheWebHostFactory *pHostFactory;
+    HANDLE lock_module;
+} *conf;
+
+// Initialized for each restart
+typedef struct asp_net_alias_t {
+    // These are hashed per-vhost only by the virtual_path.
+    apr_size_t  virtual_path_len;
+    const char *virtual_path;
+    asp_net_host_conf_t *host;
+} asp_net_alias_t;
+
+typedef struct asp_net_sconf_t {
+    apr_hash_t *aliases;  // Hash of asp_net_alias_t records
+} asp_net_sconf_t;
+
+
+static void *create_asp_net_sconf(apr_pool_t *p, server_rec *s)
+{
+    asp_net_sconf_t *sconf;
+    sconf = (asp_net_sconf_t*)apr_palloc(p, sizeof(asp_net_sconf_t));
+    sconf->aliases = apr_hash_make(p);
+    return sconf;
+}
+
+static void *merge_asp_net_sconfs(apr_pool_t *p, void *basev, void *addv)
+{
+    asp_net_sconf_t *base = (asp_net_sconf_t*)basev;
+    asp_net_sconf_t *add = (asp_net_sconf_t*)addv;
+    apr_hash_overlay(p, add->aliases, base->aliases);
+    return add;
+}
+
+
+static const char *asp_net_mount(cmd_parms *cmd, void *dummy, 
+                                 const char *uri, const char *rootarg)
+{
+    char *root;
+    asp_net_sconf_t *sconf 
+        = (asp_net_sconf_t*)ap_get_module_config(cmd->server->module_config,
+                                                 &aspdotnet_module);
+    asp_net_alias_t *mount 
+        = (asp_net_alias_t*)apr_palloc(cmd->pool, sizeof(*mount));
+
+    mount->virtual_path_len = strlen(uri);
+
+    apr_status_t rv = apr_filepath_merge((char**)&root, ap_server_root, rootarg,
+                                         APR_FILEPATH_TRUENAME, cmd->pool);
+
+    if (rv != APR_SUCCESS || !root) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
+                     "mod_aspdotnet: Failed to resolve the full file path"
+                     "for AspNetMount \"%s\" \"%s\"", uri, rootarg);
+        return NULL;
+    }
+
+    apr_finfo_t fi;
+    rv = apr_stat(&fi, root, APR_FINFO_TYPE, cmd->temp_pool);
+    if ((rv != APR_SUCCESS) || (fi.filetype != APR_DIR)) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
+            "mod_aspdotnet: File path is a directory, or could not stat path "
+                     "for AspNetMount \"%s\" \"%s\"", uri, rootarg);
+        return NULL;
+    }
+
+    apr_size_t root_len     = strlen(root);
+    apr_size_t combined_len = mount->virtual_path_len + root_len + 2;
+    mount->virtual_path = (const char*)apr_palloc(cmd->pool, combined_len);
+    memcpy((char*)mount->virtual_path, uri, mount->virtual_path_len + 1);
+    memcpy((char*)mount->virtual_path + mount->virtual_path_len + 1, 
+           root, root_len + 1);
+
+    // Recover the host matching this virtual+physical path combo, 
+    // or create a new persistant host record (on the first pass.)
+    mount->host = (asp_net_host_conf_t*)apr_hash_get(conf->hosts, 
+                                                     mount->virtual_path,
+                                                     combined_len);
+    if (!mount->host) {
+        mount->host = (asp_net_host_conf_t*)apr_palloc(conf->pool, 
+                                                       sizeof(*mount->host));
+        mount->host->combined_len = combined_len;
+        mount->host->virtual_path = (const char*)apr_palloc(conf->pool, 
+                                                            combined_len);
+        mount->host->physical_path = mount->host->virtual_path 
+                                   + mount->virtual_path_len + 1;
+        memcpy((char*)mount->host->virtual_path, 
+               mount->virtual_path, combined_len);
+        mount->host->host_key = -1;
+        apr_hash_set(conf->hosts, mount->host->virtual_path, 
+                     mount->host->combined_len, mount->host);
+    }
+
+    apr_hash_set(sconf->aliases, mount->virtual_path, 
+                 mount->virtual_path_len, mount);
+    return NULL;
+}
+
+static const command_rec asp_net_cmds[] =
+{
+    AP_INIT_TAKE2("AspNetMount", (cmd_func)asp_net_mount, NULL, RSRC_CONF,
+                  "Mount a URI path to an Asp.Net AppDomain path root"),
+    {NULL}
+};
+
+static apr_status_t asp_net_stop(void *dummy)
+{
+    conf->pHostFactory->Destroy();
+
+    if (conf->pHostFactory) {
+        conf->pHostFactory->Release();
+    }
+    if (conf->pCorRuntime) {
+        conf->pCorRuntime->Stop();
+        conf->pCorRuntime->Release();
+    }
+    return APR_SUCCESS;
+}
+
+static HRESULT init_asp_engine(void)
+{
+    HRESULT hr;
+
+    // Get the path to this mod_aspdotnet module so that we can
+    // lock ourselves in-place for the lifetime of the server
+    wchar_t wAspNetPath[APR_PATH_MAX];
+    HMODULE hModule = GetModuleHandleW(L"mod_aspdotnet.so");
+    if (!GetModuleFileNameW(hModule, wAspNetPath, APR_PATH_MAX)
+            || (wcslen(wAspNetPath) >= APR_PATH_MAX - 1)) {
+        hr = GetLastError();
+        apr_status_t rv = APR_FROM_OS_ERROR(hr);
+        if (!rv) {
+            hr = E_FAIL;
+            rv = APR_ENAMETOOLONG;
+        }
+        ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
+                     "mod_aspdotnet: Failed to discover the full file path to "
+                     "mod_aspdotnet.so.  (Was it renamed?)");
+        _com_raise_error(hr);
+    }
+    conf->lock_module = LoadLibraryW(wAspNetPath);
+
+    // Now we are prepared to register our cleanup in the global
+    // process pool, because we trust the module cannot be unloaded
+    // by apr_dso_unload [the module instance is refcounted]
+    apr_pool_cleanup_register(conf->pool, NULL, asp_net_stop, 
+                              apr_pool_cleanup_null);
+
+    // Now get the path to the apache.exe binary, as Apache.Web
+    // reside in the same path as the server's dll libraries.
+    if (!GetModuleFileNameW(NULL, wAspNetPath, APR_PATH_MAX)
+            || (wcslen(wAspNetPath) >= APR_PATH_MAX - 17)) {
+        hr = GetLastError();
+        apr_status_t rv = APR_FROM_OS_ERROR(hr);
+        if (!rv) {
+            hr = E_FAIL;
+            rv = APR_ENAMETOOLONG;
+        }
+        ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
+                     "mod_aspdotnet: Unable to determine apache.exe path!");
+        _com_raise_error(hr);
+    }
+
+    wchar_t *repl = wcsrchr(wAspNetPath, L'\\');
+    if (!repl || wcscmp(repl, L"\\apache.exe")) {
+        ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, NULL,
+                     "mod_aspdotnet: Unable to determine apache.exe path!");
+        _com_raise_error(E_FAIL);
+    }
+
+    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
+                 "mod_aspdotnet: Module initialization commencing...");
+
+    DWORD len;
+    hr = GetCORVersion(wAspNetPath, sizeof(wAspNetPath) 
+                                     / sizeof(WCHAR) - 1, &len);
+    if (FAILED(hr)) {
+        wAspNetPath[len] = L'\0';
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: GetCORVersion failed to return "
+                     "the .NET CLR engine version.");
+        _com_raise_error(hr);
+    }
+
+    hr = CorBindToRuntimeEx(wAspNetPath, 
+                            L"svr",  // Or "wks" 
+                            STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN_HOST | 
+                            STARTUP_CONCURRENT_GC, 
+                            CLSID_CorRuntimeHost, 
+                            IID_ICorRuntimeHost, 
+                            (void **)&conf->pCorRuntime);
+    if (FAILED(hr)) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not CorBindToRuntimeEx "
+                     "for the .NET CLR engine.");
+        _com_raise_error(hr);
+    }
+
+    hr = conf->pCorRuntime->Start();
+    if (FAILED(hr)) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not start the "
+                     ".NET CLR engine.");
+        _com_raise_error(hr);
+    }
+
+    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
+                 "mod_aspdotnet: Module started .NET CLR...");
+
+    IUnknown *pAppDomainIUnk = NULL;
+    hr = conf->pCorRuntime->GetDefaultDomain(&pAppDomainIUnk);
+    if (FAILED(hr)) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not retrieve the .NET default "
+                     "application domain.");
+        _com_raise_error(hr);
+    }
+    if (!pAppDomainIUnk) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not retrieve the .NET default "
+                     "application domain's interface.");
+        _com_raise_error(E_NOINTERFACE);
+    }
+
+    _AppDomain *pDefaultDomain = NULL;
+    hr = pAppDomainIUnk->QueryInterface(__uuidof(_AppDomain), 
+                                        (void**)&pDefaultDomain);
+    if (FAILED(hr)) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not retrieve the .NET default "
+                     "application domain's _AppDomain interface.");
+        _com_raise_error(hr);
+    }
+    if (!pDefaultDomain) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not retrieve the .NET default "
+                     "application domain _AppDomain interface.");
+        _com_raise_error(E_NOINTERFACE);
+    }
+    // Done with pAppDomainIUnk
+    pAppDomainIUnk->Release();
+
+    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
+                 "mod_aspdotnet: Module initialized .NET default AppDomain...");
+
+    _ObjectHandle *pObjHandle = NULL;
+    hr = pDefaultDomain->CreateInstance(_bstr_t("Apache.Web, "
+                                            "Version=" APACHE_WEB_VERSION ", "
+				            "Culture=neutral, "
+                                            "PublicKeyToken=06dcc24729498c72"),
+                                        _bstr_t(L"Apache.Web.HostFactory"),
+                                        &pObjHandle);
+    if (FAILED(hr)) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not create the .NET interface "
+                     "for the Apache.Web.HostFactory.");
+        _com_raise_error(hr);
+    }
+    if (!pObjHandle) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not retrieve the .NET object "
+                     "for the Apache.Web.HostFactory.");
+        _com_raise_error(E_NOINTERFACE);
+    }
+    // Done with pDefaultDomain
+    pDefaultDomain->Release();
+    
+    VARIANT vHostFactory;
+    VariantInit(&vHostFactory);
+    hr = pObjHandle->Unwrap(&vHostFactory);
+    if (FAILED(hr)) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not unwrap the COM interface "
+                     "for the Apache.Web.HostFactory.");
+        _com_raise_error(hr);
+    }
+    if (!vHostFactory.pdispVal) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not retrieve the unknown COM "
+                     "interface for the Apache.Web.HostFactory.");
+        _com_raise_error(E_NOINTERFACE);
+    }
+    hr = vHostFactory.pdispVal->QueryInterface(__uuidof(IApacheWebHostFactory),
+                                               (void**)&conf->pHostFactory);
+    if (FAILED(hr)) { 
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not retrieve the COM interface "
+                     "for the Apache.Web.HostFactory.");
+        _com_raise_error(hr);
+    }
+
+    // Done with vHostFactory
+    VariantClear(&vHostFactory);
+
+    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
+                 "mod_aspdotnet: Module initialized HostFactory...");
+
+    // Test invocation, assure we have a good hostfactory
+    hr = conf->pHostFactory->Configure(L"");
+    if (FAILED(hr)) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
+                     "mod_aspdotnet: Could not correctly configure the "
+                     "Apache.Web.HostFactory.");
+        _com_raise_error(hr);
+    }
+
+    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
+                 "mod_aspdotnet: HostFactory configuration complete.");
+
+    return S_OK;
+}
+
+static int asp_net_handler(request_rec *r)
+{
+    if (!r->handler || strcmp(r->handler, "asp.net") != 0) {
+        return DECLINED;
+    }
+
+    if (r->finfo.filetype != APR_REG) {
+        ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r, 
+                "mod_aspdotnet: File not found or unable to stat: %s",
+                r->filename);
+        return HTTP_NOT_FOUND;
+    }
+
+    if (!r->uri || (r->uri[0] != '/')) {
+        ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r, 
+                "mod_aspdotnet: Forbidden, request URI was not absolute: %s",
+                r->uri ? r->uri : "<NULL>");
+        return HTTP_FORBIDDEN;
+    }
+
+    if (!(ap_allow_options(r) & OPT_EXECCGI)) 
+    {
+        ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r, 
+                "mod_aspdotnet: Forbidden, Options ExecCGI is not set for: %s",
+                r->filename);
+        return HTTP_FORBIDDEN;
+    }
+
+    if ((r->used_path_info == AP_REQ_REJECT_PATH_INFO) &&
+        r->path_info && *r->path_info)
+    {
+        /* default to accept */
+            ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r, 
+            "mod_aspdotnet: AcceptPathInfo off for %s disallows user's path %s",
+            r->filename, r->path_info);
+        return HTTP_NOT_FOUND;
+    }
+
+    asp_net_sconf_t *sconf 
+        = (asp_net_sconf_t*)ap_get_module_config(r->server->module_config, 
+                                                 &aspdotnet_module);
+
+    asp_net_host_conf_t *host = NULL;
+    apr_hash_index_t *item;
+    for (item = apr_hash_first(conf->pool, sconf->aliases); item; 
+            item = apr_hash_next(item)) 
+    {
+        asp_net_alias_t *alias;
+        apr_hash_this(item, NULL, NULL, (void**)&alias);
+        if (strncasecmp(alias->virtual_path, r->uri, 
+                        alias->virtual_path_len) == 0) {
+            host = alias->host;
+            break;
+        }
+    }
+
+    if (!item || !host) {
+            ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r,
+                "mod_aspdotnet: No AspNetMount URI for request: %s",
+                r->uri);
+        return HTTP_INTERNAL_SERVER_ERROR;
+    }
+
+    // We never create an environment, however, we will query the
+    // r->env to recover these values.
+    ap_add_common_vars(r);
+    ap_add_cgi_vars(r);
+
+    // Check that THIS thread is coinitialized.
+    HRESULT hr = CoInitialize(NULL);
+    if (hr == RPC_E_CHANGED_MODE)
+        hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
+
+    if (FAILED(hr)) {
+        ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), r,
+                      "mod_aspdotnet: CoInitialize failed!");
+        return HTTP_INTERNAL_SERVER_ERROR;
+    }
+
+    VARIANT vRequest;
+    VariantInit(&vRequest);
+
+    int status;
+
+    try {
+        status = conf->pHostFactory->HandleHostRequest(host->host_key, 
+                                                       (UINT_PTR)r);
+    }
+    catch (_com_error err) {
+        ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(err.Error()), r,
+                    "mod_aspdotnet: CreateRequest %s processing failed, file %s",
+                    r->uri, r->filename);
+        char *desc = (char*)err.Description();
+        if (desc) {
+            ap_log_rerror(APLOG_MARK, APLOG_ERR, 
+                          APR_FROM_OS_ERROR(err.Error()), r,
+                          "mod_aspdotnet: %s", desc);
+        }
+        status = HTTP_INTERNAL_SERVER_ERROR;
+    }
+    catch (HRESULT hr) {
+        ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), r,
+                      "mod_aspdotnet: CreateRequest %s processing failed, file %s",
+                      r->uri, r->filename);
+        status = HTTP_INTERNAL_SERVER_ERROR;
+    }
+    catch (...) {
+        ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r,
+                      "mod_aspdotnet: CreateRequest %s processing failed, file %s",
+                      r->uri, r->filename);
+        status = HTTP_INTERNAL_SERVER_ERROR;
+    }
+
+    VariantClear(&vRequest);
+
+    return status;
+}
+
+static int asp_net_pre_config(apr_pool_t *pconf, apr_pool_t *plog, 
+                              apr_pool_t *ptemp)
+{
+    apr_pool_t *process = apr_pool_get_parent(pconf);
+
+    // Recover or create the global, persistant configuration
+    // Setup and teardown can take a considerable amount of time,
+    // we do not want to repeat this twice per Apache process.
+    if ((apr_pool_userdata_get((void**)&conf, "mod_aspdotnet::global_conf", 
+                               process) != APR_SUCCESS) || !conf) {
+        HRESULT hr = CoInitialize(NULL);
+        if (hr == RPC_E_CHANGED_MODE)
+            hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
+        if (FAILED(hr)) {
+            ap_log_error(APLOG_MARK, APLOG_CRIT, APR_FROM_OS_ERROR(hr), NULL,
+                        "mod_aspdotnet: Failed to CoInitialize the threaded "
+                        "COM engine for .NET CLR interop!");
+            return 1;
+        }
+        conf = (asp_net_conf_t*)apr_palloc(process, sizeof(*conf));
+        conf->pool  = process;
+        conf->hosts = apr_hash_make(process);
+        conf->pCorRuntime  = NULL;
+        conf->pHostFactory = NULL;
+        apr_pool_userdata_setn(conf, "mod_aspdotnet::global_conf", 
+                               apr_pool_cleanup_null, process);
+    }
+    return APR_SUCCESS;
+}
+
+
+static int asp_net_post_config(apr_pool_t *pconf, apr_pool_t *plog, 
+                               apr_pool_t *ptemp, server_rec *gs)
+{
+    apr_hash_index_t *item;
+
+    // First time through, initialize .Net and the HostFactory
+    if (!conf->pCorRuntime || !conf->pHostFactory) {
+        try {
+            init_asp_engine();
+        }
+        catch (_com_error err) {
+            char *desc = (char*)err.Description();
+            ap_log_error(APLOG_MARK, APLOG_CRIT, 
+                         APR_FROM_OS_ERROR(err.Error()), gs,
+                         "mod_aspdotnet: Failed to start Asp.Net "
+                         "Apache.Web host factory");
+            if (desc) {
+                ap_log_error(APLOG_MARK, APLOG_CRIT, 
+                            APR_FROM_OS_ERROR(err.Error()), gs,
+                            "mod_aspdotnet: %s", desc);
+            }
+            return 1;
+        }
+        catch (HRESULT hr) {
+            ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), gs,
+                         "mod_aspdotnet: Failed to start Asp.Net "
+                         "Apache.Web host factory.");
+            return 1;
+        }
+        catch (...) {
+            ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, gs,
+                         "mod_aspdotnet: Failed to start Asp.Net "
+                         "Apache.Web host factory.");
+            return 1;
+        }
+    }
+
+    for (item = apr_hash_first(ptemp, conf->hosts); item; 
+            item = apr_hash_next(item)) 
+    {
+        asp_net_host_conf_t *host;
+        apr_hash_this(item, NULL, NULL, (void**)&host);
+    
+        if (host->host_key != -1) {
+            continue;
+        }
+
+        try {
+            // XXX: i18n these paths by treating them as UTF-8 -> Unicode!!!
+            host->host_key = conf->pHostFactory->CreateHost(
+                                                 _bstr_t(host->virtual_path), 
+                                                 _bstr_t(host->physical_path),
+                                                 (int) gs);
+            if (host->host_key == -1)
+                _com_raise_error(E_NOINTERFACE);
+        }
+        catch (_com_error err) {
+            ap_log_error(APLOG_MARK, APLOG_CRIT, 
+                         APR_FROM_OS_ERROR(err.Error()), gs, 
+                         "mod_aspdotnet: Failed to create Host connector "
+                         "for %s mapped to %s", host->virtual_path, 
+                         host->physical_path);
+            ap_log_error(APLOG_MARK, APLOG_CRIT, 
+                         APR_FROM_OS_ERROR(err.Error()), gs, 
+                         "mod_aspdotnet: %s", (char*)err.Description());
+            return 1;
+        }
+        catch (HRESULT hr) {
+            ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), gs,
+                         "mod_aspdotnet: Failed to create Host of for %s mapped "
+                         "to %s", host->virtual_path, host->physical_path);
+            return 1;
+        }
+        catch (...) {
+            ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, gs,
+                         "mod_aspdotnet: Failed to create Host of for %s mapped "
+                         "to %s", host->virtual_path, host->physical_path);
+            return 1;
+        }
+    }
+
+    return OK;
+}
+
+static void register_hooks(apr_pool_t *p)
+{
+    ap_hook_handler(asp_net_handler, NULL, NULL, APR_HOOK_MIDDLE);
+    ap_hook_pre_config(asp_net_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
+    ap_hook_post_config(asp_net_post_config, NULL, NULL, APR_HOOK_MIDDLE);
+}
+
+module AP_MODULE_DECLARE_DATA ::aspdotnet_module =
+{
+    STANDARD20_MODULE_STUFF,
+    NULL,                       /* dir config */
+    NULL,                       /* merge dir config */
+    create_asp_net_sconf,       /* server config */
+    merge_asp_net_sconfs,       /* merge server config */
+    asp_net_cmds,               /* command apr_table_t */
+    register_hooks              /* register hooks */
+};

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.vcproj
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.vcproj	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.vcproj	Fri Jul 16 09:27:17 2004
@@ -1,146 +1,146 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.00"
-	Name="mod_aspdotnet"
-	ProjectGUID="{B86D2326-9565-4494-B609-3E770ED14607}"
-	Keyword="ManagedCProj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="..\Debug"
-			IntermediateDirectory="..\Debug"
-			ConfigurationType="2"
-			CharacterSet="2"
-			ManagedExtensions="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\Apache.Web;&quot;$(APACHE_PATH)\include&quot;;$(IntDir)"
-				AdditionalUsingDirectories="$(IntDir)"
-				PreprocessorDefinitions="WIN32;_DEBUG"
-				MinimalRebuild="FALSE"
-				ExceptionHandling="TRUE"
-				RuntimeLibrary="1"
-				ProgramDataBaseFileName="$(IntDir)/$(ProjectName)_src.pdb"
-				BrowseInformation="1"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-				CompileAsManaged="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libapr.lib libaprutil.lib libhttpd.lib mscoree.lib"
-				OutputFile="$(OutDir)/$(ProjectName).so"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="&quot;$(APACHE_PATH)\lib&quot;"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Installing debug module to $(APACHE_PATH)\modules"
-				CommandLine="copy /y &quot;$(OutDir)\mod_aspdotnet.so&quot; &quot;$(APACHE_PATH)\modules&quot; &amp;&amp; copy /y &quot;$(OutDir)\mod_aspdotnet.pdb&quot; &quot;$(APACHE_PATH)\modules&quot;"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="..\Release"
-			IntermediateDirectory="..\Release"
-			ConfigurationType="2"
-			CharacterSet="2"
-			ManagedExtensions="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\Apache.Web;&quot;$(APACHE_PATH)\include&quot;;$(IntDir)"
-				AdditionalUsingDirectories="$(IntDir)"
-				PreprocessorDefinitions="WIN32;NDEBUG"
-				MinimalRebuild="FALSE"
-				RuntimeLibrary="0"
-				ProgramDataBaseFileName="$(IntDir)/$(ProjectName)_src.pdb"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-				CompileAsManaged="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libapr.lib libaprutil.lib libhttpd.lib mscoree.lib"
-				OutputFile="$(OutDir)/mod_aspdotnet.so"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="&quot;$(APACHE_PATH)\lib&quot;"
-				IgnoreAllDefaultLibraries="FALSE"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
-				OptimizeReferences="2"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-	</Configurations>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
-			<File
-				RelativePath="mod_aspdotnet.cpp">
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-						PrecompiledHeaderThrough="Mscoree.h"
-						PrecompiledHeaderFile="$(IntDir)/mod_aspdotnet.pch"
-						CompileAsManaged="0"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						CompileAsManaged="0"/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;r">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding = "Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="7.00"
+	Name="mod_aspdotnet"
+	ProjectGUID="{B86D2326-9565-4494-B609-3E770ED14607}"
+	Keyword="ManagedCProj">
+	<Platforms>
+		<Platform
+			Name="Win32"/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="..\Debug"
+			IntermediateDirectory="..\Debug"
+			ConfigurationType="2"
+			CharacterSet="2"
+			ManagedExtensions="FALSE">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\Apache.Web;&quot;$(APACHE_PATH)\include&quot;;$(IntDir)"
+				AdditionalUsingDirectories="$(IntDir)"
+				PreprocessorDefinitions="WIN32;_DEBUG"
+				MinimalRebuild="FALSE"
+				ExceptionHandling="TRUE"
+				RuntimeLibrary="1"
+				ProgramDataBaseFileName="$(IntDir)/$(ProjectName)_src.pdb"
+				BrowseInformation="1"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+				CompileAsManaged="0"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="libapr.lib libaprutil.lib libhttpd.lib mscoree.lib"
+				OutputFile="$(OutDir)/$(ProjectName).so"
+				LinkIncremental="1"
+				SuppressStartupBanner="TRUE"
+				AdditionalLibraryDirectories="&quot;$(APACHE_PATH)\lib&quot;"
+				IgnoreDefaultLibraryNames=""
+				GenerateDebugInformation="TRUE"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"
+				Description="Installing debug module to $(APACHE_PATH)\modules"
+				CommandLine="copy /y &quot;$(OutDir)\mod_aspdotnet.so&quot; &quot;$(APACHE_PATH)\modules&quot; &amp;&amp; copy /y &quot;$(OutDir)\mod_aspdotnet.pdb&quot; &quot;$(APACHE_PATH)\modules&quot;"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="..\Release"
+			IntermediateDirectory="..\Release"
+			ConfigurationType="2"
+			CharacterSet="2"
+			ManagedExtensions="FALSE">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				InlineFunctionExpansion="1"
+				AdditionalIncludeDirectories="..\Apache.Web;&quot;$(APACHE_PATH)\include&quot;;$(IntDir)"
+				AdditionalUsingDirectories="$(IntDir)"
+				PreprocessorDefinitions="WIN32;NDEBUG"
+				MinimalRebuild="FALSE"
+				RuntimeLibrary="0"
+				ProgramDataBaseFileName="$(IntDir)/$(ProjectName)_src.pdb"
+				WarningLevel="4"
+				DebugInformationFormat="3"
+				CompileAsManaged="0"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="libapr.lib libaprutil.lib libhttpd.lib mscoree.lib"
+				OutputFile="$(OutDir)/mod_aspdotnet.so"
+				LinkIncremental="1"
+				SuppressStartupBanner="TRUE"
+				AdditionalLibraryDirectories="&quot;$(APACHE_PATH)\lib&quot;"
+				IgnoreAllDefaultLibraries="FALSE"
+				IgnoreDefaultLibraryNames=""
+				GenerateDebugInformation="TRUE"
+				ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
+				OptimizeReferences="2"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+		</Configuration>
+	</Configurations>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
+			<File
+				RelativePath="mod_aspdotnet.cpp">
+				<FileConfiguration
+					Name="Debug|Win32">
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+						PrecompiledHeaderThrough="Mscoree.h"
+						PrecompiledHeaderFile="$(IntDir)/mod_aspdotnet.pch"
+						CompileAsManaged="0"/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32">
+					<Tool
+						Name="VCCLCompilerTool"
+						CompileAsManaged="0"/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc">
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;r">
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/mod_aspdotnet.sln
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/mod_aspdotnet.sln	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/mod_aspdotnet.sln	Fri Jul 16 09:27:17 2004
@@ -1,43 +1,43 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_aspdotnet", "mod\mod_aspdotnet.vcproj", "{B86D2326-9565-4494-B609-3E770ED14607}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Apache.Web", "Apache.Web\Apache.Web.vcproj", "{4B4F627E-C6DE-4614-9135-306D94F8755B}"
-EndProject
-Project("{E729F059-12D4-455F-A2A4-FDA8DD25E08A}") = "installer", "installer.isv", "{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "resolve_apache", "msi_dll\resolve_apache.vcproj", "{5149E89D-79D2-4FE7-B088-4987CF385D46}"
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		ConfigName.0 = Debug
-		ConfigName.1 = Release
-	EndGlobalSection
-	GlobalSection(ProjectDependencies) = postSolution
-		{B86D2326-9565-4494-B609-3E770ED14607}.0 = {4B4F627E-C6DE-4614-9135-306D94F8755B}
-		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.0 = {5149E89D-79D2-4FE7-B088-4987CF385D46}
-		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.1 = {B86D2326-9565-4494-B609-3E770ED14607}
-		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.2 = {4B4F627E-C6DE-4614-9135-306D94F8755B}
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{B86D2326-9565-4494-B609-3E770ED14607}.Debug.ActiveCfg = Debug|Win32
-		{B86D2326-9565-4494-B609-3E770ED14607}.Debug.Build.0 = Debug|Win32
-		{B86D2326-9565-4494-B609-3E770ED14607}.Release.ActiveCfg = Release|Win32
-		{B86D2326-9565-4494-B609-3E770ED14607}.Release.Build.0 = Release|Win32
-		{4B4F627E-C6DE-4614-9135-306D94F8755B}.Debug.ActiveCfg = Debug|Win32
-		{4B4F627E-C6DE-4614-9135-306D94F8755B}.Debug.Build.0 = Debug|Win32
-		{4B4F627E-C6DE-4614-9135-306D94F8755B}.Release.ActiveCfg = Release|Win32
-		{4B4F627E-C6DE-4614-9135-306D94F8755B}.Release.Build.0 = Release|Win32
-		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.Debug.ActiveCfg = x86-winnt
-		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.Debug.Build.0 = x86-winnt
-		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.Release.ActiveCfg = x86-winnt
-		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.Release.Build.0 = x86-winnt
-		{5149E89D-79D2-4FE7-B088-4987CF385D46}.Debug.ActiveCfg = Debug|Win32
-		{5149E89D-79D2-4FE7-B088-4987CF385D46}.Debug.Build.0 = Debug|Win32
-		{5149E89D-79D2-4FE7-B088-4987CF385D46}.Release.ActiveCfg = Release|Win32
-		{5149E89D-79D2-4FE7-B088-4987CF385D46}.Release.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 7.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_aspdotnet", "mod\mod_aspdotnet.vcproj", "{B86D2326-9565-4494-B609-3E770ED14607}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Apache.Web", "Apache.Web\Apache.Web.vcproj", "{4B4F627E-C6DE-4614-9135-306D94F8755B}"
+EndProject
+Project("{E729F059-12D4-455F-A2A4-FDA8DD25E08A}") = "installer", "installer.isv", "{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "resolve_apache", "msi_dll\resolve_apache.vcproj", "{5149E89D-79D2-4FE7-B088-4987CF385D46}"
+EndProject
+Global
+	GlobalSection(SolutionConfiguration) = preSolution
+		ConfigName.0 = Debug
+		ConfigName.1 = Release
+	EndGlobalSection
+	GlobalSection(ProjectDependencies) = postSolution
+		{B86D2326-9565-4494-B609-3E770ED14607}.0 = {4B4F627E-C6DE-4614-9135-306D94F8755B}
+		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.0 = {5149E89D-79D2-4FE7-B088-4987CF385D46}
+		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.1 = {B86D2326-9565-4494-B609-3E770ED14607}
+		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.2 = {4B4F627E-C6DE-4614-9135-306D94F8755B}
+	EndGlobalSection
+	GlobalSection(ProjectConfiguration) = postSolution
+		{B86D2326-9565-4494-B609-3E770ED14607}.Debug.ActiveCfg = Debug|Win32
+		{B86D2326-9565-4494-B609-3E770ED14607}.Debug.Build.0 = Debug|Win32
+		{B86D2326-9565-4494-B609-3E770ED14607}.Release.ActiveCfg = Release|Win32
+		{B86D2326-9565-4494-B609-3E770ED14607}.Release.Build.0 = Release|Win32
+		{4B4F627E-C6DE-4614-9135-306D94F8755B}.Debug.ActiveCfg = Debug|Win32
+		{4B4F627E-C6DE-4614-9135-306D94F8755B}.Debug.Build.0 = Debug|Win32
+		{4B4F627E-C6DE-4614-9135-306D94F8755B}.Release.ActiveCfg = Release|Win32
+		{4B4F627E-C6DE-4614-9135-306D94F8755B}.Release.Build.0 = Release|Win32
+		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.Debug.ActiveCfg = x86-winnt
+		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.Debug.Build.0 = x86-winnt
+		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.Release.ActiveCfg = x86-winnt
+		{D68E7F9F-9DF7-4C42-A8C0-D4E6BB129488}.Release.Build.0 = x86-winnt
+		{5149E89D-79D2-4FE7-B088-4987CF385D46}.Debug.ActiveCfg = Debug|Win32
+		{5149E89D-79D2-4FE7-B088-4987CF385D46}.Debug.Build.0 = Debug|Win32
+		{5149E89D-79D2-4FE7-B088-4987CF385D46}.Release.ActiveCfg = Release|Win32
+		{5149E89D-79D2-4FE7-B088-4987CF385D46}.Release.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+	EndGlobalSection
+	GlobalSection(ExtensibilityAddIns) = postSolution
+	EndGlobalSection
+EndGlobal

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/.cvsignore
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/.cvsignore	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/.cvsignore	Fri Jul 16 09:27:17 2004
@@ -1,9 +1,9 @@
-resolve_apache.dll
-resolve_apache.exp
-resolve_apache.ilk
-resolve_apache.lib
-resolve_apache.ncb
-resolve_apache.opt
-resolve_apache.pdb
-Debug
-Release
+resolve_apache.dll
+resolve_apache.exp
+resolve_apache.ilk
+resolve_apache.lib
+resolve_apache.ncb
+resolve_apache.opt
+resolve_apache.pdb
+Debug
+Release

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/quicksearch.c
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/quicksearch.c	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/quicksearch.c	Fri Jul 16 09:27:17 2004
@@ -1,98 +1,98 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-#define _WIN32_WINNT 0x0400
-#include <windows.h>
-#include "quicksearch.h"
-
-void volsearch(char *curpath, size_t pathlen, char *findfile, size_t findlen, 
-               int depth, filesearch *cb, void *arg)
-{
-    WIN32_FILE_ATTRIBUTE_DATA fi;
-    WIN32_FIND_DATA found;
-    HANDLE dh;
-
-    if (pathlen > 3) {
-        curpath[pathlen++] = '\\';
-    }
-
-    memcpy(curpath + pathlen, findfile, findlen + 1);
-
-    if (GetFileAttributesEx(curpath, GetFileExInfoStandard, &fi)) {
-        cb(curpath, pathlen, &fi, arg);
-    }
-
-    if (!depth) {
-        curpath[pathlen] = '\0';
-        return;
-    }
-
-    if (pathlen == 3) {
-        curpath[pathlen] = '*';
-        curpath[pathlen + 1] = '\0';
-    }
-    else {
-        curpath[pathlen] = '*';
-        curpath[pathlen + 1] = '\0';
-    }
-
-    dh = FindFirstFileEx(curpath, FindExInfoStandard, &found, 
-                         FindExSearchLimitToDirectories, NULL, 0);
-
-    while (dh != INVALID_HANDLE_VALUE) {
-        size_t namelen = strlen(found.cFileName);
-
-        if ((found.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
-            && ((found.cFileName[0] != '.')
-                || (found.cFileName[1] 
-                    && ((found.cFileName[1] != '.') || found.cFileName[2])))
-            && (pathlen + namelen + findlen + 1 <= MAX_PATH)) {
-
-            memcpy(curpath + pathlen, found.cFileName, namelen + 1);
-            volsearch(curpath, pathlen + namelen, findfile, findlen, depth - 1, cb, arg);
-        }
-
-        if (!FindNextFile(dh, &found)) {
-            FindClose(dh);
-            dh = INVALID_HANDLE_VALUE;
-        }
-    }
-
-    curpath[pathlen] = '\0';
-}
-
-
-void drsearch(char *findfile, int depth, filesearch *cb, void *arg)
-{
-    DWORD drives;
-    char search[MAX_PATH + 1];
-
-    search[0] = 'A';
-    search[1] = ':';
-    search[2] = '\\';
-
-    drives = GetLogicalDrives();
-    while (drives) {
-        if (drives & 1) {
-            search[3] = '\0';
-            if (GetDriveType(search) == DRIVE_FIXED) {
-                volsearch(search, 3, findfile, strlen(findfile), depth, cb, arg);
-            }
-        }
-        drives >>= 1;
-        ++search[0];
-    }
-}
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#define _WIN32_WINNT 0x0400
+#include <windows.h>
+#include "quicksearch.h"
+
+void volsearch(char *curpath, size_t pathlen, char *findfile, size_t findlen, 
+               int depth, filesearch *cb, void *arg)
+{
+    WIN32_FILE_ATTRIBUTE_DATA fi;
+    WIN32_FIND_DATA found;
+    HANDLE dh;
+
+    if (pathlen > 3) {
+        curpath[pathlen++] = '\\';
+    }
+
+    memcpy(curpath + pathlen, findfile, findlen + 1);
+
+    if (GetFileAttributesEx(curpath, GetFileExInfoStandard, &fi)) {
+        cb(curpath, pathlen, &fi, arg);
+    }
+
+    if (!depth) {
+        curpath[pathlen] = '\0';
+        return;
+    }
+
+    if (pathlen == 3) {
+        curpath[pathlen] = '*';
+        curpath[pathlen + 1] = '\0';
+    }
+    else {
+        curpath[pathlen] = '*';
+        curpath[pathlen + 1] = '\0';
+    }
+
+    dh = FindFirstFileEx(curpath, FindExInfoStandard, &found, 
+                         FindExSearchLimitToDirectories, NULL, 0);
+
+    while (dh != INVALID_HANDLE_VALUE) {
+        size_t namelen = strlen(found.cFileName);
+
+        if ((found.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+            && ((found.cFileName[0] != '.')
+                || (found.cFileName[1] 
+                    && ((found.cFileName[1] != '.') || found.cFileName[2])))
+            && (pathlen + namelen + findlen + 1 <= MAX_PATH)) {
+
+            memcpy(curpath + pathlen, found.cFileName, namelen + 1);
+            volsearch(curpath, pathlen + namelen, findfile, findlen, depth - 1, cb, arg);
+        }
+
+        if (!FindNextFile(dh, &found)) {
+            FindClose(dh);
+            dh = INVALID_HANDLE_VALUE;
+        }
+    }
+
+    curpath[pathlen] = '\0';
+}
+
+
+void drsearch(char *findfile, int depth, filesearch *cb, void *arg)
+{
+    DWORD drives;
+    char search[MAX_PATH + 1];
+
+    search[0] = 'A';
+    search[1] = ':';
+    search[2] = '\\';
+
+    drives = GetLogicalDrives();
+    while (drives) {
+        if (drives & 1) {
+            search[3] = '\0';
+            if (GetDriveType(search) == DRIVE_FIXED) {
+                volsearch(search, 3, findfile, strlen(findfile), depth, cb, arg);
+            }
+        }
+        drives >>= 1;
+        ++search[0];
+    }
+}

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/quicksearch.h
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/quicksearch.h	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/quicksearch.h	Fri Jul 16 09:27:17 2004
@@ -1,38 +1,38 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// quicksearch.h declarations
-
-
-// the user-implemented filesearch prototype, e.g.
-//
-// void cbfunc(char *path, size_t len, WIN32_FILE_ATTRIBUTE_DATA *fi, void *arg)
-// {
-//     printf("FOUND %s\n", path);
-// }
-//
-typedef void (filesearch)(char *path, size_t len, WIN32_FILE_ATTRIBUTE_DATA *fi, void *arg);
-
-// quicksearch exposes the drsearch mechanism to quickly identify
-// and return all occurances of {findfile} within the user's fixed drives.
-// 
-// All occurances are passed back to the filesearch callback, which can
-// identify the full path, the length of the 'root' path (including the
-// trailing backslash) and a user defined optional argument.  e.g.
-//
-//    drsearch("apache\\bin\\apache.exe", 3, cbfunc, NULL);
-//
-void drsearch(char *findfile, int depth, filesearch *cb, void *arg);
-
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// quicksearch.h declarations
+
+
+// the user-implemented filesearch prototype, e.g.
+//
+// void cbfunc(char *path, size_t len, WIN32_FILE_ATTRIBUTE_DATA *fi, void *arg)
+// {
+//     printf("FOUND %s\n", path);
+// }
+//
+typedef void (filesearch)(char *path, size_t len, WIN32_FILE_ATTRIBUTE_DATA *fi, void *arg);
+
+// quicksearch exposes the drsearch mechanism to quickly identify
+// and return all occurances of {findfile} within the user's fixed drives.
+// 
+// All occurances are passed back to the filesearch callback, which can
+// identify the full path, the length of the 'root' path (including the
+// trailing backslash) and a user defined optional argument.  e.g.
+//
+//    drsearch("apache\\bin\\apache.exe", 3, cbfunc, NULL);
+//
+void drsearch(char *findfile, int depth, filesearch *cb, void *arg);
+

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/resolve_apache.c
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/resolve_apache.c	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/resolve_apache.c	Fri Jul 16 09:27:17 2004
@@ -1,175 +1,175 @@
-/* Copyright 2002-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// MSI custom action dll to locate Apache 2.0 installations
-
-
-#define WINDOWS_LEAN_AND_MEAN
-#include <windows.h>
-#include <stdio.h>
-#include <tchar.h>
-#include <ctype.h>
-#include "MsiQuery.h"
-#include "quicksearch.h"
-
-struct cbResolverArg {
-    MSIHANDLE hInstall;
-    MSIHANDLE hDB;
-    MSIHANDLE hView;
-    char     *combo;
-    char     *prop;
-    int       index;
-};
-
-void cbResolver(char *path, size_t len, WIN32_FILE_ATTRIBUTE_DATA *fi, void *arg)
-{
-    struct cbResolverArg *wrk = arg;
-
-    MSIHANDLE rec = MsiCreateRecord(4);
-    if (!rec) {
-        return;
-    }
-
-    // this is safe, everything after path[len-1] is ours to play with.
-    path[len] = '\0';
-
-    if (!wrk->index) {
-        // First Hit?  We need to set up the property, too!
-        MsiSetProperty(wrk->hInstall, "_BadPath", "0");
-        MsiSetProperty(wrk->hInstall, wrk->combo, path);
-        MsiSetTargetPath(wrk->hInstall, "INSTALLDIR", path);
-    }
-
-    // Modify the ComboBox Control
-    MsiRecordSetString (rec, 1, wrk->combo);
-    MsiRecordSetInteger(rec, 2, ++wrk->index);
-    MsiRecordSetString (rec, 3, path);
-    MsiRecordSetString (rec, 4, NULL);
-
-    if (MsiViewModify(wrk->hView, MSIMODIFY_INSERT_TEMPORARY, rec) == ERROR_SUCCESS) {
-        MsiViewExecute(wrk->hView, rec);
-    }
-
-    MsiCloseHandle(rec);
-}
-
-UINT __declspec(dllexport) __stdcall ResolveApacheInstances(MSIHANDLE hInstall) 
-{
-    UINT res;
-    struct cbResolverArg wrk;
-
-    wrk.index = 0;
-    wrk.combo = "INSTALLDIR";
-    wrk.hInstall = hInstall;
-    wrk.hDB = MsiGetActiveDatabase(wrk.hInstall);
-
-    if (!wrk.hDB) {
-        return ERROR_SUCCESS;
-    }
-
-    MsiSetProperty(hInstall, "_BadPath", "1");
-
-    res = MsiDatabaseOpenView(wrk.hDB, "SELECT * FROM ComboBox", &wrk.hView);
-    if (res != ERROR_SUCCESS) {
-        MsiCloseHandle(wrk.hDB);
-        return res;
-    }
-
-    drsearch("bin\\apache.exe", 3, cbResolver, &wrk);
-
-    MsiCloseHandle(wrk.hView);
-    MsiCloseHandle(wrk.hDB);
-    return ERROR_SUCCESS;
-}
-
-UINT tryAddPath(MSIHANDLE hInstall, char *str, int len, WIN32_FILE_ATTRIBUTE_DATA *fi)
-{
-    char query[1024];
-    struct cbResolverArg wrk;
-    MSIHANDLE rec = 0;
-    UINT res;
-    
-    wrk.index = 0;
-    wrk.combo = "INSTALLDIR";
-    wrk.hInstall = hInstall;
-    wrk.hDB = MsiGetActiveDatabase(wrk.hInstall);
-
-    str[len] = '\0';
-
-    if (!wrk.hDB) {
-        return ERROR_SUCCESS;
-    }
-
-    MsiSetProperty(hInstall, "_BadPath", "1");
-
-    sprintf(query, "SELECT * FROM ComboBox WHERE Property = \"%s\" AND Value = \"%s\"",
-            wrk.combo, str);
-    res = MsiDatabaseOpenView(wrk.hDB, query, &wrk.hView);
-    if (res != ERROR_SUCCESS) {
-        MsiCloseHandle(wrk.hDB);
-        return res;
-    }
-
-    res = MsiViewFetch(wrk.hView, &rec);
-    if (res == ERROR_SUCCESS) {
-        if (rec) {
-            MsiCloseHandle(rec);
-        }
-    }
-    else if (res == ERROR_NO_MORE_ITEMS) {
-        // Actually insert the record, if not found.
-        cbResolver(str, len, fi, &wrk);
-    }
-
-    MsiCloseHandle(wrk.hView);
-    MsiCloseHandle(wrk.hDB);
-    return ERROR_SUCCESS;
-}
-
-UINT __declspec(dllexport) __stdcall VerifyApachePath(MSIHANDLE hInstall) 
-{
-    char chkfile[] = "bin\\apache.exe";
-    WIN32_FILE_ATTRIBUTE_DATA fi;
-    DWORD len = MAX_PATH;
-    char str[MAX_PATH + 1];
-
-    if ((MsiGetProperty(hInstall, "INSTALLDIR", str, &len) != ERROR_SUCCESS)
-            || (len + sizeof(chkfile) > MAX_PATH)) {
-        MsiSetProperty(hInstall, "_BadPath", "1");
-        return ERROR_SUCCESS;
-    }
-
-    len = strlen(str);
-
-    if (str[len - 1] != '\\') {
-        str[len++] = '\\';
-        str[len] = '\0';
-        MsiSetProperty(hInstall, "INSTALLDIR", str);
-    }
-
-    strcpy(str + len, chkfile);
-    if (!GetFileAttributesEx(str, GetFileExInfoStandard, &fi)) {
-        MsiSetProperty(hInstall, "_BadPath", "1");
-        return ERROR_SUCCESS;
-    }
-    str[len] = '\0';
-
-    MsiSetTargetPath(hInstall, "INSTALLDIR", str);
-
-    tryAddPath(hInstall, str, len, &fi);
-
-    MsiSetProperty(hInstall, "_BadPath", "0");
-    return ERROR_SUCCESS;
-}
+/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// MSI custom action dll to locate Apache 2.0 installations
+
+
+#define WINDOWS_LEAN_AND_MEAN
+#include <windows.h>
+#include <stdio.h>
+#include <tchar.h>
+#include <ctype.h>
+#include "MsiQuery.h"
+#include "quicksearch.h"
+
+struct cbResolverArg {
+    MSIHANDLE hInstall;
+    MSIHANDLE hDB;
+    MSIHANDLE hView;
+    char     *combo;
+    char     *prop;
+    int       index;
+};
+
+void cbResolver(char *path, size_t len, WIN32_FILE_ATTRIBUTE_DATA *fi, void *arg)
+{
+    struct cbResolverArg *wrk = arg;
+
+    MSIHANDLE rec = MsiCreateRecord(4);
+    if (!rec) {
+        return;
+    }
+
+    // this is safe, everything after path[len-1] is ours to play with.
+    path[len] = '\0';
+
+    if (!wrk->index) {
+        // First Hit?  We need to set up the property, too!
+        MsiSetProperty(wrk->hInstall, "_BadPath", "0");
+        MsiSetProperty(wrk->hInstall, wrk->combo, path);
+        MsiSetTargetPath(wrk->hInstall, "INSTALLDIR", path);
+    }
+
+    // Modify the ComboBox Control
+    MsiRecordSetString (rec, 1, wrk->combo);
+    MsiRecordSetInteger(rec, 2, ++wrk->index);
+    MsiRecordSetString (rec, 3, path);
+    MsiRecordSetString (rec, 4, NULL);
+
+    if (MsiViewModify(wrk->hView, MSIMODIFY_INSERT_TEMPORARY, rec) == ERROR_SUCCESS) {
+        MsiViewExecute(wrk->hView, rec);
+    }
+
+    MsiCloseHandle(rec);
+}
+
+UINT __declspec(dllexport) __stdcall ResolveApacheInstances(MSIHANDLE hInstall) 
+{
+    UINT res;
+    struct cbResolverArg wrk;
+
+    wrk.index = 0;
+    wrk.combo = "INSTALLDIR";
+    wrk.hInstall = hInstall;
+    wrk.hDB = MsiGetActiveDatabase(wrk.hInstall);
+
+    if (!wrk.hDB) {
+        return ERROR_SUCCESS;
+    }
+
+    MsiSetProperty(hInstall, "_BadPath", "1");
+
+    res = MsiDatabaseOpenView(wrk.hDB, "SELECT * FROM ComboBox", &wrk.hView);
+    if (res != ERROR_SUCCESS) {
+        MsiCloseHandle(wrk.hDB);
+        return res;
+    }
+
+    drsearch("bin\\apache.exe", 3, cbResolver, &wrk);
+
+    MsiCloseHandle(wrk.hView);
+    MsiCloseHandle(wrk.hDB);
+    return ERROR_SUCCESS;
+}
+
+UINT tryAddPath(MSIHANDLE hInstall, char *str, int len, WIN32_FILE_ATTRIBUTE_DATA *fi)
+{
+    char query[1024];
+    struct cbResolverArg wrk;
+    MSIHANDLE rec = 0;
+    UINT res;
+    
+    wrk.index = 0;
+    wrk.combo = "INSTALLDIR";
+    wrk.hInstall = hInstall;
+    wrk.hDB = MsiGetActiveDatabase(wrk.hInstall);
+
+    str[len] = '\0';
+
+    if (!wrk.hDB) {
+        return ERROR_SUCCESS;
+    }
+
+    MsiSetProperty(hInstall, "_BadPath", "1");
+
+    sprintf(query, "SELECT * FROM ComboBox WHERE Property = \"%s\" AND Value = \"%s\"",
+            wrk.combo, str);
+    res = MsiDatabaseOpenView(wrk.hDB, query, &wrk.hView);
+    if (res != ERROR_SUCCESS) {
+        MsiCloseHandle(wrk.hDB);
+        return res;
+    }
+
+    res = MsiViewFetch(wrk.hView, &rec);
+    if (res == ERROR_SUCCESS) {
+        if (rec) {
+            MsiCloseHandle(rec);
+        }
+    }
+    else if (res == ERROR_NO_MORE_ITEMS) {
+        // Actually insert the record, if not found.
+        cbResolver(str, len, fi, &wrk);
+    }
+
+    MsiCloseHandle(wrk.hView);
+    MsiCloseHandle(wrk.hDB);
+    return ERROR_SUCCESS;
+}
+
+UINT __declspec(dllexport) __stdcall VerifyApachePath(MSIHANDLE hInstall) 
+{
+    char chkfile[] = "bin\\apache.exe";
+    WIN32_FILE_ATTRIBUTE_DATA fi;
+    DWORD len = MAX_PATH;
+    char str[MAX_PATH + 1];
+
+    if ((MsiGetProperty(hInstall, "INSTALLDIR", str, &len) != ERROR_SUCCESS)
+            || (len + sizeof(chkfile) > MAX_PATH)) {
+        MsiSetProperty(hInstall, "_BadPath", "1");
+        return ERROR_SUCCESS;
+    }
+
+    len = strlen(str);
+
+    if (str[len - 1] != '\\') {
+        str[len++] = '\\';
+        str[len] = '\0';
+        MsiSetProperty(hInstall, "INSTALLDIR", str);
+    }
+
+    strcpy(str + len, chkfile);
+    if (!GetFileAttributesEx(str, GetFileExInfoStandard, &fi)) {
+        MsiSetProperty(hInstall, "_BadPath", "1");
+        return ERROR_SUCCESS;
+    }
+    str[len] = '\0';
+
+    MsiSetTargetPath(hInstall, "INSTALLDIR", str);
+
+    tryAddPath(hInstall, str, len, &fi);
+
+    MsiSetProperty(hInstall, "_BadPath", "0");
+    return ERROR_SUCCESS;
+}

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/resolve_apache.vcproj
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/resolve_apache.vcproj	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/msi_dll/resolve_apache.vcproj	Fri Jul 16 09:27:17 2004
@@ -1,133 +1,133 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.00"
-	Name="resolve_apache"
-	ProjectGUID="{5149E89D-79D2-4FE7-B088-4987CF385D46}"
-	SccProjectName=""
-	SccLocalPath="">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="."
-			IntermediateDirectory=".\Release"
-			ConfigurationType="2"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
-				StringPooling="TRUE"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="TRUE"
-				PrecompiledHeaderFile=".\Release/resolve_apache.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName="Release\resolve_apache"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="msi.lib wsock32.lib"
-				OutputFile="./resolve_apache.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				ProgramDatabaseFile="./resolve_apache.pdb"
-				SubSystem="2"
-				ImportLibrary="./resolve_apache.lib"/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName="./resolve_apache.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="."
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="2"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/resolve_apache.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName="Debug\resolve_apache"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="msi.lib wsock32.lib"
-				OutputFile="./resolve_apache.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="./resolve_apache.pdb"
-				SubSystem="2"
-				ImportLibrary="./resolve_apache.lib"/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName="./resolve_apache.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-	</Configurations>
-	<Files>
-		<File
-			RelativePath=".\quicksearch.c">
-		</File>
-		<File
-			RelativePath=".\resolve_apache.c">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding = "Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="7.00"
+	Name="resolve_apache"
+	ProjectGUID="{5149E89D-79D2-4FE7-B088-4987CF385D46}"
+	SccProjectName=""
+	SccLocalPath="">
+	<Platforms>
+		<Platform
+			Name="Win32"/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="."
+			IntermediateDirectory=".\Release"
+			ConfigurationType="2"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="FALSE">
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="1"
+				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+				StringPooling="TRUE"
+				RuntimeLibrary="0"
+				EnableFunctionLevelLinking="TRUE"
+				PrecompiledHeaderFile=".\Release/resolve_apache.pch"
+				AssemblerListingLocation=".\Release/"
+				ObjectFile=".\Release/"
+				ProgramDataBaseFileName="Release\resolve_apache"
+				WarningLevel="3"
+				SuppressStartupBanner="TRUE"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalOptions="/MACHINE:I386"
+				AdditionalDependencies="msi.lib wsock32.lib"
+				OutputFile="./resolve_apache.dll"
+				LinkIncremental="1"
+				SuppressStartupBanner="TRUE"
+				ProgramDatabaseFile="./resolve_apache.pdb"
+				SubSystem="2"
+				ImportLibrary="./resolve_apache.lib"/>
+			<Tool
+				Name="VCMIDLTool"
+				PreprocessorDefinitions="NDEBUG"
+				MkTypLibCompatible="TRUE"
+				SuppressStartupBanner="TRUE"
+				TargetEnvironment="1"
+				TypeLibraryName="./resolve_apache.tlb"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="NDEBUG"
+				Culture="1033"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+		</Configuration>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="."
+			IntermediateDirectory=".\Debug"
+			ConfigurationType="2"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="FALSE">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+				RuntimeLibrary="1"
+				PrecompiledHeaderFile=".\Debug/resolve_apache.pch"
+				AssemblerListingLocation=".\Debug/"
+				ObjectFile=".\Debug/"
+				ProgramDataBaseFileName="Debug\resolve_apache"
+				WarningLevel="3"
+				SuppressStartupBanner="TRUE"
+				DebugInformationFormat="3"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalOptions="/MACHINE:I386"
+				AdditionalDependencies="msi.lib wsock32.lib"
+				OutputFile="./resolve_apache.dll"
+				LinkIncremental="2"
+				SuppressStartupBanner="TRUE"
+				GenerateDebugInformation="TRUE"
+				ProgramDatabaseFile="./resolve_apache.pdb"
+				SubSystem="2"
+				ImportLibrary="./resolve_apache.lib"/>
+			<Tool
+				Name="VCMIDLTool"
+				PreprocessorDefinitions="_DEBUG"
+				MkTypLibCompatible="TRUE"
+				SuppressStartupBanner="TRUE"
+				TargetEnvironment="1"
+				TypeLibraryName="./resolve_apache.tlb"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1033"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+		</Configuration>
+	</Configurations>
+	<Files>
+		<File
+			RelativePath=".\quicksearch.c">
+		</File>
+		<File
+			RelativePath=".\resolve_apache.c">
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Modified: incubator/httpd/cli/trunk/mod_aspdotnet/release.bat
==============================================================================
--- incubator/httpd/cli/trunk/mod_aspdotnet/release.bat	(original)
+++ incubator/httpd/cli/trunk/mod_aspdotnet/release.bat	Fri Jul 16 09:27:17 2004
@@ -1,2 +1,2 @@
-regasm /nologo "Release\Apache.Web.dll" 
+regasm /nologo "Release\Apache.Web.dll" 
 gacutil /ir "Release\Apache.Web.dll" FILEPATH "Release\Apache.Web.dll" Apache.Web