OSDN Git Service

Add Clone Dlg
authorFrank Li <lznuaa@gmail.com>
Wed, 3 Dec 2008 13:53:49 +0000 (21:53 +0800)
committerFrank Li <lznuaa@gmail.com>
Wed, 3 Dec 2008 13:53:49 +0000 (21:53 +0800)
58 files changed:
src/Git/Git.vcproj
src/Resources/TortoiseProcENG.rc
src/TortoiseGitSetup/CustomActions/CustomActions.cpp [new file with mode: 0644]
src/TortoiseGitSetup/CustomActions/CustomActions.def [new file with mode: 0644]
src/TortoiseGitSetup/CustomActions/CustomActions.vcproj [new file with mode: 0644]
src/TortoiseGitSetup/CustomActions/CustomActions.vcproj.FSL.B20596.user [new file with mode: 0644]
src/TortoiseGitSetup/CustomActions/stdafx.cpp [new file with mode: 0644]
src/TortoiseGitSetup/CustomActions/stdafx.h [new file with mode: 0644]
src/TortoiseGitSetup/FeaturesFragment.wxs [new file with mode: 0644]
src/TortoiseGitSetup/Includes.wxi [new file with mode: 0644]
src/TortoiseGitSetup/License.rtf [new file with mode: 0644]
src/TortoiseGitSetup/StructureFragment.wxs [new file with mode: 0644]
src/TortoiseGitSetup/SubWCRev.wxs [new file with mode: 0644]
src/TortoiseGitSetup/TortoiseSVN.wxs [new file with mode: 0644]
src/TortoiseGitSetup/UIFragment.wxs [new file with mode: 0644]
src/TortoiseGitSetup/WiXSetup.wixproj [new file with mode: 0644]
src/TortoiseGitSetup/WixUI_Simplest.wxs [new file with mode: 0644]
src/TortoiseGitSetup/include/Banner.jpg [new file with mode: 0644]
src/TortoiseGitSetup/include/Bannerstatic.jpg [new file with mode: 0644]
src/TortoiseGitSetup/include/Complete.ico [new file with mode: 0644]
src/TortoiseGitSetup/include/Custom.ico [new file with mode: 0644]
src/TortoiseGitSetup/include/CyrusSASL_License.txt [new file with mode: 0644]
src/TortoiseGitSetup/include/Dialog.jpg [new file with mode: 0644]
src/TortoiseGitSetup/include/Dialogstatic.jpg [new file with mode: 0644]
src/TortoiseGitSetup/include/Exclam.ico [new file with mode: 0644]
src/TortoiseGitSetup/include/Info.ico [new file with mode: 0644]
src/TortoiseGitSetup/include/New.ico [new file with mode: 0644]
src/TortoiseGitSetup/include/NewFldrBtn.bmp [new file with mode: 0644]
src/TortoiseGitSetup/include/OpenSSL_License.txt [new file with mode: 0644]
src/TortoiseGitSetup/include/Remove.ico [new file with mode: 0644]
src/TortoiseGitSetup/include/Repair.ico [new file with mode: 0644]
src/TortoiseGitSetup/include/TSVN_eula.rtf [new file with mode: 0644]
src/TortoiseGitSetup/include/Typical.ico [new file with mode: 0644]
src/TortoiseGitSetup/include/Up.ico [new file with mode: 0644]
src/TortoiseGitSetup/include/UpFldrBtn.bmp [new file with mode: 0644]
src/TortoiseGitSetup/include/Website.url [new file with mode: 0644]
src/TortoiseGitSetup/include/autolist.txt [new file with mode: 0644]
src/TortoiseGitSetup/include/readme.txt [new file with mode: 0644]
src/TortoiseGitSetup/include/tortoisesvn_logo.jpg [new file with mode: 0644]
src/TortoiseGitSetup/setup.build [new file with mode: 0644]
src/TortoiseGitSetup/staticsetup.build [new file with mode: 0644]
src/TortoiseProc/CloneDlg.cpp [new file with mode: 0644]
src/TortoiseProc/CloneDlg.h [new file with mode: 0644]
src/TortoiseProc/Commands/CloneCommand.cpp [new file with mode: 0644]
src/TortoiseProc/Commands/CloneCommand.h [new file with mode: 0644]
src/TortoiseProc/Commands/Command.cpp
src/TortoiseProc/Commands/Command.h
src/TortoiseProc/Commands/CreateRepositoryCommand.h
src/TortoiseProc/TortoiseProc.cpp
src/TortoiseProc/TortoiseProc.vcproj
src/TortoiseProc/TortoiseProc.vcproj.FSL.B20596.user
src/TortoiseProc/resource.h
src/TortoiseProc/stdafx.h
src/TortoiseShell/ContextMenu.cpp
src/TortoiseShell/TortoiseShell.vcproj
src/TortoiseUDiff/TortoiseUDiff.vcproj
src/Utils/Utils.vcproj
src/version.h [moved from version.h with 100% similarity]

index 8d98ff0..1c9dbe5 100644 (file)
@@ -18,8 +18,8 @@
        <Configurations>\r
                <Configuration\r
                        Name="Debug|Win32"\r
-                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
-                       IntermediateDirectory="$(ConfigurationName)"\r
+                       OutputDirectory="..\..\bin\$(ConfigurationName)"\r
+                       IntermediateDirectory="..\..\obj\git\$(ConfigurationName)"\r
                        ConfigurationType="4"\r
                        UseOfMFC="2"\r
                        UseOfATL="1"\r
index aa9ee11..802e607 100644 (file)
Binary files a/src/Resources/TortoiseProcENG.rc and b/src/Resources/TortoiseProcENG.rc differ
diff --git a/src/TortoiseGitSetup/CustomActions/CustomActions.cpp b/src/TortoiseGitSetup/CustomActions/CustomActions.cpp
new file mode 100644 (file)
index 0000000..d6a1b19
--- /dev/null
@@ -0,0 +1,80 @@
+// TortoiseSVN - a Windows shell extension for easy version control\r
+\r
+// Copyright (C) 2003-2008 - TortoiseSVN\r
+\r
+// This program is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU General Public License\r
+// as published by the Free Software Foundation; either version 2\r
+// of the License, or (at your option) any later version.\r
+\r
+// This program is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+// GNU General Public License for more details.\r
+\r
+// You should have received a copy of the GNU General Public License\r
+// along with this program; if not, write to the Free Software Foundation,\r
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
+//\r
+\r
+\r
+/* BIG FAT WARNING: Do not use any functions which require the C-Runtime library\r
+   in this custom action dll! The runtimes might not be installed yet!\r
+*/\r
+\r
+#include "stdafx.h"\r
+#include "shlwapi.h"\r
+#include "shellapi.h"\r
+#pragma comment(lib, "shlwapi")\r
+#pragma comment(lib, "shell32")\r
+\r
+#ifdef WIN64\r
+#define TSVN_CACHE_WINDOW_NAME _T("TSVNCacheWindow64")\r
+#else\r
+#define TSVN_CACHE_WINDOW_NAME _T("TSVNCacheWindow")\r
+#endif\r
+\r
+\r
+BOOL APIENTRY DllMain( HANDLE hModule, \r
+                       DWORD  ul_reason_for_call, \r
+                       LPVOID lpReserved\r
+                                        )\r
+{\r
+    return TRUE;\r
+}\r
+\r
+UINT __stdcall TerminateCache(MSIHANDLE hModule)\r
+{\r
+       HWND hWnd = FindWindow(TSVN_CACHE_WINDOW_NAME, TSVN_CACHE_WINDOW_NAME);\r
+       if (hWnd)\r
+       {\r
+               PostMessage(hWnd, WM_CLOSE, NULL, NULL);\r
+               for (int i=0; i<10; ++i)\r
+               {\r
+                       Sleep(500);\r
+                       if (!IsWindow(hWnd))\r
+                       {\r
+                               // Cache is gone!\r
+                               return ERROR_SUCCESS;\r
+                       }\r
+               }\r
+               // Don't return ERROR_FUNCTION_FAILED, because even if the cache is still\r
+               // running, the installer will overwrite the file, and we require a\r
+               // reboot anyway after upgrading.\r
+               return ERROR_SUCCESS;\r
+       }\r
+       // cache wasn't even running\r
+       return ERROR_SUCCESS;\r
+}\r
+\r
+UINT __stdcall OpenDonatePage(MSIHANDLE hModule)\r
+{\r
+       ShellExecute(NULL, _T("open"), _T("http://tortoisesvn.tigris.org/donate.html"), NULL,NULL, SW_SHOW);\r
+       return ERROR_SUCCESS;\r
+}\r
+\r
+UINT __stdcall MsgBox(MSIHANDLE hModule)\r
+{\r
+       MessageBox(NULL, _T("CustomAction \"MsgBox\" running"), _T("Installer"), MB_ICONINFORMATION);\r
+       return ERROR_SUCCESS;\r
+}\r
diff --git a/src/TortoiseGitSetup/CustomActions/CustomActions.def b/src/TortoiseGitSetup/CustomActions/CustomActions.def
new file mode 100644 (file)
index 0000000..42f7996
--- /dev/null
@@ -0,0 +1,9 @@
+; CustomActions.def\r
+;\r
+; defines the exported functions which will be available to the MSI engine\r
+;\r
+LIBRARY    "CustomActions"\r
+EXPORTS\r
+    TerminateCache\r
+    OpenDonatePage\r
+       MsgBox\r
diff --git a/src/TortoiseGitSetup/CustomActions/CustomActions.vcproj b/src/TortoiseGitSetup/CustomActions/CustomActions.vcproj
new file mode 100644 (file)
index 0000000..0c5de80
--- /dev/null
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="9.00"\r
+       Name="CustomActions"\r
+       ProjectGUID="{454D5FCC-E25A-4B45-9CA2-01ABB0FA5181}"\r
+       RootNamespace="CustomActions"\r
+       Keyword="Win32Proj"\r
+       TargetFrameworkVersion="131072"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+               <Platform\r
+                       Name="x64"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="..\..\..\bin\Release\bin"\r
+                       IntermediateDirectory="..\..\..\obj\CustomActions\Release"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONS_EXPORTS"\r
+                               RuntimeLibrary="0"\r
+                               UsePrecompiledHeader="2"\r
+                               WarningLevel="3"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               OutputFile="$(OutDir)/CustomActions.dll"\r
+                               LinkIncremental="1"\r
+                               ModuleDefinitionFile="CustomActions.def"\r
+                               GenerateDebugInformation="true"\r
+                               SubSystem="2"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               RandomizedBaseAddress="1"\r
+                               DataExecutionPrevention="0"\r
+                               ImportLibrary="$(OutDir)/CustomActions.lib"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|x64"\r
+                       OutputDirectory="..\..\..\bin\Release64\bin"\r
+                       IntermediateDirectory="..\..\..\obj\CustomActions\Release64"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                               TargetEnvironment="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONS_EXPORTS"\r
+                               RuntimeLibrary="0"\r
+                               UsePrecompiledHeader="2"\r
+                               WarningLevel="3"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               OutputFile="$(OutDir)/CustomActions.dll"\r
+                               LinkIncremental="1"\r
+                               ModuleDefinitionFile="CustomActions.def"\r
+                               GenerateDebugInformation="true"\r
+                               SubSystem="2"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               RandomizedBaseAddress="1"\r
+                               DataExecutionPrevention="0"\r
+                               ImportLibrary="$(OutDir)/CustomActions.lib"\r
+                               TargetMachine="17"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\CustomActions.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\CustomActions.def"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\stdafx.cpp"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|x64"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Header Files"\r
+                       Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
+                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\stdafx.h"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Resource Files"\r
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"\r
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+                       >\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
diff --git a/src/TortoiseGitSetup/CustomActions/CustomActions.vcproj.FSL.B20596.user b/src/TortoiseGitSetup/CustomActions/CustomActions.vcproj.FSL.B20596.user
new file mode 100644 (file)
index 0000000..55dd3ea
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioUserFile\r
+       ProjectType="Visual C++"\r
+       Version="9.00"\r
+       ShowAllFiles="false"\r
+       >\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       >\r
+                       <DebugSettings\r
+                               Command=""\r
+                               WorkingDirectory=""\r
+                               CommandArguments=""\r
+                               Attach="false"\r
+                               DebuggerType="3"\r
+                               Remote="1"\r
+                               RemoteMachine="B20596-01"\r
+                               RemoteCommand=""\r
+                               HttpUrl=""\r
+                               PDBPath=""\r
+                               SQLDebugging=""\r
+                               Environment=""\r
+                               EnvironmentMerge="true"\r
+                               DebuggerFlavor=""\r
+                               MPIRunCommand=""\r
+                               MPIRunArguments=""\r
+                               MPIRunWorkingDirectory=""\r
+                               ApplicationCommand=""\r
+                               ApplicationArguments=""\r
+                               ShimCommand=""\r
+                               MPIAcceptMode=""\r
+                               MPIAcceptFilter=""\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+</VisualStudioUserFile>\r
diff --git a/src/TortoiseGitSetup/CustomActions/stdafx.cpp b/src/TortoiseGitSetup/CustomActions/stdafx.cpp
new file mode 100644 (file)
index 0000000..026ae03
--- /dev/null
@@ -0,0 +1,5 @@
+// stdafx.cpp : source file that includes just the standard includes\r
+// CustomActions.pch will be the pre-compiled header\r
+// stdafx.obj will contain the pre-compiled type information\r
+\r
+#include "stdafx.h"\r
diff --git a/src/TortoiseGitSetup/CustomActions/stdafx.h b/src/TortoiseGitSetup/CustomActions/stdafx.h
new file mode 100644 (file)
index 0000000..7698722
--- /dev/null
@@ -0,0 +1,15 @@
+// stdafx.h : include file for standard system include files,\r
+// or project specific include files that are used frequently, but\r
+// are changed infrequently\r
+//\r
+\r
+#pragma once\r
+\r
+#define WIN32_LEAN_AND_MEAN            // Exclude rarely-used stuff from Windows headers\r
+// Windows Header Files:\r
+#include <windows.h>\r
+#include <tchar.h>\r
+\r
+#include   <msi.h>\r
+#include   <msiquery.h>\r
+#include   <stdio.h>\r
diff --git a/src/TortoiseGitSetup/FeaturesFragment.wxs b/src/TortoiseGitSetup/FeaturesFragment.wxs
new file mode 100644 (file)
index 0000000..b8d68d8
--- /dev/null
@@ -0,0 +1,84 @@
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">\r
+       <?include Includes.wxi?>\r
+       <Fragment Id="FeaturesFragment">\r
+               <Feature Id="DefaultFeature" Level="1" ConfigurableDirectory="INSTALLDIR" Title="TortoiseSVN" Absent="disallow"\r
+               TypicalDefault="install" Description="The TortoiseSVN package and dependencies." Display="expand" InstallDefault="local" >\r
+                       <ComponentRef Id="C__infofiles" />\r
+                       <ComponentRef Id="C__apr" />\r
+                       <ComponentRef Id="C__sasl" />\r
+                       <ComponentRef Id="C__gettext" />\r
+                       <ComponentRef Id="C__help_en" />\r
+                       <ComponentRef Id="C__TortoiseSVN" />\r
+                       <ComponentRef Id="C__TortoiseSVNShortcuts" />\r
+                       <ComponentRef Id="C__TortoiseMerge" />\r
+                       <ComponentRef Id="C__TortoiseMergeShortcuts" />\r
+                       <ComponentRef Id="C__TortoiseBlame" />\r
+                       <ComponentRef Id="C__TortoiseIDiff" />\r
+                       <ComponentRef Id="C__TortoiseIDiffShortcuts" />\r
+                       <ComponentRef Id="C__TortoiseUDiff" />\r
+                       <ComponentRef Id="C__PlainSettingsShortcuts" />\r
+                       <ComponentRef Id="C__PlatformSettingsShortcuts" />\r
+                       <ComponentRef Id="C__shellregistry" />\r
+                       <ComponentRef Id="C__machineregistry" />\r
+                       <ComponentRef Id="C__svnprotocoll" />\r
+                       <ComponentRef Id="C__approveshellcomponents" />\r
+                       <ComponentRef Id="C__ProgramMenuFolder" />\r
+                       <ComponentRef Id="C__Sounds" />\r
+                       <ComponentRef Id="C__DiffScripts" />\r
+\r
+                       <Feature Id="F_CRT" Level="1" Title="C-Runtime" Description="The Visual-C Runtime libs" TypicalDefault="install" Display="hidden" >\r
+                               <MergeRef Id="CRT" />\r
+                               <MergeRef Id="CRT Policy" />\r
+                       </Feature>\r
+                       <Feature Id="F_MFC" Level="1" Title="MFC 8.0" Description="The MFC 8.0 libs" TypicalDefault="install" Display="hidden" >\r
+                               <MergeRef Id="MFC" />\r
+                               <MergeRef Id="MFC Policy" />\r
+                               <MergeRef Id="MFCLOC" />\r
+                               <MergeRef Id="MFCLOC Policy" />\r
+                       </Feature>\r
+                       <Feature Id="F_OVL" Level="1" Title="Tortoise Overlay handler" Description="The overlay handler for all Tortoise clients" TypicalDefault="install" Display="hidden" >\r
+                               <MergeRef Id="Ovlays" />\r
+                       </Feature>\r
+\r
+                       <Feature Id="MoreIcons" Level="1" Title="Additional icon sets" Description="Additional sets of icon overlays in different styles" TypicalDefault="install" Absent="allow">\r
+                               <ComponentRef Id="C__iconscvsclassic" />\r
+                               <ComponentRef Id="C__iconsmodern" />\r
+                               <ComponentRef Id="C__iconsmarkphippard" />\r
+                               <ComponentRef Id="C__iconsstraight" />\r
+                       </Feature>\r
+\r
+                       <Feature Id="UDiffAssoc" Level="1" Title="Register diff/patch files" Description="Associate .diff and .patch files with TortoiseUDiff" TypicalDefault="install" Absent="allow">\r
+                               <ComponentRef Id="C__TortoiseUDiffAssoc" />\r
+                       </Feature>\r
+\r
+                       <?if $(var.DictionaryENGB) = 1 ?>\r
+                       <Feature Id="DictionaryENGB" Level="1" Title="English (GB) dictionary" Description="English (GB) spell checker dictionary" TypicalDefault="install" Absent="allow">\r
+                               <ComponentRef Id="C__DictionaryENGB" />\r
+                       </Feature>\r
+                       <?endif ?>\r
+\r
+                       <?if $(var.DictionaryENUS) = 1 ?>\r
+                       <Feature Id="DictionaryENUS" Level="1" Title="English (US) dictionary" Description="English (US) spell checker dictionary" TypicalDefault="install" Absent="allow">\r
+                               <ComponentRef Id="C__DictionaryENUS" />\r
+                       </Feature>\r
+                       <?endif ?>\r
+\r
+                       <Feature Id="ASPDOTNETHACKFEATURE" Level="1" Title="ASP.NET Hack"\r
+                       Description="Sets the SVN_ASP_DOT_NET_HACK environment variable.\r
+\r
+DO NOT INSTALL THIS FEATURE if you don't use VS.NET with Web Projects!!!"\r
+                       TypicalDefault="install" Absent="allow" Display="hidden" InstallDefault="source" >\r
+                               <Condition Level="0">(NOT ASPDOTNETHACK)</Condition>\r
+                               <ComponentRef Id="C__ASPDOTNETHACK" />\r
+                       </Feature>\r
+\r
+                       <?if $(var.IncludeCrashReportDll) = 1 ?>\r
+                       <Feature Id="CrashReporter" Level="1" Title="Crash Reporter" Description="In official builds, sends crash dumps to the developers."\r
+                       TypicalDefault="install" Display="hidden" InstallDefault="followParent">\r
+                               <ComponentRef Id="C__crash" />\r
+                       </Feature>\r
+                       <?endif ?>\r
+\r
+               </Feature>\r
+       </Fragment>\r
+</Wix>\r
diff --git a/src/TortoiseGitSetup/Includes.wxi b/src/TortoiseGitSetup/Includes.wxi
new file mode 100644 (file)
index 0000000..9878888
--- /dev/null
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Include Id="TsvnInclude">\r
+       <!-- This gets automatically generated by MakeMsi.bat running SubWCRev.exe on VersionNumberInclude.in.wxi -->\r
+       <?include VersionNumberInclude.wxi ?>\r
+\r
+       <!-- General ..................................................................... -->\r
+       <?define VersionNumberInternal="$(var.MajorVersion).$(var.MinorVersion).$(var.BuildVersion)" ?>\r
+       <?define VersionNumberUserVisible="$(var.MajorVersion).$(var.MinorVersion).$(var.MicroVersion).$(var.BuildVersion)" ?>\r
+       <?define ProductName="TortoiseSVN" ?>\r
+\r
+       <?define PackageKeywords="Sourcecontrol;Subversion;TortoiseSVN;Shell" ?>\r
+       <?define PackageDescription="Subversion Client" ?>\r
+       <?define PackageComments="Windows Shell Integration For SubVersion Source Control, v$(var.VersionNumberUserVisible)" ?>\r
+       <?define PackageManufacturer="Stefan Kueng" ?>\r
+       <?define TortoiseSvnOrg="http://tortoisesvn.net/"?>\r
+\r
+       <!-- Platform specifics ........................................................... -->\r
+\r
+       <?if $(var.Platform) = "x64" ?>\r
+       <?define Win64YesNo="yes" ?>\r
+       <?define ReleasePath="Release64" ?>\r
+       <?define PlatformPathExtension="x64" ?>\r
+       <?define PackagePlatforms="x64" ?>\r
+       <?define PlatformUserVisible="(64 bit)" ?>\r
+       <?else?>\r
+       <?define Win64YesNo="no" ?>\r
+       <?define ReleasePath="Release" ?>\r
+       <?define PlatformPathExtension="win32" ?>\r
+       <?define PackagePlatforms="x86" ?>\r
+       <?define PlatformUserVisible="(32 bit)" ?>\r
+       <?endif?>\r
+\r
+       <!-- GUIDs ....................................................................... -->\r
+\r
+       <?if $(var.Platform) = "x64" ?>\r
+       <?define UpgradeGuid="6113DD64-FD87-491a-9D05-0D1749DF7E18" ?>\r
+       <?else?>\r
+       <?define UpgradeGuid="3E07F1EB-9543-437C-9DE2-58FFCADD39A9" ?>\r
+       <?endif?>\r
+\r
+       <?define GuidUncontrolled="30351349-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidDropHandler="3035134A-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidAdded="3035134E-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidLocked="3035134D-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidDeleted="3035134C-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidNormal="30351346-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidReadonly="3035134B-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidModified="30351347-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidConflict="30351348-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidIgnored="3035134F-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidUnversioned="30351350-7B7D-4FCC-81B4-1E394CA267EB"?>\r
+       <?define GuidSubWCRev="F26E2640-0CFF-43DC-8325-575A3261D885"?>\r
+       <?define GuidSubWCRevTypeLib="40ACF49D-74FF-4165-94E9-0E002C448520"?>\r
+       <?define GuidSubWCRevInterface="2F5EA5B0-4DE7-4f96-8E6B-FC0C37D9C0D6"?>\r
+\r
+       <!-- Target specific component GUIDs ............................................. -->\r
+\r
+       <?if $(var.Platform) = "x64" ?>\r
+       <?define GuidInfoFiles="9ED40327-2473-4060-9BB9-09DA84F6BAE7"?>\r
+       <?define GuidProgramMenuFolder="106CFF43-EC40-48b0-BDAD-6C3D7E5EEDD3"?>\r
+\r
+       <?define GuidShellRegistry="A3380CB4-2909-4704-8826-68FF68081E50"?>\r
+       <?define GuidMachineRegistry="ED3ED854-3BC4-4c6f-BCB0-21D472F5370C"?>\r
+       <?define GuidApproveShellComponents="1A24BED1-003F-49e7-8CF0-81E24DAA5108"?>\r
+       <?define GuidSvnProtocol="F648F715-1409-4b3a-A38C-C2733A6709EB"?>\r
+       <?define GuidASPNETHack="7716E7D1-0EF3-43de-80B1-360FBA56B2AA"?>\r
+\r
+       <?define GuidLibSSL="9DC58B6C-E3F3-4612-8B5B-8AC8F06FCDC7"?>\r
+       <?define GuidBerkeleyDB="004AB3B8-9DFF-48b2-B6A9-DB4E8536E4EF"?>\r
+       <?define GuidAPR="CCCE8851-346A-4898-B778-927661FC1AA0"?>\r
+       <?define GuidSASL="C89F08D0-1855-4409-A8F5-199481FD1F4D"?>\r
+       <?define GuidGettext="BF140EE2-5F0B-41b6-A9EF-EE9ACD2F0B78"?>\r
+       <?define GuidCrashRpt="112578CA-CCFE-4709-AFD7-5B4D0F5692BE"?>\r
+\r
+       <?define GuidHelpEN="53416983-DD93-4b57-BC13-F246057B592A"?>\r
+\r
+       <?define GuidTortoiseSVN="AE3E4132-4EF5-4297-8444-32B73D916FA0"?>\r
+       <?define GuidTortoiseSVNShortcuts="BFF1875C-D7A8-49cf-BD30-C2B76C5576CF"?>\r
+       <?define GuidTortoiseMerge="025743B0-BDC1-4014-90D0-5610865BC473"?>\r
+       <?define GuidTortoiseMergeShortcuts="659A37E6-CE9A-4a30-AFF5-6FA1A077AA33"?>\r
+       <?define GuidSounds="CCFE23E1-6EE7-4dc6-83C6-955DC19A6FC1"?>\r
+       <?define GuidTortoiseBlame="2277EF11-7D34-453f-9D83-531F4AE349ED"?>\r
+       <?define GuidTortoiseIDiff="75D19614-B4D4-4661-A7EB-683CEE849CF3"?>\r
+       <?define GuidTortoiseIDiffShortcuts="423FB20D-5691-4123-9EC6-86B9B87F62E6"?>\r
+       <?define GuidTortoiseUDiff="58D894C4-029F-4bc2-B61D-F9BE5BB71277"?>\r
+       <?define GuidTortoiseUDiffAssoc="2340FAE7-4B1D-4877-9A5B-5AA22C396267"?>\r
+       <?define GuidPlainSettingsShortcuts="F8A9F712-5239-4510-852D-224F9F7FD196"?>\r
+       <?define GuidPlatformSettingsShortcuts="737F9B77-C40B-4770-9585-BC541BBA5716"?>\r
+\r
+       <?define GuidDictionaryENGB="1CC29BB2-023E-4d59-82DD-8C26E59F4280"?>\r
+       <?define GuidDictionaryENUS="46A24184-E5C0-4f6e-BD24-9EA6BDCD6DE2"?>\r
+\r
+       <?define GuidDiffScripts="448D99A8-A18D-45d4-9DC7-E389C5D03CCC"?>\r
+\r
+       <?define GuidIconsClassic="548E03CB-7391-472c-8150-42B4546F54FA"?>\r
+       <?define GuidIconsCVSClassic="5B8AEE2D-9513-4b9f-AC76-3B6A2248126D"?>\r
+       <?define GuidIconsModern="C5987858-CFF2-4c96-973A-6522918A35C7"?>\r
+       <?define GuidIconsXPStyle="CA95AE19-433B-4771-ADA8-52506EF8D5E7"?>\r
+       <?define GuidIconsMarkPhippard="23BC56D1-3916-4800-A741-4BA63AA7C3C0"?>\r
+       <?define GuidIconsStraight="E25A0D4F-6C68-4eff-8220-8797F42E3AD8"?>\r
+\r
+       <?else?>\r
+\r
+       <?define GuidInfoFiles="625A2E1E-90D3-4107-8AE8-C5C37975FEA0"?>\r
+       <?define GuidProgramMenuFolder="46F6E6A9-843F-4039-8F6C-450953BB47F2"?>\r
+\r
+       <?define GuidShellRegistry="D3F48AA6-A01B-47C5-A314-70319092E89A"?>\r
+       <?define GuidMachineRegistry="4913F361-DE93-490C-81D0-1FB002EBF141"?>\r
+       <?define GuidApproveShellComponents="A5B89BEC-D213-461D-AACD-8F46477E87D0"?>\r
+       <?define GuidSvnProtocol="02271D5C-3065-4038-AD86-46A271854FA6"?>\r
+       <?define GuidASPNETHack="12212FA2-8FE5-4ebb-A413-B1D2017F628C"?>\r
+\r
+       <?define GuidLibSSL="A50352B2-803D-44ee-89AF-E5D2A895C1B4"?>\r
+       <?define GuidBerkeleyDB="556D1AD4-384C-4ece-A3C8-A5A29FE78F22"?>\r
+       <?define GuidAPR="8C10D3B6-6C92-453c-91B8-56BC22942C96"?>\r
+       <?define GuidSASL="73ED8A02-2ADB-40cb-B28D-A2FCFE2D6B1B"?>\r
+       <?define GuidGettext="D47C005D-7017-4bd3-8197-9B3C5B206EBF"?>\r
+       <?define GuidCrashRpt="2FEF52B8-7D4D-4fd3-8D26-6177AAA60B03"?>\r
+\r
+       <?define GuidHelpEN="012FDAFF-53D4-420B-87A2-72C88B859D09"?>\r
+\r
+       <?define GuidTortoiseSVN="2F1FD4CC-32F0-51FB-A9CE-9DB539518655"?>\r
+       <?define GuidTortoiseSVNShortcuts="0AF473FD-2AF6-476b-A919-AE5E3F1F68DD"?>\r
+       <?define GuidTortoiseMerge="2F8D9AF8-A660-47f0-83CE-DD7DA0FB73DD"?>\r
+       <?define GuidTortoiseMergeShortcuts="73E24CEA-9BBE-4944-8EEC-20EE5E6710E9"?>\r
+       <?define GuidSounds="8C3F26B0-D4EE-4EB9-8E88-9FA60AD48B83"?>\r
+       <?define GuidTortoiseBlame="1B00F2A6-4D6B-4DBE-8B69-C8B493B4BBE5"?>\r
+       <?define GuidTortoiseIDiff="42740041-0AD3-4265-BB92-E6035F85F2A9"?>\r
+       <?define GuidTortoiseIDiffShortcuts="8669A999-BFCA-4933-B7E4-54B09D4C7652"?>\r
+       <?define GuidTortoiseUDiff="7164436F-2076-4031-9A11-751AF342C1E9"?>\r
+       <?define GuidTortoiseUDiffAssoc="A4670F92-0639-4b5f-A480-432F493F044F"?>\r
+       <?define GuidPlainSettingsShortcuts="3794CC38-A044-4879-A33B-417419E3524B"?>\r
+       <?define GuidPlatformSettingsShortcuts="676E1787-196E-498a-81B7-DE5C99E107D2"?>\r
+\r
+       <?define GuidDictionaryENGB="3B8C81C0-CC2A-42FB-A619-BA3656113736"?>\r
+       <?define GuidDictionaryENUS="EC574EC2-AD1F-4FA4-9F49-E66C11D38BDF"?>\r
+\r
+       <?define GuidDiffScripts="97BFA893-388D-494d-9C12-1FC868039293"?>\r
+\r
+       <?define GuidIconsClassic="CC0571DE-4A6D-4041-912B-C470EF40114A"?>\r
+       <?define GuidIconsCVSClassic="B96586EC-BE4C-4CCB-B88B-D4CD77CE66FB"?>\r
+       <?define GuidIconsModern="09F2C74B-E4DF-428B-8366-7C0346F7309C"?>\r
+       <?define GuidIconsXPStyle="BEF69706-378E-4EE3-960A-617C2A2C769D"?>\r
+       <?define GuidIconsMarkPhippard="F79F394A-EFF0-47AF-B5DE-BCBE24A2E321"?>\r
+       <?define GuidIconsStraight="5CF62B63-1159-4626-A449-8486104D33AB"?>\r
+\r
+       <?endif?>\r
+\r
+</Include>\r
diff --git a/src/TortoiseGitSetup/License.rtf b/src/TortoiseGitSetup/License.rtf
new file mode 100644 (file)
index 0000000..08f517d
--- /dev/null
@@ -0,0 +1,47 @@
+{\rtf1\ansi\ansicpg1252\r
+{\fonttbl {\f0\fswiss\fcharset0 Arial;}}\r
+\f0\sa100\fs18\lang1033\r
+\r
+Copyright (C) 2003-2008 - TortoiseSVN\r
+\r
+\par\ql\r
+TortoiseSVN is free. You don't have to pay for it, and you can use it \r
+any way you want. It is developed as an Open Source project under the \r
+GNU General Public License (GPL). That means you have full access to \r
+the source code of this program. You can find it on our website at \r
+http://tortoisesvn.tigris.org\r
+\r
+\par\r
+Should you wish to modify or redistribute this program, or any part of it, \r
+you should read the full terms and conditions set out in the license \r
+agreement before doing so. A copy of the license is available on our website.\r
+\r
+\par\r
+If you simply wish to install and use this software, you need only be aware of \r
+the disclaimer conditions in the license, which are set out below.\r
+\r
+\par\b\r
+NO WARRANTY\r
+\r
+\par\b0\r
+Because the program is licensed free of charge, there is no warranty \r
+for the program, to the extent permitted by applicable law.  Except when \r
+otherwise stated in writing the copyright holders and/or other parties \r
+provide the program "as is" without warranty of any kind, either expressed \r
+or implied, including, but not limited to, the implied warranties of \r
+merchantability and fitness for a particular purpose.  The entire risk as \r
+to the quality and performance of the program is with you.  Should the \r
+program prove defective, you assume the cost of all necessary servicing, \r
+repair or correction.\r
+\r
+\par\r
+In no event unless required by applicable law or agreed to in writing \r
+will any copyright holder, or any other party who may modify and/or \r
+redistribute the program as permitted above, be liable to you for damages, \r
+including any general, special, incidental or consequential damages arising \r
+out of the use or inability to use the program (including but not limited \r
+to loss of data or data being rendered inaccurate or losses sustained by \r
+you or third parties or a failure of the program to operate with any other \r
+programs), even if such holder or other party has been advised of the \r
+possibility of such damages.\r
+}\r
diff --git a/src/TortoiseGitSetup/StructureFragment.wxs b/src/TortoiseGitSetup/StructureFragment.wxs
new file mode 100644 (file)
index 0000000..0c047a4
--- /dev/null
@@ -0,0 +1,456 @@
+<?xml version="1.0"?>\r
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">\r
+       <?include Includes.wxi?>\r
+       <?if $(var.Platform) = "win32" ?>\r
+       <?define cf="CommonFilesFolder" ?>\r
+       <?endif ?>\r
+       <?if $(var.Platform) = "x64" ?>\r
+       <?define cf="CommonFiles64Folder" ?>\r
+       <?endif ?>\r
+       <Fragment Id="StructureFragment">\r
+               <Directory Id="TARGETDIR" Name="SourceDir">\r
+                       <Directory Id="D__ProgramFilesFolder" Name="Program Files">\r
+                               <Directory Id="INSTALLDIR" Name="TortoiseSVN">\r
+\r
+                                       <?if $(var.Platform) = "win32" ?>\r
+                                       <Merge Id='CRT' Language='0' SourceFile='$(var.MergeModules)\microsoft_vc90_crt_x86.msm' DiskId='1' />\r
+                                       <Merge Id='CRT Policy' Language='0' SourceFile='$(var.MergeModules)\policy_9_0_Microsoft_VC90_CRT_x86.msm' DiskId='1' />\r
+                                       <Merge Id='MFC' Language='0' SourceFile='$(var.MergeModules)\Microsoft_VC90_MFC_x86.msm' DiskId='1' />\r
+                                       <Merge Id='MFC Policy' Language='0' SourceFile='$(var.MergeModules)\policy_9_0_Microsoft_VC90_MFC_x86.msm' DiskId='1' />\r
+                                       <Merge Id='MFCLOC' Language='0' SourceFile='$(var.MergeModules)\Microsoft_VC90_MFCLOC_x86.msm' DiskId='1' />\r
+                                       <Merge Id='MFCLOC Policy' Language='0' SourceFile='$(var.MergeModules)\policy_9_0_Microsoft_VC90_MFCLOC_x86.msm' DiskId='1' />\r
+                                       <?endif ?>\r
+\r
+                                       <?if $(var.Platform) = "x64" ?>\r
+                                       <Merge Id='CRT' Language='0' SourceFile='$(var.MergeModules)\Microsoft_VC90_CRT_x86_x64.msm' DiskId='1' />\r
+                                       <Merge Id='CRT Policy' Language='0' SourceFile='$(var.MergeModules)\policy_9_0_Microsoft_VC90_CRT_x86_x64.msm' DiskId='1' />\r
+                                       <Merge Id='MFC' Language='0' SourceFile='$(var.MergeModules)\Microsoft_VC90_MFC_x86_x64.msm' DiskId='1' />\r
+                                       <Merge Id='MFC Policy' Language='0' SourceFile='$(var.MergeModules)\policy_9_0_Microsoft_VC90_MFC_x86_x64.msm' DiskId='1' />\r
+                                       <Merge Id='MFCLOC' Language='0' SourceFile='$(var.MergeModules)\Microsoft_VC90_MFCLOC_x86_x64.msm' DiskId='1' />\r
+                                       <Merge Id='MFCLOC Policy' Language='0' SourceFile='$(var.MergeModules)\policy_9_0_Microsoft_VC90_MFCLOC_x86_x64.msm' DiskId='1' />\r
+                                       <?endif ?>\r
+\r
+                                       <?if $(var.Platform) = "win32" ?>\r
+                                       <Merge Id='Ovlays' Language='0' SourceFile='..\..\ext\TortoiseOverlays\TortoiseOverlays-1.0.5.14479-win32.msm' DiskId='1' />\r
+                                       <?endif ?>\r
+\r
+                                       <?if $(var.Platform) = "x64" ?>\r
+                                       <Merge Id='Ovlays' Language='0' SourceFile='..\..\ext\TortoiseOverlays\TortoiseOverlays-1.0.5.14479-x64.msm' DiskId='1' />\r
+                                       <?endif ?>\r
+\r
+                                       <Component Id="C__infofiles" Guid="$(var.GuidInfoFiles)" Win64="$(var.Win64YesNo)">\r
+                                               <File Id="F__changelog" Name="Changelog.txt" DiskId="1" Source="..\Changelog.txt" KeyPath="yes" />\r
+                                               <File Id="F__subversionlicense" Name="Subversion license.txt" DiskId="1" Source="..\..\ext\Subversion\subversion\LICENSE" />\r
+                                               <File Id="F__tortoisesvnlicense" Name="TortoiseSVN License.txt" DiskId="1" Source="..\gpl.txt" />\r
+                                               <File Id="F__openssllicense" Name="OpenSSL License.txt" DiskId="1" Source="include\OpenSSL_License.txt" />\r
+                                               <File Id="F__aprlicense" Name="apr License.txt" DiskId="1" Source="..\..\ext\apr\LICENSE" />\r
+                                               <File Id="F__sasllicense" Name="CyrusSASL License.txt" DiskId="1" Source="include\CyrusSASL_License.txt" />\r
+                                       </Component>\r
+\r
+                                       <Component Id="C__ProgramMenuFolder" Guid="$(var.GuidProgramMenuFolder)" Win64="$(var.Win64YesNo)">\r
+                                               <RemoveFolder Directory="INSTALLDIR" On="uninstall" Id="RemoveFolder_INSTALLDIR" />\r
+                                               <RemoveFolder Directory="D_TortoisePrgMenu" On="uninstall" Id="RemoveFolder_PrgMenu" />\r
+                                       </Component>\r
+\r
+                                       <Component Id="C__shellregistry" Guid="$(var.GuidShellRegistry)" Win64="$(var.Win64YesNo)">\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\Drive\shellex\ContextMenuHandlers\TortoiseSVN" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\Drive\shellex\ContextMenuHandlers\TortoiseSVN" KeyPath="yes" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\Drive\shellex\PropertySheetHandlers\TortoiseSVN" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\Drive\shellex\PropertySheetHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\Directory\shellex\ContextMenuHandlers\TortoiseSVN" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\Directory\shellex\ContextMenuHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\Directory\shellex\DragDropHandlers\TortoiseSVN" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\Directory\shellex\DragDropHandlers\TortoiseSVN" Value="{$(var.GuidDropHandler)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\Directory\shellex\PropertySheetHandlers\TortoiseSVN" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\Directory\shellex\PropertySheetHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\Directory\Background\shellex\ContextMenuHandlers\TortoiseSVN" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\Directory\Background\shellex\ContextMenuHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\Folder\shellex\ColumnHandlers\{$(var.GuidUncontrolled)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\Folder\shellex\ContextMenuHandlers\TortoiseSVN" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\Folder\shellex\ContextMenuHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\Folder\shellex\DragDropHandlers\TortoiseSVN" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\Folder\shellex\DragDropHandlers\TortoiseSVN" Value="{$(var.GuidDropHandler)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidAdded)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidAdded)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidAdded)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidAdded)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidLocked)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidLocked)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidLocked)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidLocked)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidDeleted)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidDeleted)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidDeleted)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidDeleted)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidNormal)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidNormal)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidNormal)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidNormal)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidReadonly)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidReadonly)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidReadonly)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidReadonly)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidUncontrolled)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidUncontrolled)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidUncontrolled)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidUncontrolled)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidModified)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidModified)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidModified)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidModified)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidDropHandler)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidDropHandler)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidDropHandler)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidDropHandler)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidConflict)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidConflict)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidConflict)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidConflict)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidIgnored)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidIgnored)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidIgnored)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidIgnored)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidUnversioned)}" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidUnversioned)}\InProcServer32" Name="ThreadingModel" Value="Apartment" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidUnversioned)}\InProcServer32" Value="[INSTALLDIR]bin\TortoiseStub.dll" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidUnversioned)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\lnkfile\shellex\ContextMenuHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\InternetShortcut\shellex\ContextMenuHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\*\shellex\ContextMenuHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\*\shellex\PropertySheetHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\Directory\shellex\CopyHookHandlers\TortoiseSVN" Value="{$(var.GuidUncontrolled)}" Type="string" />\r
+                                       </Component>\r
+\r
+                                       <Component Id="C__machineregistry" Guid="$(var.GuidMachineRegistry)" Win64="$(var.Win64YesNo)">\r
+                                               <RegistryKey Root="HKLM" Key="Software\[Manufacturer]" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\[Manufacturer]" Name="ProcPath" Value="[INSTALLDIR]bin\TortoiseProc.exe" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\[Manufacturer]" Name="CachePath" Value="[INSTALLDIR]bin\TSVNCache.exe" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\[Manufacturer]" Name="TMergePath" Value="[INSTALLDIR]bin\TortoiseMerge.exe" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\[Manufacturer]" Name="Directory" Value="[INSTALLDIR]" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\App Paths\SubWCRev.exe" Action="createAndRemoveOnUninstall" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\App Paths\SubWCRev.exe" Name="Path" Value="[INSTALLDIR]bin" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\App Paths\SubWCRev.exe" Value="[INSTALLDIR]bin\SubWCRev.exe" Type="string" />\r
+\r
+                                               <RegistryKey Root="HKLM" Key="Software\TortoiseOverlays\Normal" Action="create" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\TortoiseOverlays\Normal" Name="SVN" Value="{$(var.GuidNormal)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\TortoiseOverlays\Modified" Action="create" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\TortoiseOverlays\Modified" Name="SVN" Value="{$(var.GuidModified)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\TortoiseOverlays\Conflict" Action="create" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\TortoiseOverlays\Conflict" Name="SVN" Value="{$(var.GuidConflict)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\TortoiseOverlays\Deleted" Action="create" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\TortoiseOverlays\Deleted" Name="SVN" Value="{$(var.GuidDeleted)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\TortoiseOverlays\ReadOnly" Action="create" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\TortoiseOverlays\ReadOnly" Name="SVN" Value="{$(var.GuidReadonly)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\TortoiseOverlays\Locked" Action="create" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\TortoiseOverlays\Locked" Name="SVN" Value="{$(var.GuidLocked)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\TortoiseOverlays\Added" Action="create" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\TortoiseOverlays\Added" Name="SVN" Value="{$(var.GuidAdded)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\TortoiseOverlays\Ignored" Action="create" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\TortoiseOverlays\Ignored" Name="SVN" Value="{$(var.GuidIgnored)}" Type="string" />\r
+                                               <RegistryKey Root="HKLM" Key="Software\TortoiseOverlays\Unversioned" Action="create" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\TortoiseOverlays\Unversioned" Name="SVN" Value="{$(var.GuidUnversioned)}" Type="string" />\r
+                                       </Component>\r
+\r
+                                       <Component Id="C__approveshellcomponents" Guid="$(var.GuidApproveShellComponents)" Win64="$(var.Win64YesNo)">\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidConflict)}" Value="TortoiseSVN" KeyPath="yes" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidModified)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidDropHandler)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidDeleted)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidNormal)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidUncontrolled)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidReadonly)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidLocked)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidAdded)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidIgnored)}" Value="TortoiseSVN" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.GuidUnversioned)}" Value="TortoiseSVN" Type="string" />\r
+                                       </Component>\r
+\r
+                                       <Component Id="C__svnprotocoll" Guid="$(var.GuidSvnProtocol)" Win64="$(var.Win64YesNo)">\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\svn" KeyPath="yes" Value="URL:SVN Protocol" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\svn" Name="URL Protocol" Value="" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\svn\DefaultIcon" Value="[INSTALLDIR]bin\TortoiseProc.exe" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\svn\shell\open\command" Value="[INSTALLDIR]bin\TortoiseProc.exe /command:repobrowser /path:&quot;%1&quot;" Type="string" />\r
+\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\svn+ssh" Value="URL:SVN+SSH Protocol" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\svn+ssh" Name="URL Protocol" Value="" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\svn+ssh\DefaultIcon" Value="[INSTALLDIR]bin\TortoiseProc.exe" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\svn+ssh\shell\open\command" Value="[INSTALLDIR]bin\TortoiseProc.exe /command:repobrowser /path:&quot;%1&quot;" Type="string" />\r
+\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\tsvn" Value="URL:TSVN Protocol" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\tsvn" Name="URL Protocol" Value="" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\tsvn\DefaultIcon" Value="[INSTALLDIR]bin\TortoiseProc.exe" Type="string" />\r
+                                               <RegistryValue Root="HKLM" Key="Software\Classes\tsvn\shell\open\command" Value="[INSTALLDIR]bin\TortoiseProc.exe /command:checkout /url:&quot;%1&quot;" Type="string" />\r
+                                       </Component>\r
+\r
+                                       <Component Id="C__ASPDOTNETHACK" Guid="$(var.GuidASPNETHack)" Win64="$(var.Win64YesNo)">\r
+                                               <RegistryValue Root="HKCU" Key="Software\TortoiseSVN" KeyPath="yes" Name="ASP.NET KeyPath" Value="ASP.NET" Type="string" />\r
+                                               <!-- only used because this component needs a key path! -->\r
+                                               <Environment Id="E__ASPDOTNETHACK" Action="create" Name="SVN_ASP_DOT_NET_HACK" Value="1" Permanent="yes" System="yes" />\r
+                                       </Component>\r
+\r
+                                       <Directory Id="D__Bin" Name="bin" >\r
+\r
+                                               <Component Id="C__apr" Guid="$(var.GuidAPR)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__libapr" Name="libapr_tsvn.dll" DiskId="1" Source="..\..\ext\apr\release_$(var.PlatformPathExtension)\libapr_tsvn.dll" KeyPath="yes" />\r
+                                                       <File Id="F__libaprutil" Name="libaprutil_tsvn.dll" DiskId="1" Source="..\..\ext\apr-util\release_$(var.PlatformPathExtension)\libaprutil_tsvn.dll" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__sasl" Guid="$(var.GuidSASL)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__libsasl" Name="libsasl.dll" DiskId="1" Source="..\..\ext\cyrus-SASL\release_$(var.PlatformPathExtension)\libsasl.dll" KeyPath="yes" />\r
+                                                       <File Id="F__saslANONYMOUS" Name="saslANONYMOUS.dll" DiskId="1" Source="..\..\ext\cyrus-SASL\release_$(var.PlatformPathExtension)\saslANONYMOUS.dll" />\r
+                                                       <File Id="F__saslCRAMMD5" Name="saslCRAMMD5.dll" DiskId="1" Source="..\..\ext\cyrus-SASL\release_$(var.PlatformPathExtension)\saslCRAMMD5.dll" />\r
+                                                       <File Id="F__saslDIGESTMD5" Name="saslDIGESTMD5.dll" DiskId="1" Source="..\..\ext\cyrus-SASL\release_$(var.PlatformPathExtension)\saslDIGESTMD5.dll" />\r
+                                                       <File Id="F__saslLOGIN" Name="saslLOGIN.dll" DiskId="1" Source="..\..\ext\cyrus-SASL\release_$(var.PlatformPathExtension)\saslLOGIN.dll" />\r
+                                                       <File Id="F__saslNTLM" Name="saslNTLM.dll" DiskId="1" Source="..\..\ext\cyrus-SASL\release_$(var.PlatformPathExtension)\saslNTLM.dll" />\r
+                                                       <File Id="F__saslPLAIN" Name="saslPLAIN.dll" DiskId="1" Source="..\..\ext\cyrus-SASL\release_$(var.PlatformPathExtension)\saslPLAIN.dll" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__gettext" Guid="$(var.GuidGettext)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__intl" Name="intl3_tsvn.dll" DiskId="1" Source="..\..\ext\libintl\libintl3-$(var.PlatformPathExtension)\bin\intl3_tsvn.dll" KeyPath="yes" />\r
+                                               </Component>\r
+\r
+                                               <?if $(var.IncludeCrashReportDll) = 1 ?>\r
+                                               <Component Id="C__crash" Guid="$(var.GuidCrashRpt)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__crashrpt" Name="CrashRpt.dll" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\CrashRpt.dll" KeyPath="yes" />\r
+                                               </Component>\r
+                                               <?endif ?>\r
+\r
+                                               <Component Id="C__help_en" Guid="$(var.GuidHelpEN)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F_TortoiseSVN_en" Name="TortoiseSVN_en.chm" DiskId="1" Source="..\..\doc\output\TortoiseSVN_en.chm" KeyPath="yes" />\r
+                                                       <File Id="F__TortoiseMerge_en" Name="TortoiseMerge_en.chm" DiskId="1" Source="..\..\doc\output\TortoiseMerge_en.chm" />\r
+                                                       <RemoveFile Id="F__Tortoise_lang" Name="*.chm" On="uninstall" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__TortoiseSVN" Guid="$(var.GuidTortoiseSVN)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__TortoiseProc" Name="TortoiseProc.exe" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\TortoiseProc.exe" KeyPath="yes" />\r
+                                                       <File Id="F__TortoiseShell" Name="TortoiseSVN.dll" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\TortoiseSVN.dll" />\r
+                                                       <File Id="F__TortoiseStub" Name="TortoiseStub.dll" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\TortoiseStub.dll" />\r
+                                                       <File Id="F__TortoisePlink" Name="TortoisePlink.exe" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\TortoisePlink.exe" />\r
+                                                       <File Id="F__TSVNCache" Name="TSVNCache.exe" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\TSVNCache.exe" />\r
+                                                       <File Id="F__TSVNAutolist" Name="autolist.txt" DiskId="1" Source="include\autolist.txt" />\r
+                                                       <File Id="F__websiteurl" Name="Website.url" Source="include\Website.url" DiskId="1" />\r
+\r
+                                                       <File Id="F__SubWCRev" Name="SubWCRev.exe" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\SubWCRev.exe" />\r
+                                                       <File Id="F__SubWCRevCOM" Name="SubWCRevCOM.exe" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\SubWCRevCOM.exe" />\r
+                                                       <!-- register the SubWCRev COM-Object -->\r
+                                                       <Environment Id="Environment" Name="PATH" Part="last" System="yes" Value="[INSTALLDIR]bin" Action="set" />\r
+                                                       <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}" Action="createAndRemoveOnUninstall" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}\LocalServer32" Value="[INSTALLDIR]bin\SubWCRevCOM.exe /automation" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}\ProgID" Value="SubWCRev.object.1" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}\VersionIndependentProgID" Value="SubWCRev.object" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}\TypeLib" Value="{$(var.GuidSubWCRevTypeLib)}" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}" Value="SubWCRev Server Object" Type="string" />\r
+\r
+                                                       <RegistryKey Root="HKLM" Key="Software\Classes\SubWCRev.object" Action="createAndRemoveOnUninstall" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object" Value="SubWCRev Server Object" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object\CLSID" Value="{$(var.GuidSubWCRev)}" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object\CurVer" Value="SubWCRev.object.1" Type="string" />\r
+\r
+                                                       <RegistryKey Root="HKLM" Key="Software\Classes\SubWCRev.object.1" Action="createAndRemoveOnUninstall" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object.1" Value="SubWCRev Server Object" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object.1\CLSID" Value="{$(var.GuidSubWCRev)}" Type="string" />\r
+\r
+                                                       <RegistryKey Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}" Action="createAndRemoveOnUninstall" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\1.0" Value="LibSubWCRev" Type="string" />\r
+                                                       <RegistryKey Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\1.0\0" Action="createAndRemoveOnUninstall" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\1.0\0\win32" Value="[INSTALLDIR]bin\SubWCRevCOM.exe" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\FLAGS" Value="0" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\HELPDIR" Value="[INSTALLDIR]" Type="string" />\r
+\r
+                                                       <RegistryKey Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}" Action="createAndRemoveOnUninstall" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}" Value="ISubWCRev" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}\ProxyStubClsid" Value="{00020424-0000-0000-C000-000000000046}" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}\ProxyStubClsid32" Value="{00020424-0000-0000-C000-000000000046}" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}\TypeLib" Value="{$(var.GuidSubWCRevTypeLib)}" Type="string" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}\TypeLib" Name="Version" Value="1.0" Type="string" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__TortoiseSVNShortcuts" Guid="$(var.GuidTortoiseSVNShortcuts)" Win64="$(var.Win64YesNo)">\r
+                                                       <RegistryValue Root="HKCU" Key="Software\TortoiseSVN" KeyPath="yes" Name="TortoiseSVN" Value="TortoiseSVN" Type="string" />\r
+                                                       <Shortcut Id="S__Website" Directory="D_TortoisePrgMenu" Name="Website" Advertise="no"\r
+                                                       Target="[INSTALLDIR]bin\website.url" Description="TortoiseSVN Website" />\r
+                                                       <Shortcut Id="S__RTFM" Directory="D_TortoisePrgMenu" Name="TortoiseSVN" Advertise="no"\r
+                                                       Target="[INSTALLDIR]bin\TortoiseProc.exe" Description="TortoiseSVN" Arguments="/command:rtfm" Show="normal" />\r
+                                                       <Shortcut Id="S__TortoiseProc" Directory="D_TortoisePrgMenu" Name="Help" Advertise="no"\r
+                                                       Target="[INSTALLDIR]bin\TortoiseProc.exe" Description="Documentation about TortoiseSVN" Arguments="/command:help" Show="normal" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__TortoiseMerge" Guid="$(var.GuidTortoiseMerge)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__TortoiseMerge" Name="TortoiseMerge.exe" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\TortoiseMerge.exe" KeyPath="yes" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__TortoiseMergeShortcuts" Guid="$(var.GuidTortoiseMergeShortcuts)" Win64="$(var.Win64YesNo)">\r
+                                                       <RegistryValue Root="HKCU" Key="Software\TortoiseSVN" KeyPath="yes" Name="TortoiseMerge" Value="TortoiseMerge" Type="string" />\r
+                                                       <Shortcut Id="S__TortoiseMerge" Directory="D_TortoisePrgMenu" Name="TortoiseMerge" Advertise="no"\r
+                                                       Target="[INSTALLDIR]bin\TortoiseMerge.exe" Description="View Diff's, Merge Diff's, Resolve Conflicted Files and Apply Patches" Show="normal" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__Sounds" Guid="$(var.GuidSounds)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__sounderror" Name="TortoiseSVN_error.wav" DiskId="1" Source="..\Resources\TortoiseSVN_error.wav" KeyPath="yes" />\r
+                                                       <File Id="F__soundwarning" Name="TortoiseSVN_Warning.wav" DiskId="1" Source="..\Resources\TortoiseSVN_Warning.wav" />\r
+                                                       <File Id="F__soundnotification" Name="TortoiseSVN_Notification.wav" DiskId="1" Source="..\Resources\TortoiseSVN_Notification.wav" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__TortoiseBlame" Guid="$(var.GuidTortoiseBlame)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__TortoiseBlame" Name="TortoiseBlame.exe" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\TortoiseBlame.exe" KeyPath="yes" />\r
+                                                       <File Id="F__SciLexer" Name="SciLexer.dll" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\SciLexer.dll" DefaultLanguage="1033"/>\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__TortoiseIDiff" Guid="$(var.GuidTortoiseIDiff)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__TortoiseIDiff" Name="TortoiseIDiff.exe" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\TortoiseIDiff.exe" KeyPath="yes" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__TortoiseIDiffShortcuts" Guid="$(var.GuidTortoiseIDiffShortcuts)" Win64="$(var.Win64YesNo)">\r
+                                                       <RegistryValue Root="HKCU" Key="Software\TortoiseSVN" KeyPath="yes" Name="TortoiseIDiff" Value="TortoiseIDiff" Type="string" />\r
+                                                       <Shortcut Id="S__TortoiseIDiff" Directory="D_TortoisePrgMenu" Name="TortoiseIDiff" Advertise="no"\r
+                                                       Target="[INSTALLDIR]bin\TortoiseIDiff.exe" Description="View Diff's of image files" Show="normal" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__TortoiseUDiff" Guid="$(var.GuidTortoiseUDiff)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__TortoiseUDiff" Name="TortoiseUDiff.exe" DiskId="1" Source="..\..\bin\$(var.ReleasePath)\bin\TortoiseUDiff.exe" KeyPath="yes" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__TortoiseUDiffAssoc" Guid="$(var.GuidTortoiseUDiffAssoc)" Win64="$(var.Win64YesNo)">\r
+                                                       <RegistryKey Root="HKLM" Key="Software\Classes\.diff" Action="createAndRemoveOnUninstall" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\.diff" KeyPath="yes" Value="unified_diff_file" Type="string" />\r
+                                                       <RegistryKey Root="HKLM" Key="Software\Classes\.patch" Action="createAndRemoveOnUninstall" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\.patch" Value="unified_diff_file" Type="string" />\r
+                                                       <RegistryKey Root="HKLM" Key="Software\Classes\unified_diff_file\shell\open\command" Action="createAndRemoveOnUninstall" />\r
+                                                       <RegistryValue Root="HKLM" Key="Software\Classes\unified_diff_file\shell\open\command" Value="[INSTALLDIR]bin\TortoiseUDiff.exe /patchfile:&quot;%1&quot;" Type="string" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__PlainSettingsShortcuts" Guid="$(var.GuidPlainSettingsShortcuts)" Win64="$(var.Win64YesNo)">\r
+                                                       <RegistryValue Root="HKCU" Key="Software\TortoiseSVN" KeyPath="yes" Name="TortoiseSVN" Value="TortoiseSVN" Type="string" />\r
+                                                       <Condition><![CDATA[NOT VersionNT64]]></Condition>\r
+                                                       <Shortcut Id="S__PlainConfig" Directory="D_TortoisePrgMenu" Name="Settings" Advertise="no"\r
+                                                       Target="[INSTALLDIR]bin\TortoiseProc.exe" Description="TortoiseSVN" Arguments="/command:settings" Show="normal" />\r
+                                               </Component>\r
+\r
+                                               <Component Id="C__PlatformSettingsShortcuts" Guid="$(var.GuidPlatformSettingsShortcuts)" Win64="$(var.Win64YesNo)">\r
+                                                       <RegistryValue Root="HKCU" Key="Software\TortoiseSVN" KeyPath="yes" Name="TortoiseSVN" Value="TortoiseSVN" Type="string" />\r
+                                                       <Condition>VersionNT64</Condition>\r
+                                                       <Shortcut Id="S__PlatformConfig" Directory="D_TortoisePrgMenu" Name="Settings $(var.PlatformUserVisible)" Advertise="no"\r
+                                                       Target="[INSTALLDIR]bin\TortoiseProc.exe" Description="TortoiseSVN" Arguments="/command:settings" Show="normal" />\r
+                                               </Component>\r
+\r
+                                       </Directory>\r
+\r
+                                       <Directory Id="D__Languages" Name="Languages" >\r
+\r
+                                               <?if $(var.DictionaryENGB) = 1 ?>\r
+                                               <Component Id="C__DictionaryENGB" Guid="$(var.GuidDictionaryENGB)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__ENGBSPELLAFF" Name="en_GB.aff" Source="..\..\..\Common\Spell\en_GB.aff" DiskId="1" />\r
+                                                       <File Id="F__ENGBSPELLDIC" Name="en_GB.dic" Source="..\..\..\Common\Spell\en_GB.dic" DiskId="1" />\r
+                                               </Component>\r
+                                               <?endif ?>\r
+\r
+                                               <?if $(var.DictionaryENUS) = 1 ?>\r
+                                               <Component Id="C__DictionaryENUS" Guid="$(var.GuidDictionaryENUS)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__ENSPELLAFF" Name="en_US.aff" Source="..\..\..\Common\Spell\en_US.aff" DiskId="1" />\r
+                                                       <File Id="F__ENSPELLDIC" Name="en_US.dic" Source="..\..\..\Common\Spell\en_US.dic" DiskId="1" />\r
+                                               </Component>\r
+                                               <?endif ?>\r
+\r
+                                       </Directory>\r
+\r
+                                       <Directory Id="D__DiffScripts" Name="Diff-Scripts" >\r
+\r
+                                               <Component Id="C__DiffScripts" Guid="$(var.GuidDiffScripts)" Win64="$(var.Win64YesNo)">\r
+                                                       <File Id="F__diffxls" Name="diff-xls.vbs" Source="..\..\contrib\other\diff-scripts\diff-xls.vbs" DiskId="1" KeyPath="yes"/>\r
+                                                       <File Id="F__diffxlsx" Name="diff-xlsx.vbs" Source="..\..\contrib\other\diff-scripts\diff-xlsx.vbs" DiskId="1" />\r
+                                                       <File Id="F__diffppt" Name="diff-ppt.js" Source="..\..\contrib\other\diff-scripts\diff-ppt.js" DiskId="1" />\r
+                                                       <File Id="F__diffdoc" Name="diff-doc.js" Source="..\..\contrib\other\diff-scripts\diff-doc.js" DiskId="1" />\r
+                                                       <File Id="F__diffdocx" Name="diff-docx.js" Source="..\..\contrib\other\diff-scripts\diff-docx.js" DiskId="1" />\r
+                                                       <File Id="F__mergedoc" Name="merge-doc.js" Source="..\..\contrib\other\diff-scripts\merge-doc.js" DiskId="1" />\r
+                                                       <File Id="F__mergedocx" Name="merge-docx.js" Source="..\..\contrib\other\diff-scripts\merge-docx.js" DiskId="1" />\r
+                                                       <File Id="F__diffsxw" Name="diff-sxw.vbs" Source="..\..\contrib\other\diff-scripts\diff-sxw.vbs" DiskId="1" />\r
+                                                       <File Id="F__mergesxw" Name="merge-sxw.vbs" Source="..\..\contrib\other\diff-scripts\merge-sxw.vbs" DiskId="1" />\r
+                                                       <File Id="F__diffods" Name="diff-ods.vbs" Source="..\..\contrib\other\diff-scripts\diff-ods.vbs" DiskId="1" />\r
+                                                       <File Id="F__diffodt" Name="diff-odt.vbs" Source="..\..\contrib\other\diff-scripts\diff-odt.vbs" DiskId="1" />\r
+                                                       <File Id="F__mergeods" Name="merge-ods.vbs" Source="..\..\contrib\other\diff-scripts\merge-ods.vbs" DiskId="1" />\r
+                                                       <File Id="F__mergeodt" Name="merge-odt.vbs" Source="..\..\contrib\other\diff-scripts\merge-odt.vbs" DiskId="1" />\r
+                                                       <File Id="F__diffnb" Name="diff-nb.vbs" Source="..\..\contrib\other\diff-scripts\diff-nb.vbs" DiskId="1" />\r
+                                               </Component>\r
+\r
+                                       </Directory>\r
+\r
+                                       <Directory Id="ProgramMenuFolder" Name="." SourceName="User's Programs Menu">\r
+                                               <Directory Id="D_TortoisePrgMenu" Name="TortoiseSVN" />\r
+                                       </Directory>\r
+\r
+                                       <Directory Id='$(var.cf)' Name='Common'>\r
+                                               <Directory Id='TortoioseOverlays' Name='TortoiseOverlays'>\r
+                                                       <Directory Id="D__icons" Name="icons" >\r
+\r
+                                                               <Directory Id="D__iconscvsclassic" Name="CVSClassic" >\r
+\r
+                                                                       <Component Id="C__iconscvsclassic" Guid="$(var.GuidIconsCVSClassic)" Win64="$(var.Win64YesNo)">\r
+                                                                               <File Id="F__CVSClassicConflictIcon" Name="ConflictIcon.ico" DiskId="1" Source="..\Resources\Icons\CVSClassic\ConflictIcon.ico" KeyPath="yes" />\r
+                                                                               <File Id="F__CVSClassicInSubversionIcon" Name="NormalIcon.ico" DiskId="1" Source="..\Resources\Icons\CVSClassic\NormalIcon.ico" />\r
+                                                                               <File Id="F__CVSClassicModifiedIcon" Name="ModifiedIcon.ico" DiskId="1" Source="..\Resources\Icons\CVSClassic\ModifiedIcon.ico" />\r
+                                                                               <File Id="F__CVSClassicReadOnlyIcon" Name="ReadOnlyIcon.ico" DiskId="1" Source="..\Resources\Icons\CVSClassic\ReadOnlyIcon.ico" />\r
+                                                                               <File Id="F__CVSClassicDeletedIcon" Name="DeletedIcon.ico" DiskId="1" Source="..\Resources\Icons\CVSClassic\DeletedIcon.ico" />\r
+                                                                               <File Id="F__CVSClassicLockedIcon" Name="LockedIcon.ico" DiskId="1" Source="..\Resources\Icons\CVSClassic\LockedIcon.ico" />\r
+                                                                               <File Id="F__CVSClassicAddedIcon" Name="AddedIcon.ico" DiskId="1" Source="..\Resources\Icons\CVSClassic\AddedIcon.ico" />\r
+                                                                               <File Id="F__CVSClassicIgnoredIcon" Name="IgnoredIcon.ico" DiskId="1" Source="..\Resources\Icons\CVSClassic\IgnoredIcon.ico" />\r
+                                                                               <File Id="F__CVSClassicUnversionedIcon" Name="UnversionedIcon.ico" DiskId="1" Source="..\Resources\Icons\CVSClassic\UnversionedIcon.ico" />\r
+                                                                       </Component>\r
+\r
+                                                               </Directory>\r
+\r
+                                                               <Directory Id="D__iconsmodern" Name="Modern" >\r
+\r
+                                                                       <Component Id="C__iconsmodern" Guid="$(var.GuidIconsModern)" Win64="$(var.Win64YesNo)">\r
+                                                                               <File Id="F__ModernConflictIcon" Name="ConflictIcon.ico" DiskId="1" Source="..\Resources\Icons\Modern\ConflictIcon.ico" KeyPath="yes" />\r
+                                                                               <File Id="F__ModernInSubversionIcon" Name="NormalIcon.ico" DiskId="1" Source="..\Resources\Icons\Modern\NormalIcon.ico" />\r
+                                                                               <File Id="F__ModernModifiedIcon" Name="ModifiedIcon.ico" DiskId="1" Source="..\Resources\Icons\Modern\ModifiedIcon.ico" />\r
+                                                                               <File Id="F__ModernReadOnlyIcon" Name="ReadOnlyIcon.ico" DiskId="1" Source="..\Resources\Icons\Modern\ReadOnlyIcon.ico" />\r
+                                                                               <File Id="F__ModernDeletedIcon" Name="DeletedIcon.ico" DiskId="1" Source="..\Resources\Icons\Modern\DeletedIcon.ico" />\r
+                                                                               <File Id="F__ModernLockedIcon" Name="LockedIcon.ico" DiskId="1" Source="..\Resources\Icons\Modern\LockedIcon.ico" />\r
+                                                                               <File Id="F__ModernAddedIcon" Name="AddedIcon.ico" DiskId="1" Source="..\Resources\Icons\Modern\AddedIcon.ico" />\r
+                                                                               <File Id="F__ModernIgnoredIcon" Name="IgnoredIcon.ico" DiskId="1" Source="..\Resources\Icons\Modern\IgnoredIcon.ico" />\r
+                                                                               <File Id="F__ModernUnversionedIcon" Name="UnversionedIcon.ico" DiskId="1" Source="..\Resources\Icons\Modern\UnversionedIcon.ico" />\r
+                                                                       </Component>\r
+\r
+                                                               </Directory>\r
+\r
+                                                               <Directory Id="D__iconssubclipse" Name="Subclipse" >\r
+\r
+                                                                       <Component Id="C__iconsmarkphippard" Guid="$(var.GuidIconsMarkPhippard)" Win64="$(var.Win64YesNo)">\r
+                                                                               <File Id="F__SubclipseConflictIcon" Name="ConflictIcon.ico" DiskId="1" Source="..\Resources\Icons\Subclipse\ConflictIcon.ico" KeyPath="yes" />\r
+                                                                               <File Id="F__SubclipseInSubversionIcon" Name="NormalIcon.ico" DiskId="1" Source="..\Resources\Icons\Subclipse\NormalIcon.ico" />\r
+                                                                               <File Id="F__SubclipseModifiedIcon" Name="ModifiedIcon.ico" DiskId="1" Source="..\Resources\Icons\Subclipse\ModifiedIcon.ico" />\r
+                                                                               <File Id="F__SubclipseReadOnlyIcon" Name="ReadOnlyIcon.ico" DiskId="1" Source="..\Resources\Icons\Subclipse\ReadOnlyIcon.ico" />\r
+                                                                               <File Id="F__SubclipseDeletedIcon" Name="DeletedIcon.ico" DiskId="1" Source="..\Resources\Icons\Subclipse\DeletedIcon.ico" />\r
+                                                                               <File Id="F__SubclipseLockedIcon" Name="LockedIcon.ico" DiskId="1" Source="..\Resources\Icons\Subclipse\LockedIcon.ico" />\r
+                                                                               <File Id="F__SubclipseAddedIcon" Name="AddedIcon.ico" DiskId="1" Source="..\Resources\Icons\Subclipse\AddedIcon.ico" />\r
+                                                                               <File Id="F__SubclipseIgnoredIcon" Name="IgnoredIcon.ico" DiskId="1" Source="..\Resources\Icons\Subclipse\IgnoredIcon.ico" />\r
+                                                                               <File Id="F__SubclipseUnversionedIcon" Name="UnversionedIcon.ico" DiskId="1" Source="..\Resources\Icons\Subclipse\UnversionedIcon.ico" />\r
+                                                                       </Component>\r
+\r
+                                                               </Directory>\r
+\r
+                                                               <Directory Id="D__iconsstraight" Name="Straight" >\r
+\r
+                                                                       <Component Id="C__iconsstraight" Guid="$(var.GuidIconsStraight)" Win64="$(var.Win64YesNo)">\r
+                                                                               <File Id="F__StraightConflictIcon" Name="ConflictIcon.ico" DiskId="1" Source="..\Resources\Icons\Straight\ConflictIcon.ico" KeyPath="yes" />\r
+                                                                               <File Id="F__StraightInSubversionIcon" Name="NormalIcon.ico" DiskId="1" Source="..\Resources\Icons\Straight\NormalIcon.ico" />\r
+                                                                               <File Id="F__StraightModifiedIcon" Name="ModifiedIcon.ico" DiskId="1" Source="..\Resources\Icons\Straight\ModifiedIcon.ico" />\r
+                                                                               <File Id="F__StraightReadOnlyIcon" Name="ReadOnlyIcon.ico" DiskId="1" Source="..\Resources\Icons\Straight\ReadOnlyIcon.ico" />\r
+                                                                               <File Id="F__StraightDeletedIcon" Name="DeletedIcon.ico" DiskId="1" Source="..\Resources\Icons\Straight\DeletedIcon.ico" />\r
+                                                                               <File Id="F__StraightLockedIcon" Name="LockedIcon.ico" DiskId="1" Source="..\Resources\Icons\Straight\LockedIcon.ico" />\r
+                                                                               <File Id="F__StraightAddedIcon" Name="AddedIcon.ico" DiskId="1" Source="..\Resources\Icons\Straight\AddedIcon.ico" />\r
+                                                                               <File Id="F__StraightIgnoredIcon" Name="IgnoredIcon.ico" DiskId="1" Source="..\Resources\Icons\Straight\IgnoredIcon.ico" />\r
+                                                                               <File Id="F__StraightUnversionedIcon" Name="UnversionedIcon.ico" DiskId="1" Source="..\Resources\Icons\Straight\UnversionedIcon.ico" />\r
+                                                                       </Component>\r
+\r
+                                                               </Directory>\r
+                                                       </Directory>\r
+                                               </Directory>\r
+                                       </Directory>\r
+\r
+                               </Directory>\r
+                       </Directory>\r
+               </Directory>\r
+       </Fragment>\r
+</Wix>\r
diff --git a/src/TortoiseGitSetup/SubWCRev.wxs b/src/TortoiseGitSetup/SubWCRev.wxs
new file mode 100644 (file)
index 0000000..6377270
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version='1.0' encoding='windows-1252'?>\r
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">\r
+  <?include Includes.wxi?>\r
+  <Product\r
+  UpgradeCode="E973E6F7-CB9B-4f9e-9C04-52FE03F19BF2"\r
+  Name='SubWCRev standalone app'\r
+  Id='*'\r
+  Language='1033'\r
+  Codepage='1252'\r
+  Version='$(var.VersionNumberInternal)'\r
+  Manufacturer='TortoiseSVN'>\r
+\r
+    <Package Id='*'\r
+                       Keywords="Sourcecontrol;Subversion;TortoiseSVN"\r
+                       Description="Subversion revision tool"\r
+                       Comments="Tool to find the global revision of a Subversion working copy"\r
+                       Manufacturer="$(var.PackageManufacturer)"\r
+                       InstallerVersion="100"\r
+                       Platform="$(var.PackagePlatforms)"\r
+                       Languages="1033"\r
+                       Compressed="yes"\r
+                       SummaryCodepage="1252"/>\r
+\r
+    <Upgrade Id="E973E6F7-CB9B-4f9e-9C04-52FE03F19BF2" >\r
+      <!-- flag is set if the install will trigger an upgrade of an existing install -->\r
+      <UpgradeVersion Property="PREVIOUSVERSIONSINSTALLED" Maximum="$(var.VersionNumberInternal)" IncludeMaximum="no" />\r
+    </Upgrade>\r
+\r
+       <Property Id="TSVN">\r
+               <RegistrySearch Id="PreviousInstallLocationRegistrySearch" Root="HKLM" Key="Software\[Manufacturer]" Name="Directory" Type="raw"/>\r
+       </Property>\r
+\r
+       <Property Id="ALLUSERS">1</Property>\r
+\r
+       <Condition Message="TortoiseSVN is installed on this machine. [ProductName] is already part of TortoiseSVN!">TSVN=""</Condition>\r
+\r
+    <Media Id='1' Cabinet='SubWCRev.cab' EmbedCab='yes' CompressionLevel="high" />\r
+\r
+    <Directory Id='TARGETDIR' Name='SourceDir'>\r
+      <Directory Id='ProgramFilesFolder' Name='PFiles'>\r
+        <Directory Id='INSTALLDIR' Name='SubWCRev' >\r
+          <Component Id='Main' Guid='EEE2185B-817B-4482-9D57-2D17291DCAEF'>\r
+\r
+            <File Id='SUBWCREV' Name='SubWCRev.exe' DiskId='1' Source='..\..\bin\releasestatic\bin\SubWCRev.exe' Vital='yes'></File>\r
+            <File Id="SUBWCREVCOM" Name="SubWCRevCOM.exe" DiskId="1" Source="..\..\bin\releasestatic\bin\SubWCRevCOM.exe" />\r
+\r
+            <!-- register the SubWCRev COM-Object -->\r
+            <RegistryKey Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}" Action="createAndRemoveOnUninstall" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}\LocalServer32" Value="[INSTALLDIR]\SubWCRevCOM.exe /automation" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}\ProgID" Value="SubWCRev.object.1" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}\VersionIndependentProgID" Value="SubWCRev.object" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}\TypeLib" Value="{$(var.GuidSubWCRevTypeLib)}" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\CLSID\{$(var.GuidSubWCRev)}" Value="SubWCRev Server Object" Type="string" />\r
+\r
+            <RegistryKey Root="HKLM" Key="Software\Classes\SubWCRev.object" Action="createAndRemoveOnUninstall" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object" Value="SubWCRev Server Object" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object\CLSID" Value="{$(var.GuidSubWCRev)}" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object\CurVer" Value="SubWCRev.object.1" Type="string" />\r
+\r
+            <RegistryKey Root="HKLM" Key="Software\Classes\SubWCRev.object.1" Action="createAndRemoveOnUninstall" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object.1" Value="SubWCRev Server Object" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\SubWCRev.object.1\CLSID" Value="{$(var.GuidSubWCRev)}" Type="string" />\r
+\r
+            <RegistryKey Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}" Action="createAndRemoveOnUninstall" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\1.0" Value="LibSubWCRev" Type="string" />\r
+            <RegistryKey Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\1.0\0" Action="createAndRemoveOnUninstall" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\1.0\0\win32" Value="[INSTALLDIR]\SubWCRevCOM.exe" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\1.0\FLAGS" Value="0" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\TypeLib\{$(var.GuidSubWCRevTypeLib)}\1.0\HELPDIR" Value="[INSTALLDIR]" Type="string" />\r
+\r
+            <RegistryKey Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}" Action="createAndRemoveOnUninstall" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}" Value="ISubWCRev" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}\ProxyStubClsid" Value="{00020424-0000-0000-C000-000000000046}" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}\ProxyStubClsid32" Value="{00020424-0000-0000-C000-000000000046}" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}\TypeLib" Value="{$(var.GuidSubWCRevTypeLib)}" Type="string" />\r
+            <RegistryValue Root="HKLM" Key="Software\Classes\Interface\{$(var.GuidSubWCRevInterface)}\TypeLib" Name="Version" Value="1.0" Type="string" />\r
+\r
+            <Environment Id="Environment" Name="PATH" Part="last" System="yes" Value="[INSTALLDIR]" Action="set" />\r
+          </Component>\r
+        </Directory>\r
+      </Directory>\r
+\r
+    </Directory>\r
+\r
+       <WixVariable Id="WixUILicenseRtf" Value="include\TSVN_eula.rtf" />\r
+       <WixVariable Id="WixUIBannerBmp" Value="include\BannerStatic.jpg" />\r
+       <WixVariable Id="WixUIDialogBmp" Value="include\DialogStatic.jpg" />\r
+       <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />\r
+       <UIRef Id="WixUI_InstallDir" />\r
+\r
+    <Feature Id='Complete' Title='SubWCRev' Description='SubWCRev, the main component'\r
+      Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'>\r
+      <Feature Id='Main' Title='Program' Description='SubWCRev, the main component.' Level='1'>\r
+        <ComponentRef Id='Main' />\r
+      </Feature>\r
+    </Feature>\r
+\r
+    <InstallExecuteSequence>\r
+      <!-- AppSearch must be done before RemoveExistingProducts and before FindRelatedProducts -->\r
+      <AppSearch Sequence="1"></AppSearch>\r
+      <LaunchConditions After="AppSearch" />\r
+      <RemoveExistingProducts After="InstallValidate"><![CDATA[PREVIOUSVERSIONSINSTALLED]]></RemoveExistingProducts>\r
+    </InstallExecuteSequence>\r
+\r
+  </Product>\r
+</Wix>\r
diff --git a/src/TortoiseGitSetup/TortoiseSVN.wxs b/src/TortoiseGitSetup/TortoiseSVN.wxs
new file mode 100644 (file)
index 0000000..9d2c3f6
--- /dev/null
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">\r
+       <?include Includes.wxi?>\r
+       <Product\r
+       UpgradeCode="$(var.UpgradeGuid)"\r
+       Name="$(var.ProductName) $(var.VersionNumberUserVisible) $(var.PlatformUserVisible)"\r
+       Id="*"\r
+       Version="$(var.VersionNumberInternal)"\r
+       Manufacturer="TortoiseSVN"\r
+       Language="1033">\r
+               <Package\r
+               Id="*"\r
+               Keywords="$(var.PackageKeywords)"\r
+               Description="$(var.PackageDescription)"\r
+               Comments="$(var.PackageComments)"\r
+               Manufacturer="$(var.PackageManufacturer)"\r
+               InstallerVersion="300"\r
+               Platform="$(var.PackagePlatforms)"\r
+               Languages="1033"\r
+               Compressed="yes"\r
+               SummaryCodepage="1252"/>\r
+\r
+               <Upgrade Id="$(var.UpgradeGuid)" >\r
+                       <!-- upgrade is flagged if current-install is newer than or equal to package - TODO: should make a dialog appear asking user to confirm downgrade.  -->\r
+                       <UpgradeVersion Property="NEWERVERSIONDETECTED" Minimum="$(var.VersionNumberInternal)" OnlyDetect="yes" />\r
+\r
+                       <!-- flag is set if the install will trigger an upgrade of an existing install -->\r
+                       <UpgradeVersion Property="PREVIOUSVERSIONSINSTALLED" Maximum="$(var.VersionNumberInternal)" IncludeMaximum="no" />\r
+               </Upgrade>\r
+\r
+               <Media Id="1" Cabinet="TSVN.cab" EmbedCab="yes" CompressionLevel="high" />\r
+\r
+               <Icon Id="TSVNIcon" SourceFile="..\Resources\Tortoise.ico" />\r
+\r
+               <!-- Launch Condition related properties ................................................................................. -->\r
+               <Property Id="VERSIONIE">\r
+                       <RegistrySearch Id="RegSearchIeVersion" Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer" Name="Version" Type="raw" Win64="$(var.Win64YesNo)"/>\r
+               </Property>\r
+               <Condition Message="[ProductName] needs at least Internet Explorer 5">NOT ((VERSIONIE&lt;&lt;"1") OR (VERSIONIE&lt;&lt;"2") OR (VERSIONIE&lt;&lt;"3") OR (VERSIONIE&lt;&lt;"4"))</Condition>\r
+\r
+               <?if $(env.Platform) = "win32" ?>\r
+               <Property Id="GDIPLUSINSTALLED">\r
+                       <DirectorySearch Id="WND" Path="[SystemFolder]">\r
+                               <FileSearch Name="GDIPlus.dll" />\r
+                       </DirectorySearch>\r
+               </Property>\r
+               <Condition Message="You must have GDIPlus installed. Please download it from Microsoft and copy the GDIPlus.dll into your Windows\System32 folder."><![CDATA[((GDIPLUSINSTALLED<>"") OR (VersionNT <> 500))]]></Condition>\r
+               <?endif ?>\r
+\r
+               <Property Id="ShowChangelogCheck">1</Property>\r
+               <Property Id="ALLUSERS">1</Property>\r
+\r
+               <Condition Message="[ProductName] requires a Windows NT based OS (Windows 2000 or later, specifically).">VersionNT</Condition>\r
+               <Condition Message="[ProductName] requires Windows 2000 or later."><![CDATA[VersionNT >= 500]]></Condition>\r
+\r
+               <!-- Show/Don't-show changelog related properties and custom actions ..................................................... -->\r
+               <Property Id="TEXTEDITOR">\r
+                       <DirectorySearch Id="FileSearchTextEditorExe" Path="[WindowsFolder]">\r
+                               <FileSearch Id="FileSearchTextEditorExe" Name="notepad.exe" />\r
+                       </DirectorySearch>\r
+               </Property>\r
+               <CustomAction Id="Set_ShowChangelog" Property="ShowChangelog" Value="Yes" Return="check" />\r
+               <CustomAction Id="ShowChangelogAction" Property="TEXTEDITOR" ExeCommand="[INSTALLDIR]changelog.txt" Return="asyncNoWait" />\r
+               <CustomAction Id="ShowDonatePage" BinaryKey="CustomActionsDLL" DllEntry="OpenDonatePage" />\r
+               <CustomAction Id="KillCache" BinaryKey="CustomActionsDLL" DllEntry="TerminateCache" />\r
+               <Binary Id="CustomActionsDLL" SourceFile="..\..\bin\$(var.ReleasePath)\bin\CustomActions.dll" />\r
+\r
+               <!-- Unsafe-check properties and custom actions .......................................................................... -->\r
+               <Property Id="VSDUIANDADVERTISED">This advertised application will not be installed because it might be unsafe. Contact your administrator to change the installation user interface option of the package to basic.</Property>\r
+               <CustomAction Id="ERRCA_UIANDADVERTISED" Error="[VSDUIANDADVERTISED]" />\r
+\r
+               <!-- Figure out where a previous installation was, if any ................................................................ -->\r
+               <?if $(env.Platform) = "x64" ?>\r
+               <CustomAction Id="DefaultTargetDir" Property="INSTALLDIR" Value="[ProgramFiles64Folder]$(var.ProductName)" Execute="immediate" />\r
+               <Property Id="INSTALLDIR">\r
+                       <RegistrySearch Id="PreviousInstallLocationRegistrySearch" Root="HKLM" Key="Software\[Manufacturer]" Name="Directory" Type="raw" Win64="$(var.Win64YesNo)"/>\r
+               </Property>\r
+               <?else ?>\r
+               <CustomAction Id="DefaultTargetDir" Property="INSTALLDIR" Value="[ProgramFilesFolder]$(var.ProductName)" Execute="immediate" />\r
+               <Property Id="INSTALLDIR">\r
+                       <RegistrySearch Id="PreviousInstallLocationRegistrySearch" Root="HKLM" Key="Software\[Manufacturer]" Name="Directory" Type="raw" Win64="$(var.Win64YesNo)"/>\r
+               </Property>\r
+               <?endif ?>\r
+\r
+               <DirectoryRef Id="TARGETDIR"/>\r
+\r
+               <FeatureRef Id="DefaultFeature" />\r
+\r
+               <UIRef Id="UIFrag" />\r
+\r
+               <!-- Execute Sequencing ................................................................................................. -->\r
+               <AdminExecuteSequence />\r
+               <InstallExecuteSequence>\r
+                       <!-- AppSearch must be done before RemoveExistingProducts and before FindRelatedProducts -->\r
+                       <AppSearch Sequence="1"></AppSearch>\r
+                       <LaunchConditions After="AppSearch" />\r
+                       <Custom Action="DefaultTargetDir" After="LaunchConditions">INSTALLDIR=""</Custom>\r
+                       <RemoveExistingProducts After="InstallFinalize"><![CDATA[PREVIOUSVERSIONSINSTALLED OR (NOT NEWERVERSIONDETECTED AND OKTODOWNGRADE = 1)]]></RemoveExistingProducts>\r
+                       <Custom Action="KillCache" After="RemoveExistingProducts">Installed</Custom>\r
+                       <ScheduleReboot After="RegisterProduct" />\r
+               </InstallExecuteSequence>\r
+\r
+               <!-- UI Sequencing ...................................................................................................... -->\r
+               <AdminUISequence>\r
+                       <Show Dialog="FatalErrorDlg" OnExit="error" />\r
+                       <Show Dialog="UserExit" OnExit="cancel" />\r
+                       <Show Dialog="ExitDlg" OnExit="success" />\r
+                       <Show Dialog="PrepareDlg" Before="CostInitialize"><![CDATA[]]></Show>\r
+                       <Show Dialog="AdminWelcomeDlg" After="CostFinalize" />\r
+                       <Show Dialog="ProgressDlg" After="AdminWelcomeDlg" />\r
+               </AdminUISequence>\r
+               <InstallUISequence>\r
+                       <Show Dialog="FatalErrorDlg" OnExit="error" />\r
+                       <Show Dialog="UserExit" OnExit="cancel" />\r
+                       <Show Dialog="ExitDlg" OnExit="success" />\r
+                       <Show Dialog="PrepareDlg" After="LaunchConditions" />\r
+                       <Show Dialog="WelcomeDlg" After="MigrateFeatureStates"><![CDATA[NOT Installed]]></Show>\r
+                       <Show Dialog="ResumeDlg" After="WelcomeDlg"><![CDATA[Installed AND (RESUME OR Preselected)]]></Show>\r
+                       <Show Dialog="MaintenanceWelcomeDlg" After="ResumeDlg"><![CDATA[Installed AND NOT RESUME AND NOT Preselected]]></Show>\r
+                       <Show Dialog="ProgressDlg" After="MaintenanceWelcomeDlg" />\r
+\r
+                       <FindRelatedProducts Suppress="no">1</FindRelatedProducts>\r
+\r
+                       <Custom Action="DefaultTargetDir" After="PrepareDlg">INSTALLDIR=""</Custom>\r
+                       <Custom Action="ERRCA_UIANDADVERTISED" Before="AppSearch">ProductState=1</Custom>\r
+                       <Custom Action="Set_ShowChangelog" After="AppSearch">NOT Installed</Custom>\r
+               </InstallUISequence>\r
+       </Product>\r
+</Wix>\r
+\r
+\r
diff --git a/src/TortoiseGitSetup/UIFragment.wxs b/src/TortoiseGitSetup/UIFragment.wxs
new file mode 100644 (file)
index 0000000..db25327
--- /dev/null
@@ -0,0 +1,1110 @@
+<?xml version="1.0"?>\r
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">\r
+       <?include Includes.wxi?>\r
+       <Fragment Id="UIFragment">\r
+               <UI Id="UIFrag">\r
+                       <!-- Add/Remove Programs (ARP) related properties ................................ -->\r
+                       <Property Id="ARPCOMMENTS">$(var.PackageComments)</Property>\r
+                       <Property Id="ARPCONTACT">$(var.PackageManufacturer)</Property>\r
+                       <Property Id="ARPHELPLINK">$(var.TortoiseSvnOrg)</Property>\r
+                       <Property Id="ARPPRODUCTICON">TSVNIcon</Property>\r
+                       <Property Id="ARPNOMODIFY">1</Property>\r
+                       <Property Id="ARPNOREPAIR">1</Property>\r
+                       <Property Id="ARPURLINFOABOUT">$(var.TortoiseSvnOrg)</Property>\r
+\r
+                       <!-- UI Button Texts ............................................................. -->\r
+                       <Property Id="ButtonText_Back"><![CDATA[< &Back]]></Property>\r
+                       <Property Id="ButtonText_Browse"><![CDATA[Br&owse]]></Property>\r
+                       <Property Id="ButtonText_Cancel"><![CDATA[Cancel]]></Property>\r
+                       <Property Id="ButtonText_Exit"><![CDATA[&Exit]]></Property>\r
+                       <Property Id="ButtonText_Finish"><![CDATA[&Finish]]></Property>\r
+                       <Property Id="ButtonText_Ignore"><![CDATA[&Ignore]]></Property>\r
+                       <Property Id="ButtonText_Install"><![CDATA[&Install]]></Property>\r
+                       <Property Id="ButtonText_Next"><![CDATA[&Next >]]></Property>\r
+                       <Property Id="ButtonText_No"><![CDATA[&No]]></Property>\r
+                       <Property Id="ButtonText_OK"><![CDATA[OK]]></Property>\r
+                       <Property Id="ButtonText_Remove"><![CDATA[&Remove]]></Property>\r
+                       <Property Id="ButtonText_Repair"><![CDATA[&Repair]]></Property>\r
+                       <Property Id="ButtonText_Reset"><![CDATA[&Reset]]></Property>\r
+                       <Property Id="ButtonText_Resume"><![CDATA[&Resume]]></Property>\r
+                       <Property Id="ButtonText_Retry"><![CDATA[&Retry]]></Property>\r
+                       <Property Id="ButtonText_Return"><![CDATA[&Return]]></Property>\r
+                       <Property Id="ButtonText_Yes"><![CDATA[&Yes]]></Property>\r
+\r
+                       <!-- UI Variables ................................................................ -->\r
+                       <Property Id="IAgree">No</Property>\r
+                       <Property Id="InstallMode">Complete</Property>\r
+                       <Property Id="Setup">Setup</Property>\r
+                       <Property Id="Progress1">Installing</Property>\r
+                       <Property Id="Progress2">installs</Property>\r
+                       <Property Id="Wizard">Setup Wizard</Property>\r
+\r
+                       <!-- UI Icons .................................................................... -->\r
+                       <Property Id="CompleteSetupIcon">completi</Property>\r
+                       <Property Id="CustomSetupIcon">custicon</Property>\r
+                       <Property Id="ExclamationIcon">exclamic</Property>\r
+                       <Property Id="InfoIcon">info</Property>\r
+                       <Property Id="InstallerIcon">insticon</Property>\r
+                       <Property Id="RemoveIcon">removico</Property>\r
+                       <Property Id="RepairIcon">repairic</Property>\r
+\r
+                       <!-- UI Bitmaps .................................................................. -->\r
+                       <Property Id="BannerBitmap">bannrbmp</Property>\r
+                       <Property Id="DialogBitmap">dlgbmp</Property>\r
+\r
+                       <!-- UI Fonts .................................................................... -->\r
+                       <Property Id="DefaultUIFont">DlgFont8</Property>\r
+                       <Property Id="DlgTitleFont"><![CDATA[{&DlgFontBold8}]]></Property>\r
+\r
+                       <!-- UI Other .................................................................... -->\r
+                       <Property Id="ErrorDialog">ErrorPopup</Property>\r
+                       <Property Id="INSTALLLEVEL">3</Property>\r
+                       <!-- http://msdn2.microsoft.com/en-us/library/aa369536.aspx -->\r
+\r
+                       <Property Id="PROMPTROLLBACKCOST">P</Property>\r
+                       <!-- http://msdn2.microsoft.com/en-us/library/aa370887.aspx -->\r
+\r
+                       <!-- UI Binaries ................................................................. -->\r
+                       <Binary Id="Up" SourceFile="include\Up.ico" />\r
+                       <Binary Id="New" SourceFile="include\New.ico" />\r
+                       <Binary Id="custicon" SourceFile="include\Custom.ico" />\r
+                       <Binary Id="repairic" SourceFile="include\Repair.ico" />\r
+                       <Binary Id="exclamic" SourceFile="include\Exclam.ico" />\r
+                       <Binary Id="removico" SourceFile="include\Remove.ico" />\r
+                       <Binary Id="completi" SourceFile="include\Complete.ico" />\r
+                       <Binary Id="insticon" SourceFile="include\Typical.ico" />\r
+                       <Binary Id="info" SourceFile="include\Info.ico" />\r
+                       <Binary Id="bannrbmp" SourceFile="include\Banner.jpg" />\r
+                       <Binary Id="dlgbmp" SourceFile="include\Dialog.jpg" />\r
+\r
+                       <!-- Text Styles .............................................................................................. -->\r
+                       <TextStyle Id="DlgFont8" FaceName="Tahoma" Size="8" />\r
+                       <TextStyle Id="DlgFontBold8" FaceName="Tahoma" Size="8" Bold="yes" />\r
+                       <TextStyle Id="VerdanaBold13" FaceName="Verdana" Size="13" Bold="yes" />\r
+\r
+                       <!-- Dialogs .................................................................................................. -->\r
+                       <!-- The dialogs' code is laid out: wizard-buttons, content, common-presentation-elements ..................... -->\r
+                       <Dialog Id="AdminBrowseDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_OK]">\r
+                                       <Publish Event="SetTargetPath" Value="TARGETDIR">1</Publish>\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="240" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="Reset" Value="0">1</Publish>\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="ComboLabel" Type="Text" X="25" Y="58" Width="44" Height="10" TabSkip="no" Text="&amp;Look in:" />\r
+                               <Control Id="DirectoryCombo" Type="DirectoryCombo" X="70" Y="55" Width="220" Height="80" Property="TARGETDIR" Removable="yes" Fixed="yes" Remote="yes">\r
+                                       <Subscribe Event="IgnoreChange" Attribute="IgnoreChange" />\r
+                               </Control>\r
+                               <Control Id="Up" Type="PushButton" X="298" Y="55" Width="19" Height="19" ToolTip="Up One Level" Icon="yes" FixedSize="yes" IconSize="16" Text="Up">\r
+                                       <Publish Event="DirectoryListUp" Value="0">1</Publish>\r
+                               </Control>\r
+                               <Control Id="NewFolder" Type="PushButton" X="325" Y="55" Width="19" Height="19" ToolTip="Create A New Folder" Icon="yes" FixedSize="yes" IconSize="16" Text="New">\r
+                                       <Publish Event="DirectoryListNew" Value="0">1</Publish>\r
+                               </Control>\r
+                               <Control Id="DirectoryList" Type="DirectoryList" X="25" Y="83" Width="320" Height="110" Property="TARGETDIR" Sunken="yes" TabSkip="no" />\r
+                               <Control Id="PathLabel" Type="Text" X="25" Y="205" Width="59" Height="10" TabSkip="no" Text="&amp;Folder name:" />\r
+                               <Control Id="PathEdit" Type="PathEdit" X="84" Y="202" Width="261" Height="17" Property="TARGETDIR" />\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Change current destination folder</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>Browse to the destination folder</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="AdminInstallPointDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">\r
+                                       <Publish Event="NewDialog" Value="AdminWelcomeDlg">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">\r
+                                       <Publish Event="SetTargetPath" Value="TARGETDIR">1</Publish>\r
+                                       <Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="25" Y="80" Width="320" Height="10" TabSkip="no">\r
+                                       <Text>&amp;Enter a new network location or click Browse to browse to one.</Text>\r
+                               </Control>\r
+                               <Control Id="PathEdit" Type="PathEdit" X="25" Y="93" Width="320" Height="18" Property="TARGETDIR" />\r
+                               <Control Id="Browse" Type="PushButton" X="289" Y="119" Width="56" Height="17" Text="[ButtonText_Browse]">\r
+                                       <Publish Event="SpawnDialog" Value="AdminBrowseDlg">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Network Location</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>Please specify a network location for the server image of [ProductName] product</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="AdminWelcomeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />\r
+                               <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">\r
+                                       <Publish Property="InstallMode" Value="Server Image">1</Publish>\r
+                                       <Publish Event="ValidateProductID" Value="0">0</Publish>\r
+                                       <Publish Event="NewDialog" Value="AdminInstallPointDlg">ProductID</Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="BackgroundBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>\r
+                               </Control>\r
+                               <Control Id="DialogDescription" Type="Text" X="135" Y="70" Width="220" Height="30" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>The [Wizard] will create a server image of [ProductName], at a specified network location. Click Next to continue or Cancel to exit the [Wizard].</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="BrowseDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_OK]">\r
+                                       <Publish Event="SetTargetPath" Value="[_BrowseProperty]">1</Publish>\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="240" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="Reset" Value="0">1</Publish>\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="ComboLabel" Type="Text" X="25" Y="58" Width="44" Height="10" TabSkip="no" Text="&amp;Look in:" />\r
+                               <Control Id="DirectoryCombo" Type="DirectoryCombo" X="70" Y="55" Width="220" Height="80" Property="_BrowseProperty" Indirect="yes" Fixed="yes" Remote="yes">\r
+                                       <Subscribe Event="IgnoreChange" Attribute="IgnoreChange" />\r
+                               </Control>\r
+                               <Control Id="Up" Type="PushButton" X="298" Y="55" Width="19" Height="19" ToolTip="Up One Level" Icon="yes" FixedSize="yes" IconSize="16" Text="Up">\r
+                                       <Publish Event="DirectoryListUp" Value="0">1</Publish>\r
+                               </Control>\r
+                               <Control Id="NewFolder" Type="PushButton" X="325" Y="55" Width="19" Height="19" ToolTip="Create A New Folder" Icon="yes" FixedSize="yes" IconSize="16" Text="New">\r
+                                       <Publish Event="DirectoryListNew" Value="0">1</Publish>\r
+                               </Control>\r
+                               <Control Id="DirectoryList" Type="DirectoryList" X="25" Y="83" Width="320" Height="110" Property="_BrowseProperty" Sunken="yes" Indirect="yes" TabSkip="no" />\r
+                               <Control Id="PathLabel" Type="Text" X="25" Y="205" Width="59" Height="10" TabSkip="no" Text="&amp;Folder name:" />\r
+                               <Control Id="PathEdit" Type="PathEdit" X="84" Y="202" Width="261" Height="18" Property="_BrowseProperty" Indirect="yes" />\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Change current destination folder</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>Browse to the destination folder</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="CancelPopup" Width="260" Height="85" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="No" Type="PushButton" X="132" Y="57" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_No]">\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Yes" Type="PushButton" X="72" Y="57" Width="56" Height="17" Text="[ButtonText_Yes]">\r
+                                       <Publish Event="EndDialog" Value="Exit">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Icon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Information icon" FixedSize="yes" IconSize="32" Text="[InfoIcon]" />\r
+                               <Control Id="Text" Type="Text" X="48" Y="15" Width="194" Height="30">\r
+                                       <Text>Are you sure you want to cancel [ProductName] installation?</Text>\r
+                               </Control>\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="CustomizeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">\r
+                                       <Publish Event="NewDialog" Value="MaintenanceTypeDlg"><![CDATA[InstallMode = "Change"]]></Publish>\r
+                                       <Publish Event="NewDialog" Value="LicenseAgreementDlg"><![CDATA[InstallMode = "Custom"]]></Publish>\r
+                               </Control>\r
+                               <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">\r
+                                       <Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>\r
+                                       <Subscribe Event="SelectionNoItems" Attribute="Enabled" />\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Reset" Type="PushButton" X="42" Y="243" Width="56" Height="17" Text="[ButtonText_Reset]">\r
+                                       <Publish Event="Reset" Value="0">1</Publish>\r
+                                       <Subscribe Event="SelectionNoItems" Attribute="Enabled" />\r
+                               </Control>\r
+                               <Control Id="DiskCost" Type="PushButton" X="111" Y="243" Width="56" Height="17">\r
+                                       <Text>Disk &amp;Usage</Text>\r
+                                       <Publish Event="SpawnDialog" Value="DiskCostDlg">1</Publish>\r
+                                       <Subscribe Event="SelectionNoItems" Attribute="Enabled" />\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="25" Y="50" Width="320" Height="12">\r
+                                       <Text>Click on the icons in the tree below to change the way features will be installed.</Text>\r
+                               </Control>\r
+                               <Control Id="Tree" Type="SelectionTree" X="25" Y="70" Width="175" Height="130" Property="_BrowseProperty" Sunken="yes" TabSkip="no" Text="Tree of selections" />\r
+                               <Control Id="DescriptionBox" X="205" Y="66" Width="140" Height="75" Type="GroupBox" Text="Feature Description" />\r
+                               <Control Id="ItemDescription" X="210" Y="76" Width="130" Height="80" Text="Multiline description of the currently selected item." Type="Text">\r
+                                       <Text>Multiline description of the currently selected item.</Text>\r
+                                       <Subscribe Event="SelectionDescription" Attribute="Text" />\r
+                               </Control>\r
+                               <Control Id="SizeBox" X="205" Y="143" Width="140" Height="58" Type="GroupBox" Text="Feature Size" />\r
+                               <Control Id="ItemSize" Type="Text" X="210" Y="153" Width="130" Height="43">\r
+                                       <Text>The size of the currently selected item.</Text>\r
+                                       <Subscribe Event="SelectionSize" Attribute="Text" />\r
+                               </Control>\r
+\r
+                               <Control Id="LocationLabel" Type="Text" X="25" Y="210" Width="50" Height="10" Text="Location:">\r
+                                       <Subscribe Event="SelectionPathOn" Attribute="Visible" />\r
+                                       <Condition Action="hide">Installed</Condition>\r
+                               </Control>\r
+                               <Control Id="Location" Type="Text" X="75" Y="210" Width="215" Height="20">\r
+                                       <Text>&lt;The selection's path&gt;</Text>\r
+                                       <Subscribe Event="SelectionPath" Attribute="Text" />\r
+                                       <Subscribe Event="SelectionPathOn" Attribute="Visible" />\r
+                                       <Condition Action="hide">Installed</Condition>\r
+                               </Control>\r
+                               <Control Id="Browse" Type="PushButton" X="304" Y="210" Width="56" Height="17" Text="[ButtonText_Browse]">\r
+                                       <Publish Event="SelectionBrowse" Value="BrowseDlg">1</Publish>\r
+                                       <Condition Action="hide">Installed</Condition>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Custom Setup</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>Pick an install location and which features you want.</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="DiskCostDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_OK]">\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="20" Y="53" Width="330" Height="40">\r
+                                       <Text>The highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).</Text>\r
+                               </Control>\r
+                               <Control Id="VolumeList" Type="VolumeCostList" X="20" Y="100" Width="330" Height="120" Sunken="yes" Fixed="yes" Remote="yes">\r
+                                       <Text>{100}{55}{55}{50}{55}</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Disk Space Requirements</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>The disk space required for the installation of the selected features.</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="ErrorPopup" Width="270" Height="105" Title="Installer Information" ErrorDialog="yes" NoMinimize="yes">\r
+                               <Control Id="ErrorIcon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Information icon" FixedSize="yes" IconSize="32" Text="[InfoIcon]" />\r
+                               <Control Id="ErrorText" Type="Text" X="48" Y="15" Width="205" Height="60" TabSkip="no" Text="Information text" />\r
+\r
+                               <Control Id="Y" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Yes]">\r
+                                       <Publish Event="EndDialog" Value="ErrorYes">1</Publish>\r
+                               </Control>\r
+                               <Control Id="A" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="EndDialog" Value="ErrorAbort">1</Publish>\r
+                               </Control>\r
+                               <Control Id="C" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="EndDialog" Value="ErrorCancel">1</Publish>\r
+                               </Control>\r
+                               <Control Id="I" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Ignore]">\r
+                                       <Publish Event="EndDialog" Value="ErrorIgnore">1</Publish>\r
+                               </Control>\r
+                               <Control Id="N" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_No]">\r
+                                       <Publish Event="EndDialog" Value="ErrorNo">1</Publish>\r
+                               </Control>\r
+                               <Control Id="O" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_OK]">\r
+                                       <Publish Event="EndDialog" Value="ErrorOk">1</Publish>\r
+                               </Control>\r
+                               <Control Id="R" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Retry]">\r
+                                       <Publish Event="EndDialog" Value="ErrorRetry">1</Publish>\r
+                               </Control>\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="ExitDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />\r
+                               <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">\r
+                                       <Publish Event="DoAction" Value="ShowChangelogAction">(NOT Installed) AND (ShowChangelogCheck = 1)</Publish>\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Cancel]" />\r
+\r
+                               <Control Id="BackgroundBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>{\VerdanaBold13}Completing the [ProductName] [Wizard]</Text>\r
+                               </Control>\r
+\r
+                               <!-- Since Checkboxes aren't transparent, reduce the checkbox control to the actual box alone, and add\r
+                                        a normal text control adjacent to it, with the text control being transparent -->\r
+                               <Control Id="ChangeLog" Type="CheckBox" X="135" Y="120" Width="12" Height="12"\r
+                                                       Property='ShowChangelogCheck' CheckBoxValue='1' >\r
+                                       <Condition Action="hide">(Installed)</Condition>\r
+                               </Control>\r
+                               <Control Id="Changelogtext" Type="Text" X="150" Y="120" Width="150" Height="20" Transparent="yes" NoPrefix="yes" >\r
+                                       <Text>Show Changelog</Text>\r
+                                       <Condition Action="hide">(Installed)</Condition>\r
+                               </Control>\r
+                               <Control Id="DialogDescription" Type="Text" X="135" Y="70" Width="220" Height="20" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>Click the Finish button to exit the [Wizard].</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="DonateText" Type="Text" X="135" Y="150" Width="200" Height="40" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>Thanks for using TortoiseSVN. You can show your appreciation and support future development by donating!</Text>\r
+                               </Control>\r
+                               <Control Id="DonateButton" Type="PushButton" X="279" Y="190" Width="56" Height="17" Disabled="no" Text="Donate!">\r
+                                       <Publish Event="DoAction" Value="ShowDonatePage">1</Publish>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="FatalErrorDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />\r
+                               <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">\r
+                                       <Publish Event="EndDialog" Value="Exit">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Cancel]" />\r
+\r
+                               <Control Id="Description1" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>[ProductName] setup ended prematurely because of an error. Your system has not been modified. To install this program at a later time, please run the installation again.</Text>\r
+                               </Control>\r
+                               <Control Id="Description2" Type="Text" X="135" Y="115" Width="220" Height="20" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>Click the Finish button to exit the [Wizard].</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="BackgroundBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>{\VerdanaBold13}[ProductName] [Wizard] ended prematurely</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <!-- Setting the FilesInUse dialog to NoMinimize="yes" Modeless="yes" and Hidden="yes" will force its\r
+           attributes to zero. And that will make msi not show the dialog for the normal UI sequence but\r
+           simply ignore all files in use. Since we have to do a reboot anyway, that's what we want. -->\r
+                       <Dialog Id="FilesInUse" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" Modeless="yes" Hidden="yes">\r
+                               <Control Id="Retry" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Retry]">\r
+                                       <Publish Event="EndDialog" Value="Retry">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Ignore" Type="PushButton" X="235" Y="243" Width="56" Height="17" Text="[ButtonText_Ignore]">\r
+                                       <Publish Event="EndDialog" Value="Ignore">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Exit" Type="PushButton" X="166" Y="243" Width="56" Height="17" Text="[ButtonText_Exit]">\r
+                                       <Publish Event="EndDialog" Value="Exit">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="20" Y="55" Width="330" Height="30">\r
+                                       <Text>The following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.</Text>\r
+                               </Control>\r
+                               <Control Id="List" Type="ListBox" X="20" Y="87" Width="330" Height="130" Property="FileInUseProcess" Sunken="yes" TabSkip="yes" />\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Files in Use</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>Some files that need to be updated are currently in use.</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="LicenseAgreementDlg" Width="370" Height="270" Title="[ProductName] License Agreement" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">\r
+                                       <Publish Event="NewDialog" Value="WelcomeDlg">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">\r
+                                       <Publish Event="SpawnWaitDialog" Value="WaitForCostingPopup">CostingComplete = 1</Publish>\r
+                                       <Publish Event="NewDialog" Value="CustomizeDlg">"Yes"</Publish>\r
+                                       <Publish Property="InstallMode" Value="Custom">1</Publish>\r
+                                       <Condition Action="disable"><![CDATA[IAgree <> "Yes"]]></Condition>\r
+                                       <Condition Action="enable">IAgree = "Yes"</Condition>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="AgreementText" Type="ScrollableText" X="5" Y="60" Width="360" Height="120" Sunken="yes" TabSkip="no">\r
+                                       <Text SourceFile="include\TSVN_eula.rtf" />\r
+                               </Control>\r
+                               <Control Id="Buttons" Type="RadioButtonGroup" X="10" Y="187" Width="330" Height="40" Property="IAgree" />\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]End-User License Agreement</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>Please read the following license agreement carefully</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <RadioButtonGroup Property="IAgree">\r
+                               <RadioButton Text="{\DlgFont8}I &amp;accept the terms in the License Agreement" Value="Yes" X="5" Y="0" Width="250" Height="15" />\r
+                               <RadioButton Text="{\DlgFont8}I &amp;do not accept the terms in the License Agreement" Value="No" X="5" Y="20" Width="250" Height="15" />\r
+                       </RadioButtonGroup>\r
+\r
+\r
+                       <Dialog Id="MaintenanceTypeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">\r
+                                       <Publish Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Next]" />\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="ChangeLabel" Type="Text" X="105" Y="65" Width="100" Height="10" TabSkip="no">\r
+                                       <Text>[DlgTitleFont]&amp;Modify</Text>\r
+                               </Control>\r
+                               <Control Id="ChangeText" Type="Text" X="105" Y="78" Width="230" Height="20">\r
+                                       <Text>Allows users to change the way features are installed.</Text>\r
+                               </Control>\r
+                               <Control Id="ChangeButton" Type="PushButton" X="50" Y="65" Width="38" Height="38" ToolTip="Modify Installation" Default="yes" Icon="yes" FixedSize="yes" IconSize="32" Text="[CustomSetupIcon]">\r
+                                       <Publish Property="InstallMode" Value="Change">1</Publish>\r
+                                       <Publish Property="Progress1" Value="Changing">1</Publish>\r
+                                       <Publish Property="Progress2" Value="changes">1</Publish>\r
+                                       <Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="RepairLabel" Type="Text" X="105" Y="114" Width="100" Height="10" TabSkip="no">\r
+                                       <Text>[DlgTitleFont]Re&amp;pair</Text>\r
+                               </Control>\r
+                               <Control Id="RepairText" Type="Text" X="105" Y="127" Width="230" Height="30">\r
+                                       <Text>Repairs errors in the most recent installation state - fixes missing or corrupt files, shortcuts and registry entries.</Text>\r
+                               </Control>\r
+                               <Control Id="RepairButton" Type="PushButton" X="50" Y="114" Width="38" Height="38" ToolTip="Repair Installation" Icon="yes" FixedSize="yes" IconSize="32" Text="[RepairIcon]">\r
+                                       <Publish Property="InstallMode" Value="Repair">1</Publish>\r
+                                       <Publish Property="Progress1" Value="Repairing">1</Publish>\r
+                                       <Publish Property="Progress2" Value="repaires">1</Publish>\r
+                                       <Publish Event="NewDialog" Value="VerifyRepairDlg">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="RemoveLabel" Type="Text" X="105" Y="163" Width="100" Height="10" TabSkip="no">\r
+                                       <Text>[DlgTitleFont]&amp;Remove</Text>\r
+                               </Control>\r
+                               <Control Id="RemoveText" Type="Text" X="105" Y="176" Width="230" Height="20">\r
+                                       <Text>Removes [ProductName] from your computer.</Text>\r
+                               </Control>\r
+                               <Control Id="RemoveButton" Type="PushButton" X="50" Y="163" Width="38" Height="38" ToolTip="Remove Installation" Icon="yes" FixedSize="yes" IconSize="32" Text="[RemoveIcon]">\r
+                                       <Publish Property="InstallMode" Value="Remove">1</Publish>\r
+                                       <Publish Property="Progress1" Value="Removing">1</Publish>\r
+                                       <Publish Property="Progress2" Value="removes">1</Publish>\r
+                                       <Publish Event="NewDialog" Value="VerifyRemoveDlg">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Modify, Repair or Remove installation</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>Select the operation you wish to perform.</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="MaintenanceWelcomeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />\r
+                               <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">\r
+                                       <Publish Event="SpawnWaitDialog" Value="WaitForCostingPopup">CostingComplete = 1</Publish>\r
+                                       <Publish Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="BackgroundBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>\r
+                               </Control>\r
+                               <Control Id="DialogDescription" Type="Text" X="135" Y="70" Width="220" Height="60" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>The [Wizard] will allow you to change the way [ProductName] features are installed on your computer or even to remove [ProductName] v$(var.VersionNumberUserVisible) from your computer. Click Next to continue or Cancel to exit the [Wizard].</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="OutOfDiskDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_OK]">\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="20" Y="53" Width="330" Height="40">\r
+                                       <Text>The highlighted volumes do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).</Text>\r
+                               </Control>\r
+                               <Control Id="VolumeList" Type="VolumeCostList" X="20" Y="100" Width="330" Height="120" Sunken="yes" Fixed="yes" Remote="yes">\r
+                                       <Text>{120}{70}{70}{70}{70}</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Out of Disk Space</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>Disk space required for the installation exceeds available disk space.</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="OutOfRbDiskDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="No" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_No]">\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Yes" Type="PushButton" X="240" Y="243" Width="56" Height="17" Text="[ButtonText_Yes]">\r
+                                       <Publish Event="EnableRollback" Value="False">1</Publish>\r
+                                       <Publish Event="EndDialog" Value="Return">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="20" Y="53" Width="330" Height="40">\r
+                                       <Text>The highlighted volumes do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).</Text>\r
+                               </Control>\r
+                               <Control Id="Text2" Type="Text" X="20" Y="94" Width="330" Height="40">\r
+                                       <Text>Alternatively, you may choose to disable the installer's rollback functionality. This allows the installer to restore your computer's original state should the installation be interrupted in any way. Click Yes if you wish to take the risk to disable rollback.</Text>\r
+                               </Control>\r
+                               <Control Id="VolumeList" Type="VolumeCostList" X="20" Y="140" Width="330" Height="80" Sunken="yes" Fixed="yes" Remote="yes" ShowRollbackCost="yes">\r
+                                       <Text>{120}{70}{70}{70}{70}</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Out of Disk Space</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>Disk space required for the installation exceeds available disk space.</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="PrepareDlg" Width="370" Height="270" Title="[ProductName] [Setup]" Modeless="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" TabSkip="yes" Text="[ButtonText_Back]" />\r
+                               <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="yes" TabSkip="yes" Text="[ButtonText_Next]" />\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="ActionText" Type="Text" X="135" Y="100" Width="220" Height="20" Transparent="yes" NoPrefix="yes">\r
+                                       <Subscribe Event="ActionText" Attribute="Text" />\r
+                               </Control>\r
+                               <Control Id="ActionData" Type="Text" X="135" Y="125" Width="220" Height="30" Transparent="yes" NoPrefix="yes">\r
+                                       <Subscribe Event="ActionData" Attribute="Text" />\r
+                               </Control>\r
+\r
+                               <Control Id="BackgroundBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>\r
+                               </Control>\r
+                               <Control Id="DialogDescription" Type="Text" X="135" Y="70" Width="220" Height="20" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>Please wait while the [Wizard] prepares to guide you through the installation.</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="ProgressDlg" Width="370" Height="270" Title="[ProductName] [Setup]" Modeless="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />\r
+                               <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Next]" />\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="35" Y="65" Width="300" Height="40">\r
+                                       <Text>Please wait while the [Wizard] [Progress2] [ProductName]. This may take several minutes.</Text>\r
+                               </Control>\r
+                               <Control Id="ActionText" Type="Text" X="70" Y="105" Width="265" Height="13">\r
+                                       <Subscribe Event="ActionText" Attribute="Text" />\r
+                               </Control>\r
+                               <Control Id="ProgressBar" Type="ProgressBar" X="35" Y="120" Width="300" Height="10" ProgressBlocks="yes" Text="Progress done">\r
+                                       <Subscribe Event="SetProgress" Attribute="Progress" />\r
+                               </Control>\r
+                               <Control Id="StatusLabel" Type="Text" X="35" Y="105" Width="35" Height="10" Text="Status:" />\r
+\r
+                               <Control Id="DonateText" Type="Text" X="35" Y="150" Width="300" Height="40" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>Thanks for using TortoiseSVN. You can show your appreciation and support future development by donating!</Text>\r
+                               </Control>\r
+                               <Control Id="DonateButton" Type="PushButton" X="279" Y="190" Width="56" Height="17" Disabled="no" Text="Donate!">\r
+                                       <Publish Event="DoAction" Value="ShowDonatePage">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont][Progress1] [ProductName]</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="ResumeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />\r
+                               <Control Id="Install" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Install]" ElevationShield="yes">\r
+                                       <Publish Event="SpawnWaitDialog" Value="WaitForCostingPopup">CostingComplete = 1</Publish>\r
+                                       <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>\r
+                                       <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)]]></Publish>\r
+                                       <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>\r
+                                       <Publish Event="EnableRollback" Value="False"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>\r
+                                       <Publish Event="SpawnDialog" Value="OutOfDiskDlg"><![CDATA[(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")]]></Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="BackgroundBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>{\VerdanaBold13}Resuming the [ProductName] [Wizard]</Text>\r
+                               </Control>\r
+                               <Control Id="DialogDescription" Type="Text" X="135" Y="70" Width="220" Height="30" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>The [Wizard] will complete the installation of [ProductName] on your computer. Click Install to continue or Cancel to exit the [Wizard].</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="UserExit" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />\r
+                               <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">\r
+                                       <Publish Event="EndDialog" Value="Exit">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Cancel]" />\r
+\r
+                               <Control Id="Description1" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>[ProductName] setup was interrupted. Your system has not been modified. To install this program at a later time, please run the installation again.</Text>\r
+                               </Control>\r
+                               <Control Id="Description2" Type="Text" X="135" Y="115" Width="220" Height="20" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>Click the Finish button to exit the [Wizard].</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="BackgroundBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>{\VerdanaBold13}[ProductName] [Wizard] was interrupted</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="VerifyReadyDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">\r
+                                       <Publish Event="NewDialog" Value="AdminInstallPointDlg"><![CDATA[InstallMode = "Server Image"]]></Publish>\r
+                                       <Publish Event="NewDialog" Value="CustomizeDlg"><![CDATA[InstallMode = "Custom" OR InstallMode = "Change"]]></Publish>\r
+                                       <Publish Event="NewDialog" Value="MaintenanceTypeDlg"><![CDATA[InstallMode = "Repair"]]></Publish>\r
+                               </Control>\r
+                               <Control Id="Install" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Install]" ElevationShield="yes">\r
+                                       <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>\r
+                                       <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)]]></Publish>\r
+                                       <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>\r
+                                       <Publish Event="EnableRollback" Value="False"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>\r
+                                       <Publish Event="SpawnDialog" Value="OutOfDiskDlg"><![CDATA[(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")]]></Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="40">\r
+                                       <Text>Click Install to begin the installation. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Ready to Install</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>The [Wizard] is ready to begin the [InstallMode] installation</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="VerifyRemoveDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Back]">\r
+                                       <Publish Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Remove" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="[ButtonText_Remove]">\r
+                                       <Publish Event="Remove" Value="All"><![CDATA[OutOfDiskSpace <> 1]]></Publish>\r
+                                       <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>\r
+                                       <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)]]></Publish>\r
+                                       <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>\r
+                                       <Publish Event="EnableRollback" Value="False"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>\r
+                                       <Publish Event="SpawnDialog" Value="OutOfDiskDlg"><![CDATA[(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")]]></Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="30">\r
+                                       <Text>Click Remove to remove [ProductName] from your computer. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Remove [ProductName]</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>You have chosen to remove the program from your computer.</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="VerifyRepairDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">\r
+                                       <Publish Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Repair" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Repair]">\r
+                                       <Publish Event="ReinstallMode" Value="ecmus"><![CDATA[OutOfDiskSpace <> 1]]></Publish>\r
+                                       <Publish Event="Reinstall" Value="All"><![CDATA[OutOfDiskSpace <> 1]]></Publish>\r
+                                       <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>\r
+                                       <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)]]></Publish>\r
+                                       <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>\r
+                                       <Publish Event="EnableRollback" Value="False"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>\r
+                                       <Publish Event="SpawnDialog" Value="OutOfDiskDlg"><![CDATA[(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")]]></Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="30">\r
+                                       <Text>Click Repair to repair the installation of [ProductName]. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="155" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>[DlgTitleFont]Repair [ProductName]</Text>\r
+                               </Control>\r
+                               <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />\r
+                               <Control Id="DialogDescription" Type="Text" X="75" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" RightAligned="yes">\r
+                                       <Text>The [Wizard] is ready to begin the repair of [ProductName].</Text>\r
+                               </Control>\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="WaitForCostingPopup" Width="260" Height="85" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Return" Type="PushButton" X="102" Y="57" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Return]">\r
+                                       <Publish Event="EndDialog" Value="Exit">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Icon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Exclamation icon" FixedSize="yes" IconSize="32" Text="[ExclamationIcon]" />\r
+                               <Control Id="Text" Type="Text" X="48" Y="15" Width="194" Height="30">\r
+                                       <Text>Please wait while the installer finishes determining your disk space requirements.</Text>\r
+                               </Control>\r
+                       </Dialog>\r
+\r
+                       <Dialog Id="WelcomeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">\r
+                               <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />\r
+                               <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">\r
+                                       <Publish Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>\r
+                                       <Publish Property="OKTODOWNGRADE" Value="1">1</Publish>\r
+                               </Control>\r
+                               <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">\r
+                                       <Publish Event="SpawnDialog" Value="CancelPopup">1</Publish>\r
+                               </Control>\r
+\r
+                               <Control Id="BackgroundBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />\r
+                               <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>\r
+                               </Control>\r
+                               <Control Id="DialogDescription" Type="Text" X="135" Y="90" Width="220" Height="40" Transparent="yes" NoPrefix="yes">\r
+                                       <Text>The [Wizard] will install [ProductName] on your computer. Click Next to continue or Cancel to exit the [Wizard].</Text>\r
+                               </Control>\r
+\r
+                               <Control Id="ConfirmDowngradeText" Type="Text" X="135" Y="180" Width="220" Height="40" TabSkip="no" Transparent="yes">\r
+                                       <Text>[DlgFontBold8]NOTE: The package you are currently installing is older than the one you already have installed.  If you continue, you will downgrade your installation.</Text>\r
+                                       <Condition Action="hide">NOT NEWERVERSIONDETECTED</Condition>\r
+                               </Control>\r
+\r
+                               <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />\r
+                       </Dialog>\r
+\r
+                       <!-- UI Texts ................................................................................................ -->\r
+                       <UIText Id="AbsentPath" />\r
+                       <UIText Id="bytes">bytes</UIText>\r
+                       <UIText Id="GB">GB</UIText>\r
+                       <UIText Id="KB">KB</UIText>\r
+                       <UIText Id="MB">MB</UIText>\r
+                       <UIText Id="MenuAbsent">Entire feature will be unavailable</UIText>\r
+                       <UIText Id="MenuAdvertise">Feature will be installed when required</UIText>\r
+                       <UIText Id="MenuAllCD">Entire feature will be installed to run from CD</UIText>\r
+                       <UIText Id="MenuAllLocal">Entire feature will be installed on local hard drive</UIText>\r
+                       <UIText Id="MenuAllNetwork">Entire feature will be installed to run from network</UIText>\r
+                       <UIText Id="MenuCD">Will be installed to run from CD</UIText>\r
+                       <UIText Id="MenuLocal">Will be installed on local hard drive</UIText>\r
+                       <UIText Id="MenuNetwork">Will be installed to run from network</UIText>\r
+                       <UIText Id="ScriptInProgress">Gathering required information...</UIText>\r
+                       <UIText Id="SelAbsentAbsent">This feature will remain uninstalled</UIText>\r
+                       <UIText Id="SelAbsentAdvertise">This feature will be set to be installed when required</UIText>\r
+                       <UIText Id="SelAbsentCD">This feature will be installed to run from CD</UIText>\r
+                       <UIText Id="SelAbsentLocal">This feature will be installed on the local hard drive</UIText>\r
+                       <UIText Id="SelAbsentNetwork">This feature will be installed to run from the network</UIText>\r
+                       <UIText Id="SelAdvertiseAbsent">This feature will become unavailable</UIText>\r
+                       <UIText Id="SelAdvertiseAdvertise">Will be installed when required</UIText>\r
+                       <UIText Id="SelAdvertiseCD">This feature will be available to run from CD</UIText>\r
+                       <UIText Id="SelAdvertiseLocal">This feature will be installed on your local hard drive</UIText>\r
+                       <UIText Id="SelAdvertiseNetwork">This feature will be available to run from the network</UIText>\r
+                       <UIText Id="SelCDAbsent">This feature will be uninstalled completely, you won't be able to run it from CD</UIText>\r
+                       <UIText Id="SelCDAdvertise">This feature will change from run from CD state to set to be installed when required</UIText>\r
+                       <UIText Id="SelCDCD">This feature will remain to be run from CD</UIText>\r
+                       <UIText Id="SelCDLocal">This feature will change from run from CD state to be installed on the local hard drive</UIText>\r
+                       <UIText Id="SelChildCostNeg">This feature frees up [1] on your hard drive.</UIText>\r
+                       <UIText Id="SelChildCostPos">This feature requires [1] on your hard drive.</UIText>\r
+                       <UIText Id="SelCostPending">Compiling cost for this feature...</UIText>\r
+                       <UIText Id="SelLocalAbsent">This feature will be completely removed</UIText>\r
+                       <UIText Id="SelLocalAdvertise">This feature will be removed from your local hard drive, but will be set to be installed when required</UIText>\r
+                       <UIText Id="SelLocalCD">This feature will be removed from your local hard drive, but will be still available to run from CD</UIText>\r
+                       <UIText Id="SelLocalLocal">This feature will remain on your local hard drive</UIText>\r
+                       <UIText Id="SelLocalNetwork">This feature will be removed from your local hard drive, but will be still available to run from the network</UIText>\r
+                       <UIText Id="SelNetworkAbsent">This feature will be uninstalled completely, you won't be able to run it from the network</UIText>\r
+                       <UIText Id="SelNetworkAdvertise">This feature will change from run from network state to set to be installed when required</UIText>\r
+                       <UIText Id="SelNetworkLocal">This feature will change from run from network state to be installed on the local hard drive</UIText>\r
+                       <UIText Id="SelNetworkNetwork">This feature will remain to be run from the network</UIText>\r
+                       <UIText Id="SelParentCostNegNeg">This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4].</UIText>\r
+                       <UIText Id="SelParentCostNegPos">This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4].</UIText>\r
+                       <UIText Id="SelParentCostPosNeg">This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4].</UIText>\r
+                       <UIText Id="SelParentCostPosPos">This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4].</UIText>\r
+                       <UIText Id="TimeRemaining">Time remaining: {[1] minutes }{[2] seconds}</UIText>\r
+                       <UIText Id="VolumeCostAvailable">Available</UIText>\r
+                       <UIText Id="VolumeCostDifference">Difference</UIText>\r
+                       <UIText Id="VolumeCostRequired">Required</UIText>\r
+                       <UIText Id="VolumeCostSize">Disk Size</UIText>\r
+                       <UIText Id="VolumeCostVolume">Volume</UIText>\r
+\r
+                       <!-- Progress Texts .......................................................................................... -->\r
+                       <ProgressText Action="InstallValidate">Validating install</ProgressText>\r
+                       <ProgressText Action="InstallFiles" Template="File: [1],  Directory: [9],  Size: [6]">Copying new files</ProgressText>\r
+                       <ProgressText Action="InstallAdminPackage" Template="File: [1], Directory: [9], Size: [6]">Copying network install files</ProgressText>\r
+                       <ProgressText Action="FileCost">Computing space requirements</ProgressText>\r
+                       <ProgressText Action="CostInitialize">Computing space requirements</ProgressText>\r
+                       <ProgressText Action="CostFinalize">Computing space requirements</ProgressText>\r
+                       <ProgressText Action="CreateShortcuts" Template="Shortcut: [1]">Creating shortcuts</ProgressText>\r
+                       <ProgressText Action="PublishComponents" Template="Component ID: [1], Qualifier: [2]">Publishing Qualified Components</ProgressText>\r
+                       <ProgressText Action="PublishFeatures" Template="Feature: [1]">Publishing Product Features</ProgressText>\r
+                       <ProgressText Action="PublishProduct">Publishing product information</ProgressText>\r
+                       <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Registering Class servers</ProgressText>\r
+                       <ProgressText Action="RegisterExtensionInfo" Template="Extension: [1]">Registering extension servers</ProgressText>\r
+                       <ProgressText Action="RegisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">Registering MIME info</ProgressText>\r
+                       <ProgressText Action="RegisterProgIdInfo" Template="ProgId: [1]">Registering program identifiers</ProgressText>\r
+                       <ProgressText Action="AllocateRegistrySpace" Template="Free space: [1]">Allocating registry space</ProgressText>\r
+                       <ProgressText Action="AppSearch" Template="Property: [1], Signature: [2]">Searching for installed applications</ProgressText>\r
+                       <ProgressText Action="BindImage" Template="File: [1]">Binding executables</ProgressText>\r
+                       <ProgressText Action="CCPSearch">Searching for qualifying products</ProgressText>\r
+                       <ProgressText Action="CreateFolders" Template="Folder: [1]">Creating folders</ProgressText>\r
+                       <ProgressText Action="DeleteServices" Template="Service: [1]">Deleting services</ProgressText>\r
+                       <ProgressText Action="DuplicateFiles" Template="File: [1],  Directory: [9],  Size: [6]">Creating duplicate files</ProgressText>\r
+                       <ProgressText Action="FindRelatedProducts" Template="Found application: [1]">Searching for related applications</ProgressText>\r
+                       <ProgressText Action="InstallODBC">Installing ODBC components</ProgressText>\r
+                       <ProgressText Action="InstallServices" Template="Service: [2]">Installing new services</ProgressText>\r
+                       <ProgressText Action="LaunchConditions">Evaluating launch conditions</ProgressText>\r
+                       <ProgressText Action="MigrateFeatureStates" Template="Application: [1]">Migrating feature states from related applications</ProgressText>\r
+                       <ProgressText Action="MoveFiles" Template="File: [1],  Directory: [9],  Size: [6]">Moving files</ProgressText>\r
+                       <ProgressText Action="PatchFiles" Template="File: [1],  Directory: [2],  Size: [3]">Patching files</ProgressText>\r
+                       <ProgressText Action="ProcessComponents">Updating component registration</ProgressText>\r
+                       <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">Registering COM+ Applications and Components</ProgressText>\r
+                       <ProgressText Action="RegisterFonts" Template="Font: [1]">Registering fonts</ProgressText>\r
+                       <ProgressText Action="RegisterProduct" Template="[1]">Registering product</ProgressText>\r
+                       <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">Registering type libraries</ProgressText>\r
+                       <ProgressText Action="RegisterUser" Template="[1]">Registering user</ProgressText>\r
+                       <ProgressText Action="RemoveDuplicateFiles" Template="File: [1], Directory: [9]">Removing duplicated files</ProgressText>\r
+                       <ProgressText Action="RemoveEnvironmentStrings" Template="Name: [1], Value: [2], Action [3]">Updating environment strings</ProgressText>\r
+                       <ProgressText Action="RemoveExistingProducts" Template="Application: [1], Command line: [2]">Removing applications</ProgressText>\r
+                       <ProgressText Action="RemoveFiles" Template="File: [1], Directory: [9]">Removing files</ProgressText>\r
+                       <ProgressText Action="RemoveFolders" Template="Folder: [1]">Removing folders</ProgressText>\r
+                       <ProgressText Action="RemoveIniValues" Template="File: [1],  Section: [2],  Key: [3], Value: [4]">Removing INI files entries</ProgressText>\r
+                       <ProgressText Action="RemoveODBC">Removing ODBC components</ProgressText>\r
+                       <ProgressText Action="RemoveRegistryValues" Template="Key: [1], Name: [2]">Removing system registry values</ProgressText>\r
+                       <ProgressText Action="RemoveShortcuts" Template="Shortcut: [1]">Removing shortcuts</ProgressText>\r
+                       <ProgressText Action="RMCCPSearch">Searching for qualifying products</ProgressText>\r
+                       <ProgressText Action="SelfRegModules" Template="File: [1], Folder: [2]">Registering modules</ProgressText>\r
+                       <ProgressText Action="SelfUnregModules" Template="File: [1], Folder: [2]">Unregistering modules</ProgressText>\r
+                       <ProgressText Action="SetODBCFolders">Initializing ODBC directories</ProgressText>\r
+                       <ProgressText Action="StartServices" Template="Service: [1]">Starting services</ProgressText>\r
+                       <ProgressText Action="StopServices" Template="Service: [1]">Stopping services</ProgressText>\r
+                       <ProgressText Action="UnpublishComponents" Template="Component ID: [1], Qualifier: [2]">Unpublishing Qualified Components</ProgressText>\r
+                       <ProgressText Action="UnpublishFeatures" Template="Feature: [1]">Unpublishing Product Features</ProgressText>\r
+                       <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Unregister Class servers</ProgressText>\r
+                       <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">Unregistering COM+ Applications and Components</ProgressText>\r
+                       <ProgressText Action="UnregisterExtensionInfo" Template="Extension: [1]">Unregistering extension servers</ProgressText>\r
+                       <ProgressText Action="UnregisterFonts" Template="Font: [1]">Unregistering fonts</ProgressText>\r
+                       <ProgressText Action="UnregisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">Unregistering MIME info</ProgressText>\r
+                       <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">Unregistering program identifiers</ProgressText>\r
+                       <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Unregistering type libraries</ProgressText>\r
+                       <ProgressText Action="WriteEnvironmentStrings" Template="Name: [1], Value: [2], Action [3]">Updating environment strings</ProgressText>\r
+                       <ProgressText Action="WriteIniValues" Template="File: [1],  Section: [2],  Key: [3], Value: [4]">Writing INI files values</ProgressText>\r
+                       <ProgressText Action="WriteRegistryValues" Template="Key: [1], Name: [2], Value: [3]">Writing system registry values</ProgressText>\r
+                       <ProgressText Action="Advertise">Advertising application</ProgressText>\r
+                       <ProgressText Action="GenerateScript" Template="[1]">Generating script operations for action:</ProgressText>\r
+                       <ProgressText Action="InstallSFPCatalogFile" Template="File: [1],  Dependencies: [2]">Installing system catalog</ProgressText>\r
+                       <ProgressText Action="MsiPublishAssemblies" Template="Application Context:[1], Assembly Name:[2]">Publishing assembly information</ProgressText>\r
+                       <ProgressText Action="MsiUnpublishAssemblies" Template="Application Context:[1], Assembly Name:[2]">Unpublishing assembly information</ProgressText>\r
+                       <ProgressText Action="Rollback" Template="[1]">Rolling back action:</ProgressText>\r
+                       <ProgressText Action="RollbackCleanup" Template="File: [1]">Removing backup files</ProgressText>\r
+                       <ProgressText Action="UnmoveFiles" Template="File: [1], Directory: [9]">Removing moved files</ProgressText>\r
+                       <ProgressText Action="UnpublishProduct">Unpublishing product information</ProgressText>\r
+\r
+                       <!-- Errors ................................................................................................. -->\r
+                       <Error Id="0">{{Fatal error: }}</Error>\r
+                       <Error Id="1">{{Error [1]. }}</Error>\r
+                       <Error Id="2">Warning [1]. </Error>\r
+                       <Error Id="3" />\r
+                       <Error Id="4">Info [1]. </Error>\r
+                       <Error Id="5">The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}</Error>\r
+                       <Error Id="6" />\r
+                       <Error Id="7">{{Disk full: }}</Error>\r
+                       <Error Id="8">Action [Time]: [1]. [2]</Error>\r
+                       <Error Id="9">[ProductName]</Error>\r
+                       <Error Id="10">{[2]}{, [3]}{, [4]}</Error>\r
+                       <Error Id="11">Message type: [1], Argument: [2]</Error>\r
+                       <Error Id="12">=== Logging started: [Date]  [Time] ===</Error>\r
+                       <Error Id="13">=== Logging stopped: [Date]  [Time] ===</Error>\r
+                       <Error Id="14">Action start [Time]: [1].</Error>\r
+                       <Error Id="15">Action ended [Time]: [1]. Return value [2].</Error>\r
+                       <Error Id="16">Time remaining: {[1] minutes }{[2] seconds}</Error>\r
+                       <Error Id="17">Out of memory. Shut down other applications before retrying.</Error>\r
+                       <Error Id="18">Installer is no longer responding.</Error>\r
+                       <Error Id="19">Installer stopped prematurely.</Error>\r
+                       <Error Id="20">Please wait while Windows configures [ProductName]</Error>\r
+                       <Error Id="21">Gathering required information...</Error>\r
+                       <Error Id="22">Removing older versions of this application...</Error>\r
+                       <Error Id="23">Preparing to remove older versions of this application...</Error>\r
+                       <Error Id="32">{[ProductName] }Setup completed successfully.</Error>\r
+                       <Error Id="33">{[ProductName] }Setup failed.</Error>\r
+                       <Error Id="1101">Error reading from file: [2]. {{ System error [3].}}  Verify that the file exists and that you can access it.</Error>\r
+                       <Error Id="1301">Cannot create the file '[2]'.  A directory with this name already exists.  Cancel the install and try installing to a different location.</Error>\r
+                       <Error Id="1302">Please insert the disk: [2]</Error>\r
+                       <Error Id="1303">The installer has insufficient privileges to access this directory: [2].  The installation cannot continue.  Log on as administrator or contact your system administrator.</Error>\r
+                       <Error Id="1304">Error writing to file: [2].  Verify that you have access to that directory.</Error>\r
+                       <Error Id="1305">Error reading from file [2]. {{ System error [3].}} Verify that the file exists and that you can access it.</Error>\r
+                       <Error Id="1306">Another application has exclusive access to the file '[2]'.  Please shut down all other applications, then click Retry.</Error>\r
+                       <Error Id="1307">There is not enough disk space to install this file: [2].  Free some disk space and click Retry, or click Cancel to exit.</Error>\r
+                       <Error Id="1308">Source file not found: [2].  Verify that the file exists and that you can access it.</Error>\r
+                       <Error Id="1309">Error reading from file: [3]. {{ System error [2].}}  Verify that the file exists and that you can access it.</Error>\r
+                       <Error Id="1310">Error writing to file: [3]. {{ System error [2].}}  Verify that you have access to that directory.</Error>\r
+                       <Error Id="1311">Source file not found{{(cabinet)}}: [2].  Verify that the file exists and that you can access it.</Error>\r
+                       <Error Id="1312">Cannot create the directory '[2]'.  A file with this name already exists.  Please rename or remove the file and click retry, or click Cancel to exit.</Error>\r
+                       <Error Id="1313">The volume [2] is currently unavailable.  Please select another.</Error>\r
+                       <Error Id="1314">The specified path '[2]' is unavailable.</Error>\r
+                       <Error Id="1315">Unable to write to the specified folder: [2].</Error>\r
+                       <Error Id="1316">A network error occurred while attempting to read from the file: [2]</Error>\r
+                       <Error Id="1317">An error occurred while attempting to create the directory: [2]</Error>\r
+                       <Error Id="1318">A network error occurred while attempting to create the directory: [2]</Error>\r
+                       <Error Id="1319">A network error occurred while attempting to open the source file cabinet: [2]</Error>\r
+                       <Error Id="1320">The specified path is too long: [2]</Error>\r
+                       <Error Id="1321">The Installer has insufficient privileges to modify this file: [2].</Error>\r
+                       <Error Id="1322">A portion of the folder path '[2]' is invalid.  It is either empty or exceeds the length allowed by the system.</Error>\r
+                       <Error Id="1323">The folder path '[2]' contains words that are not valid in folder paths.</Error>\r
+                       <Error Id="1324">The folder path '[2]' contains an invalid character.</Error>\r
+                       <Error Id="1325">'[2]' is not a valid short file name.</Error>\r
+                       <Error Id="1326">Error getting file security: [3] GetLastError: [2]</Error>\r
+                       <Error Id="1327">Invalid Drive: [2]</Error>\r
+                       <Error Id="1328">Error applying patch to file [2].  It has probably been updated by other means, and can no longer be modified by this patch.  For more information contact your patch vendor.  {{System Error: [3]}}</Error>\r
+                       <Error Id="1329">A file that is required cannot be installed because the cabinet file [2] is not digitally signed.  This may indicate that the cabinet file is corrupt.</Error>\r
+                       <Error Id="1330">A file that is required cannot be installed because the cabinet file [2] has an invalid digital signature.  This may indicate that the cabinet file is corrupt.{{  Error [3] was returned by WinVerifyTrust.}}</Error>\r
+                       <Error Id="1331">Failed to correctly copy [2] file: CRC error.</Error>\r
+                       <Error Id="1332">Failed to correctly move [2] file: CRC error.</Error>\r
+                       <Error Id="1333">Failed to correctly patch [2] file: CRC error.</Error>\r
+                       <Error Id="1334">The file '[2]' cannot be installed because the file cannot be found in cabinet file '[3]'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.</Error>\r
+                       <Error Id="1335">The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.</Error>\r
+                       <Error Id="1336">There was an error creating a temporary file that is needed to complete this installation.{{  Folder: [3]. System error code: [2]}}</Error>\r
+                       <Error Id="1401">Could not create key: [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel. </Error>\r
+                       <Error Id="1402">Could not open key: [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel. </Error>\r
+                       <Error Id="1403">Could not delete value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel. </Error>\r
+                       <Error Id="1404">Could not delete key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel. </Error>\r
+                       <Error Id="1405">Could not read value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel. </Error>\r
+                       <Error Id="1406">Could not write value [2] to key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>\r
+                       <Error Id="1407">Could not get value names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>\r
+                       <Error Id="1408">Could not get sub key names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>\r
+                       <Error Id="1409">Could not read security information for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.</Error>\r
+                       <Error Id="1410">Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.</Error>\r
+                       <Error Id="1500">Another installation is in progress. You must complete that installation before continuing this one.</Error>\r
+                       <Error Id="1501">Error accessing secured data. Please make sure the Windows Installer is configured properly and try the install again.</Error>\r
+                       <Error Id="1502">User '[2]' has previously initiated an install for product '[3]'.  That user will need to run that install again before they can use that product.  Your current install will now continue.</Error>\r
+                       <Error Id="1503">User '[2]' has previously initiated an install for product '[3]'.  That user will need to run that install again before they can use that product.</Error>\r
+                       <Error Id="1601">Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB.  Free some disk space and retry.</Error>\r
+                       <Error Id="1602">Are you sure you want to cancel?</Error>\r
+                       <Error Id="1603">The file [2][3] is being held in use{ by the following process: Name: [4], Id: [5], Window Title: '[6]'}.  Close that application and retry.</Error>\r
+                       <Error Id="1604">The product '[2]' is already installed, preventing the installation of this product.  The two products are incompatible.</Error>\r
+                       <Error Id="1605">There is not enough disk space on the volume '[2]' to continue the install with recovery enabled. [3] KB are required, but only [4] KB are available. Click Ignore to continue the install without saving recovery information, click Retry to check for available space again, or click Cancel to quit the installation.</Error>\r
+                       <Error Id="1606">Could not access network location [2].</Error>\r
+                       <Error Id="1607">The following applications should be closed before continuing the install:</Error>\r
+                       <Error Id="1608">Could not find any previously installed compliant products on the machine for installing this product.</Error>\r
+                       <Error Id="1609">An error occurred while applying security settings. [2] is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. {{Unable to locate the user's SID, system error [3]}}</Error>\r
+                       <Error Id="1701">The key [2] is not valid.  Verify that you entered the correct key.</Error>\r
+                       <Error Id="1702">The installer must restart your system before configuration of [2] can continue.  Click Yes to restart now or No if you plan to manually restart later.</Error>\r
+                       <Error Id="1703">You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to manually restart later.</Error>\r
+                       <Error Id="1704">An installation for [2] is currently suspended.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?</Error>\r
+                       <Error Id="1705">A previous installation for this product is in progress.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?</Error>\r
+                       <Error Id="1706">An installation package for the product [2] cannot be found. Try the installation again using a valid copy of the installation package '[3]'.</Error>\r
+                       <Error Id="1707">Installation completed successfully.</Error>\r
+                       <Error Id="1708">Installation failed.</Error>\r
+                       <Error Id="1709">Product: [2] -- [3]</Error>\r
+                       <Error Id="1710">You may either restore your computer to its previous state or continue the install later. Would you like to restore?</Error>\r
+                       <Error Id="1711">An error occurred while writing installation information to disk.  Check to make sure enough disk space is available, and click Retry, or Cancel to end the install.</Error>\r
+                       <Error Id="1712">One or more of the files required to restore your computer to its previous state could not be found.  Restoration will not be possible.</Error>\r
+                       <Error Id="1713">[2] cannot install one of its required products. Contact your technical support group.  {{System Error: [3].}}</Error>\r
+                       <Error Id="1714">The older version of [2] cannot be removed.  Contact your technical support group.  {{System Error [3].}}</Error>\r
+                       <Error Id="1715">Installed [2]</Error>\r
+                       <Error Id="1716">Configured [2]</Error>\r
+                       <Error Id="1717">Removed [2]</Error>\r
+                       <Error Id="1718">File [2] was rejected by digital signature policy.</Error>\r
+                       <Error Id="1719">The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance.</Error>\r
+                       <Error Id="1720">There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor.  {{Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8] }}</Error>\r
+                       <Error Id="1721">There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. {{Action: [2], location: [3], command: [4] }}</Error>\r
+                       <Error Id="1722">There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  {{Action [2], location: [3], command: [4] }}</Error>\r
+                       <Error Id="1723">There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor.  {{Action [2], entry: [3], library: [4] }}</Error>\r
+                       <Error Id="1724">Removal completed successfully.</Error>\r
+                       <Error Id="1725">Removal failed.</Error>\r
+                       <Error Id="1726">Advertisement completed successfully.</Error>\r
+                       <Error Id="1727">Advertisement failed.</Error>\r
+                       <Error Id="1728">Configuration completed successfully.</Error>\r
+                       <Error Id="1729">Configuration failed.</Error>\r
+                       <Error Id="1730">You must be an Administrator to remove this application. To remove this application, you can log on as an Administrator, or contact your technical support group for assistance.</Error>\r
+                       <Error Id="1801">The path [2] is not valid.  Please specify a valid path.</Error>\r
+                       <Error Id="1802">Out of memory. Shut down other applications before retrying.</Error>\r
+                       <Error Id="1803">There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.</Error>\r
+                       <Error Id="1804">There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.</Error>\r
+                       <Error Id="1805">The folder [2] does not exist.  Please enter a path to an existing folder.</Error>\r
+                       <Error Id="1806">You have insufficient privileges to read this folder.</Error>\r
+                       <Error Id="1807">A valid destination folder for the install could not be determined.</Error>\r
+                       <Error Id="1901">Error attempting to read from the source install database: [2].</Error>\r
+                       <Error Id="1902">Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.</Error>\r
+                       <Error Id="1903">Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.</Error>\r
+                       <Error Id="1904">Module [2] failed to register.  HRESULT [3].  Contact your support personnel.</Error>\r
+                       <Error Id="1905">Module [2] failed to unregister.  HRESULT [3].  Contact your support personnel.</Error>\r
+                       <Error Id="1906">Failed to cache package [2]. Error: [3]. Contact your support personnel.</Error>\r
+                       <Error Id="1907">Could not register font [2].  Verify that you have sufficient permissions to install fonts, and that the system supports this font.</Error>\r
+                       <Error Id="1908">Could not unregister font [2]. Verify that you that you have sufficient permissions to remove fonts.</Error>\r
+                       <Error Id="1909">Could not create Shortcut [2]. Verify that the destination folder exists and that you can access it.</Error>\r
+                       <Error Id="1910">Could not remove Shortcut [2]. Verify that the shortcut file exists and that you can access it.</Error>\r
+                       <Error Id="1911">Could not register type library for file [2].  Contact your support personnel.</Error>\r
+                       <Error Id="1912">Could not unregister type library for file [2].  Contact your support personnel.</Error>\r
+                       <Error Id="1913">Could not update the ini file [2][3].  Verify that the file exists and that you can access it.</Error>\r
+                       <Error Id="1914">Could not schedule file [2] to replace file [3] on reboot.  Verify that you have write permissions to file [3].</Error>\r
+                       <Error Id="1915">Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.</Error>\r
+                       <Error Id="1916">Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.</Error>\r
+                       <Error Id="1917">Error removing ODBC driver: [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.</Error>\r
+                       <Error Id="1918">Error installing ODBC driver: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.</Error>\r
+                       <Error Id="1919">Error configuring ODBC data source: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.</Error>\r
+                       <Error Id="1920">Service '[2]' ([3]) failed to start.  Verify that you have sufficient privileges to start system services.</Error>\r
+                       <Error Id="1921">Service '[2]' ([3]) could not be stopped.  Verify that you have sufficient privileges to stop system services.</Error>\r
+                       <Error Id="1922">Service '[2]' ([3]) could not be deleted.  Verify that you have sufficient privileges to remove system services.</Error>\r
+                       <Error Id="1923">Service '[2]' ([3]) could not be installed.  Verify that you have sufficient privileges to install system services.</Error>\r
+                       <Error Id="1924">Could not update environment variable '[2]'.  Verify that you have sufficient privileges to modify environment variables.</Error>\r
+                       <Error Id="1925">You do not have sufficient privileges to complete this installation for all users of the machine.  Log on as administrator and then retry this installation.</Error>\r
+                       <Error Id="1926">Could not set file security for file '[3]'. Error: [2].  Verify that you have sufficient privileges to modify the security permissions for this file.</Error>\r
+                       <Error Id="1927">Component Services (COM+ 1.0) are not installed on this computer.  This installation requires Component Services in order to complete successfully.  Component Services are available on Windows 2000.</Error>\r
+                       <Error Id="1928">Error registering COM+ Application.  Contact your support personnel for more information.</Error>\r
+                       <Error Id="1929">Error unregistering COM+ Application.  Contact your support personnel for more information.</Error>\r
+                       <Error Id="1930">The description for service '[2]' ([3]) could not be changed.</Error>\r
+                       <Error Id="1931">The Windows Installer service cannot update the system file [2] because the file is protected by Windows.  You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}</Error>\r
+                       <Error Id="1932">The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}</Error>\r
+                       <Error Id="1933">The Windows Installer service cannot update one or more protected Windows files. {{SFP Error: [2].  List of protected files:\r\n[3]}}</Error>\r
+                       <Error Id="1934">User installations are disabled via policy on the machine.</Error>\r
+                       <Error Id="1935">An error occured during the installation of assembly component [2]. HRESULT: [3]. {{assembly interface: [4], function: [5], assembly name: [6]}}</Error>\r
+               </UI>\r
+       </Fragment>\r
+</Wix>\r
diff --git a/src/TortoiseGitSetup/WiXSetup.wixproj b/src/TortoiseGitSetup/WiXSetup.wixproj
new file mode 100644 (file)
index 0000000..7f5a3f1
--- /dev/null
@@ -0,0 +1,43 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>\r
+    <ProductVersion>3.0</ProductVersion>\r
+    <ProjectGuid>{150172a5-8d02-4c00-abb5-bd99d4b16b4c}</ProjectGuid>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <OutputName>TortoiseGit</OutputName>\r
+    <OutputType>Package</OutputType>\r
+    <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.0\Wix.targets</WixTargetsPath>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">\r
+    <OutputPath>..\..\bin\$(Configuration)\</OutputPath>\r
+    <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>\r
+    <DefineConstants>Debug;DictionaryENUS=1;DictionaryENGB=0;IncludeCrashReportDll=0;</DefineConstants>\r
+    <WixVariables>\r
+    </WixVariables>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">\r
+    <OutputPath>bin\$(Configuration)\</OutputPath>\r
+    <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Compile Include="FeaturesFragment.wxs" />\r
+    <Compile Include="StructureFragment.wxs" />\r
+    <Compile Include="SubWCRev.wxs" />\r
+    <Compile Include="TortoiseSVN.wxs" />\r
+    <Compile Include="UIFragment.wxs" />\r
+    <Compile Include="WixUI_Simplest.wxs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Content Include="Includes.wxi" />\r
+  </ItemGroup>\r
+  <Import Project="$(WixTargetsPath)" />\r
+  <!--\r
+       To modify your build process, add your task inside one of the targets below and uncomment it.\r
+       Other similar extension points exist, see Wix.targets.\r
+       <Target Name="BeforeBuild">\r
+       </Target>\r
+       <Target Name="AfterBuild">\r
+       </Target>\r
+       -->\r
+</Project>
\ No newline at end of file
diff --git a/src/TortoiseGitSetup/WixUI_Simplest.wxs b/src/TortoiseGitSetup/WixUI_Simplest.wxs
new file mode 100644 (file)
index 0000000..58a6a20
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<!--\r
+First-time install dialog sequence:      Maintenance dialog sequence:\r
+ - WixUI_WelcomeDlg                     - WixUI_MaintenanceWelcomeDlg\r
+                                          - WixUI_MaintenanceTypeDlg\r
+                                            - WixUI_CustomizeDlg\r
+                                            - WixUI_VerifyReadyDlg\r
+-->\r
+\r
+<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">\r
+       <Fragment>\r
+               <UI Id="WixUI_Simplest">\r
+                       <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />\r
+                       <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />\r
+                       <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />\r
+\r
+                       <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />\r
+                       <Property Id="WixUI_Mode" Value="Minimal" />\r
+\r
+                       <DialogRef Id="ErrorDlg" />\r
+                       <DialogRef Id="ExitDialog" />\r
+                       <DialogRef Id="FatalError" />\r
+                       <DialogRef Id="FilesInUse" />\r
+                       <DialogRef Id="MaintenanceTypeDlg" />\r
+                       <DialogRef Id="MaintenanceWelcomeDlg" />\r
+                       <DialogRef Id="MsiRMFilesInUse" />\r
+                       <DialogRef Id="PrepareDlg" />\r
+                       <DialogRef Id="ProgressDlg" />\r
+                       <DialogRef Id="ResumeDlg" />\r
+                       <DialogRef Id="UserExit" />\r
+                       <DialogRef Id="VerifyReadyDlg" />\r
+                       <DialogRef Id="WelcomeDlg" />\r
+\r
+                       <Property Id="ARPNOMODIFY" Value="1" />\r
+\r
+                       <Property Id="WixUI_WelcomeDlg_Next" Value="PrepareDlg" />\r
+\r
+                       <Property Id="WixUI_VerifyReadyDlg_BackCustom" Value="CustomizeDlg" />\r
+                       <Property Id="WixUI_VerifyReadyDlg_BackChange" Value="CustomizeDlg" />\r
+                       <Property Id="WixUI_VerifyReadyDlg_BackRepair" Value="MaintenanceTypeDlg" />\r
+                       <Property Id="WixUI_VerifyReadyDlg_BackRemove" Value="MaintenanceTypeDlg" />\r
+                       <Property Id="WixUI_VerifyReadyDlg_BackTypical" Value="SetupTypeDlg" />\r
+                       <Property Id="WixUI_VerifyReadyDlg_BackFeatureTree" Value="CustomizeDlg" />\r
+                       <Property Id="WixUI_VerifyReadyDlg_BackComplete" Value="CustomizeDlg" />\r
+\r
+                       <Property Id="WixUI_MaintenanceWelcomeDlg_Next" Value="MaintenanceTypeDlg" />\r
+\r
+                       <Property Id="WixUI_MaintenanceTypeDlg_Back" Value="MaintenanceWelcomeDlg" />\r
+                       <Property Id="WixUI_MaintenanceTypeDlg_Change" Value="CustomizeDlg" />\r
+                       <Property Id="WixUI_MaintenanceTypeDlg_Repair" Value="VerifyReadyDlg" />\r
+                       <Property Id="WixUI_MaintenanceTypeDlg_Remove" Value="VerifyReadyDlg" />\r
+\r
+\r
+                       <Binary Id="WixUI_Bmp_Banner" SourceFile="include\BannerStatic.jpg" />\r
+                       <Binary Id="WixUI_Bmp_Dialog" SourceFile="include\DialogStatic.jpg" />\r
+                       <Binary Id="WixUI_Ico_Exclam" SourceFile="include\Exclam.ico" />\r
+                       <Binary Id="WixUI_Ico_Info" SourceFile="include\info.ico" />\r
+                       <Binary Id="WixUI_Bmp_New" SourceFile="include\New.ico" />\r
+                       <Binary Id="WixUI_Bmp_Up" SourceFile="include\Up.ico" />\r
+\r
+                       <UIText Id="AbsentPath" />\r
+                       <UIText Id="bytes">$(loc.UITextbytes)</UIText>\r
+                       <UIText Id="GB">$(loc.UITextGB)</UIText>\r
+                       <UIText Id="KB">$(loc.UITextKB)</UIText>\r
+                       <UIText Id="MB">$(loc.UITextMB)</UIText>\r
+                       <UIText Id="MenuAbsent">$(loc.UITextMenuAbsent)</UIText>\r
+                       <UIText Id="MenuAdvertise">$(loc.UITextMenuAdvertise)</UIText>\r
+                       <UIText Id="MenuAllCD">$(loc.UITextMenuAllCD)</UIText>\r
+                       <UIText Id="MenuAllLocal">$(loc.UITextMenuAllLocal)</UIText>\r
+                       <UIText Id="MenuAllNetwork">$(loc.UITextMenuAllNetwork)</UIText>\r
+                       <UIText Id="MenuCD">$(loc.UITextMenuCD)</UIText>\r
+                       <UIText Id="MenuLocal">$(loc.UITextMenuLocal)</UIText>\r
+                       <UIText Id="MenuNetwork">$(loc.UITextMenuNetwork)</UIText>\r
+                       <UIText Id="ScriptInProgress">$(loc.UITextScriptInProgress)</UIText>\r
+                       <UIText Id="SelAbsentAbsent">$(loc.UITextSelAbsentAbsent)</UIText>\r
+                       <UIText Id="SelAbsentAdvertise">$(loc.UITextSelAbsentAdvertise)</UIText>\r
+                       <UIText Id="SelAbsentCD">$(loc.UITextSelAbsentCD)</UIText>\r
+                       <UIText Id="SelAbsentLocal">$(loc.UITextSelAbsentLocal)</UIText>\r
+                       <UIText Id="SelAbsentNetwork">$(loc.UITextSelAbsentNetwork)</UIText>\r
+                       <UIText Id="SelAdvertiseAbsent">$(loc.UITextSelAdvertiseAbsent)</UIText>\r
+                       <UIText Id="SelAdvertiseAdvertise">$(loc.UITextSelAdvertiseAdvertise)</UIText>\r
+                       <UIText Id="SelAdvertiseCD">$(loc.UITextSelAdvertiseCD)</UIText>\r
+                       <UIText Id="SelAdvertiseLocal">$(loc.UITextSelAdvertiseLocal)</UIText>\r
+                       <UIText Id="SelAdvertiseNetwork">$(loc.UITextSelAdvertiseNetwork)</UIText>\r
+                       <UIText Id="SelCDAbsent">$(loc.UITextSelCDAbsent)</UIText>\r
+                       <UIText Id="SelCDAdvertise">$(loc.UITextSelCDAdvertise)</UIText>\r
+                       <UIText Id="SelCDCD">$(loc.UITextSelCDCD)</UIText>\r
+                       <UIText Id="SelCDLocal">$(loc.UITextSelCDLocal)</UIText>\r
+                       <UIText Id="SelChildCostNeg">$(loc.UITextSelChildCostNeg)</UIText>\r
+                       <UIText Id="SelChildCostPos">$(loc.UITextSelChildCostPos)</UIText>\r
+                       <UIText Id="SelCostPending">$(loc.UITextSelCostPending)</UIText>\r
+                       <UIText Id="SelLocalAbsent">$(loc.UITextSelLocalAbsent)</UIText>\r
+                       <UIText Id="SelLocalAdvertise">$(loc.UITextSelLocalAdvertise)</UIText>\r
+                       <UIText Id="SelLocalCD">$(loc.UITextSelLocalCD)</UIText>\r
+                       <UIText Id="SelLocalLocal">$(loc.UITextSelLocalLocal)</UIText>\r
+                       <UIText Id="SelLocalNetwork">$(loc.UITextSelLocalNetwork)</UIText>\r
+                       <UIText Id="SelNetworkAbsent">$(loc.UITextSelNetworkAbsent)</UIText>\r
+                       <UIText Id="SelNetworkAdvertise">$(loc.UITextSelNetworkAdvertise)</UIText>\r
+                       <UIText Id="SelNetworkLocal">$(loc.UITextSelNetworkLocal)</UIText>\r
+                       <UIText Id="SelNetworkNetwork">$(loc.UITextSelNetworkNetwork)</UIText>\r
+                       <UIText Id="SelParentCostNegNeg">$(loc.UITextSelParentCostNegNeg)</UIText>\r
+                       <UIText Id="SelParentCostNegPos">$(loc.UITextSelParentCostNegPos)</UIText>\r
+                       <UIText Id="SelParentCostPosNeg">$(loc.UITextSelParentCostPosNeg)</UIText>\r
+                       <UIText Id="SelParentCostPosPos">$(loc.UITextSelParentCostPosPos)</UIText>\r
+                       <UIText Id="TimeRemaining">$(loc.UITextTimeRemaining)</UIText>\r
+                       <UIText Id="VolumeCostAvailable">$(loc.UITextVolumeCostAvailable)</UIText>\r
+                       <UIText Id="VolumeCostDifference">$(loc.UITextVolumeCostDifference)</UIText>\r
+                       <UIText Id="VolumeCostRequired">$(loc.UITextVolumeCostRequired)</UIText>\r
+                       <UIText Id="VolumeCostSize">$(loc.UITextVolumeCostSize)</UIText>\r
+                       <UIText Id="VolumeCostVolume">$(loc.UITextVolumeCostVolume)</UIText>\r
+\r
+\r
+               </UI>\r
+\r
+       </Fragment>\r
+</Wix>\r
diff --git a/src/TortoiseGitSetup/include/Banner.jpg b/src/TortoiseGitSetup/include/Banner.jpg
new file mode 100644 (file)
index 0000000..d77b2b5
Binary files /dev/null and b/src/TortoiseGitSetup/include/Banner.jpg differ
diff --git a/src/TortoiseGitSetup/include/Bannerstatic.jpg b/src/TortoiseGitSetup/include/Bannerstatic.jpg
new file mode 100644 (file)
index 0000000..6137eee
Binary files /dev/null and b/src/TortoiseGitSetup/include/Bannerstatic.jpg differ
diff --git a/src/TortoiseGitSetup/include/Complete.ico b/src/TortoiseGitSetup/include/Complete.ico
new file mode 100644 (file)
index 0000000..93a95a1
Binary files /dev/null and b/src/TortoiseGitSetup/include/Complete.ico differ
diff --git a/src/TortoiseGitSetup/include/Custom.ico b/src/TortoiseGitSetup/include/Custom.ico
new file mode 100644 (file)
index 0000000..878d3ba
Binary files /dev/null and b/src/TortoiseGitSetup/include/Custom.ico differ
diff --git a/src/TortoiseGitSetup/include/CyrusSASL_License.txt b/src/TortoiseGitSetup/include/CyrusSASL_License.txt
new file mode 100644 (file)
index 0000000..e65eccc
--- /dev/null
@@ -0,0 +1,44 @@
+/* CMU libsasl\r
+ * Tim Martin\r
+ * Rob Earhart\r
+ * Rob Siemborski\r
+ */\r
+/* \r
+ * Copyright (c) 1998-2003 Carnegie Mellon University.  All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer. \r
+ *\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in\r
+ *    the documentation and/or other materials provided with the\r
+ *    distribution.\r
+ *\r
+ * 3. The name "Carnegie Mellon University" must not be used to\r
+ *    endorse or promote products derived from this software without\r
+ *    prior written permission. For permission or any other legal\r
+ *    details, please contact  \r
+ *      Office of Technology Transfer\r
+ *      Carnegie Mellon University\r
+ *      5000 Forbes Avenue\r
+ *      Pittsburgh, PA  15213-3890\r
+ *      (412) 268-4387, fax: (412) 268-7395\r
+ *      tech-transfer@andrew.cmu.edu\r
+ *\r
+ * 4. Redistributions of any form whatsoever must retain the following\r
+ *    acknowledgment:\r
+ *    "This product includes software developed by Computing Services\r
+ *     at Carnegie Mellon University (http://www.cmu.edu/computing/)."\r
+ *\r
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO\r
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE\r
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN\r
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING\r
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r
+ */\r
diff --git a/src/TortoiseGitSetup/include/Dialog.jpg b/src/TortoiseGitSetup/include/Dialog.jpg
new file mode 100644 (file)
index 0000000..e2b8147
Binary files /dev/null and b/src/TortoiseGitSetup/include/Dialog.jpg differ
diff --git a/src/TortoiseGitSetup/include/Dialogstatic.jpg b/src/TortoiseGitSetup/include/Dialogstatic.jpg
new file mode 100644 (file)
index 0000000..e692c58
Binary files /dev/null and b/src/TortoiseGitSetup/include/Dialogstatic.jpg differ
diff --git a/src/TortoiseGitSetup/include/Exclam.ico b/src/TortoiseGitSetup/include/Exclam.ico
new file mode 100644 (file)
index 0000000..906ce32
Binary files /dev/null and b/src/TortoiseGitSetup/include/Exclam.ico differ
diff --git a/src/TortoiseGitSetup/include/Info.ico b/src/TortoiseGitSetup/include/Info.ico
new file mode 100644 (file)
index 0000000..7e0ff7f
Binary files /dev/null and b/src/TortoiseGitSetup/include/Info.ico differ
diff --git a/src/TortoiseGitSetup/include/New.ico b/src/TortoiseGitSetup/include/New.ico
new file mode 100644 (file)
index 0000000..27881df
Binary files /dev/null and b/src/TortoiseGitSetup/include/New.ico differ
diff --git a/src/TortoiseGitSetup/include/NewFldrBtn.bmp b/src/TortoiseGitSetup/include/NewFldrBtn.bmp
new file mode 100644 (file)
index 0000000..06ce56d
Binary files /dev/null and b/src/TortoiseGitSetup/include/NewFldrBtn.bmp differ
diff --git a/src/TortoiseGitSetup/include/OpenSSL_License.txt b/src/TortoiseGitSetup/include/OpenSSL_License.txt
new file mode 100644 (file)
index 0000000..fc99aac
--- /dev/null
@@ -0,0 +1,127 @@
+\r
+  LICENSE ISSUES\r
+  ==============\r
+\r
+  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of\r
+  the OpenSSL License and the original SSLeay license apply to the toolkit.\r
+  See below for the actual license texts. Actually both licenses are BSD-style\r
+  Open Source licenses. In case of any license issues related to OpenSSL\r
+  please contact openssl-core@openssl.org.\r
+\r
+  OpenSSL License\r
+  ---------------\r
+\r
+/* ====================================================================\r
+ * Copyright (c) 1998-2005 The OpenSSL Project.  All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer. \r
+ *\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in\r
+ *    the documentation and/or other materials provided with the\r
+ *    distribution.\r
+ *\r
+ * 3. All advertising materials mentioning features or use of this\r
+ *    software must display the following acknowledgment:\r
+ *    "This product includes software developed by the OpenSSL Project\r
+ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"\r
+ *\r
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to\r
+ *    endorse or promote products derived from this software without\r
+ *    prior written permission. For written permission, please contact\r
+ *    openssl-core@openssl.org.\r
+ *\r
+ * 5. Products derived from this software may not be called "OpenSSL"\r
+ *    nor may "OpenSSL" appear in their names without prior written\r
+ *    permission of the OpenSSL Project.\r
+ *\r
+ * 6. Redistributions of any form whatsoever must retain the following\r
+ *    acknowledgment:\r
+ *    "This product includes software developed by the OpenSSL Project\r
+ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY\r
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR\r
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r
+ * OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ * ====================================================================\r
+ *\r
+ * This product includes cryptographic software written by Eric Young\r
+ * (eay@cryptsoft.com).  This product includes software written by Tim\r
+ * Hudson (tjh@cryptsoft.com).\r
+ *\r
+ */\r
+\r
+ Original SSLeay License\r
+ -----------------------\r
+\r
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)\r
+ * All rights reserved.\r
+ *\r
+ * This package is an SSL implementation written\r
+ * by Eric Young (eay@cryptsoft.com).\r
+ * The implementation was written so as to conform with Netscapes SSL.\r
+ * \r
+ * This library is free for commercial and non-commercial use as long as\r
+ * the following conditions are aheared to.  The following conditions\r
+ * apply to all code found in this distribution, be it the RC4, RSA,\r
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation\r
+ * included with this distribution is covered by the same copyright terms\r
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).\r
+ * \r
+ * Copyright remains Eric Young's, and as such any Copyright notices in\r
+ * the code are not to be removed.\r
+ * If this package is used in a product, Eric Young should be given attribution\r
+ * as the author of the parts of the library used.\r
+ * This can be in the form of a textual message at program startup or\r
+ * in documentation (online or textual) provided with the package.\r
+ * \r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. All advertising materials mentioning features or use of this software\r
+ *    must display the following acknowledgement:\r
+ *    "This product includes cryptographic software written by\r
+ *     Eric Young (eay@cryptsoft.com)"\r
+ *    The word 'cryptographic' can be left out if the rouines from the library\r
+ *    being used are not cryptographic related :-).\r
+ * 4. If you include any Windows specific code (or a derivative thereof) from \r
+ *    the apps directory (application code) you must include an acknowledgement:\r
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"\r
+ * \r
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ * \r
+ * The licence and distribution terms for any publically available version or\r
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be\r
+ * copied and put under another distribution licence\r
+ * [including the GNU Public Licence.]\r
+ */\r
+\r
diff --git a/src/TortoiseGitSetup/include/Remove.ico b/src/TortoiseGitSetup/include/Remove.ico
new file mode 100644 (file)
index 0000000..097cafe
Binary files /dev/null and b/src/TortoiseGitSetup/include/Remove.ico differ
diff --git a/src/TortoiseGitSetup/include/Repair.ico b/src/TortoiseGitSetup/include/Repair.ico
new file mode 100644 (file)
index 0000000..6fb6861
Binary files /dev/null and b/src/TortoiseGitSetup/include/Repair.ico differ
diff --git a/src/TortoiseGitSetup/include/TSVN_eula.rtf b/src/TortoiseGitSetup/include/TSVN_eula.rtf
new file mode 100644 (file)
index 0000000..93c6f6e
--- /dev/null
@@ -0,0 +1,47 @@
+{\rtf1\ansi\ansicpg1252\r
+{\fonttbl {\f0\fswiss\fcharset0 Arial;}}\r
+\f0\sa100\fs18\lang1033\r
+\r
+Copyright (C) 2003-2008 - Stefan K\'fcng\r
+\r
+\par\ql\r
+TortoiseSVN is free. You don't have to pay for it, and you can use it \r
+any way you want. It is developed as an Open Source project under the \r
+GNU General Public License (GPL). That means you have full access to \r
+the source code of this program. You can find it on our website at \r
+http://tortoisesvn.tigris.org\r
+\r
+\par\r
+Should you wish to modify or redistribute this program, or any part of it, \r
+you should read the full terms and conditions set out in the license \r
+agreement before doing so. A copy of the license is available on our website.\r
+\r
+\par\r
+If you simply wish to install and use this software, you need only be aware of \r
+the disclaimer conditions in the license, which are set out below.\r
+\r
+\par\b\r
+NO WARRANTY\r
+\r
+\par\b0\r
+Because the program is licensed free of charge, there is no warranty \r
+for the program, to the extent permitted by applicable law.  Except when \r
+otherwise stated in writing the copyright holders and/or other parties \r
+provide the program "as is" without warranty of any kind, either expressed \r
+or implied, including, but not limited to, the implied warranties of \r
+merchantability and fitness for a particular purpose.  The entire risk as \r
+to the quality and performance of the program is with you.  Should the \r
+program prove defective, you assume the cost of all necessary servicing, \r
+repair or correction.\r
+\r
+\par\r
+In no event unless required by applicable law or agreed to in writing \r
+will any copyright holder, or any other party who may modify and/or \r
+redistribute the program as permitted above, be liable to you for damages, \r
+including any general, special, incidental or consequential damages arising \r
+out of the use or inability to use the program (including but not limited \r
+to loss of data or data being rendered inaccurate or losses sustained by \r
+you or third parties or a failure of the program to operate with any other \r
+programs), even if such holder or other party has been advised of the \r
+possibility of such damages.\r
+}\r
diff --git a/src/TortoiseGitSetup/include/Typical.ico b/src/TortoiseGitSetup/include/Typical.ico
new file mode 100644 (file)
index 0000000..94753ac
Binary files /dev/null and b/src/TortoiseGitSetup/include/Typical.ico differ
diff --git a/src/TortoiseGitSetup/include/Up.ico b/src/TortoiseGitSetup/include/Up.ico
new file mode 100644 (file)
index 0000000..86f6b5a
Binary files /dev/null and b/src/TortoiseGitSetup/include/Up.ico differ
diff --git a/src/TortoiseGitSetup/include/UpFldrBtn.bmp b/src/TortoiseGitSetup/include/UpFldrBtn.bmp
new file mode 100644 (file)
index 0000000..045be0d
Binary files /dev/null and b/src/TortoiseGitSetup/include/UpFldrBtn.bmp differ
diff --git a/src/TortoiseGitSetup/include/Website.url b/src/TortoiseGitSetup/include/Website.url
new file mode 100644 (file)
index 0000000..76c5868
--- /dev/null
@@ -0,0 +1,2 @@
+[InternetShortcut]\r
+URL=http://tortoisesvn.net/\r
diff --git a/src/TortoiseGitSetup/include/autolist.txt b/src/TortoiseGitSetup/include/autolist.txt
new file mode 100644 (file)
index 0000000..621871f
--- /dev/null
@@ -0,0 +1,14 @@
+.h, .hpp, .hxx = ^\s*(?:class|struct)\s+([\w_]+)|\W([\w_]+)\(\r
+.cpp, .c, .cxx = \W(([\w_]+)::([\w_]+))|\W([\w_]+)\(\r
+.js = (?:(?:prototype\.|this\.)(\w+)\s*=\s*)?function\s*(?:(\w*)\s*)\(\r
+.pas = (\w+)\s+=\s+(?:class|record|interface)|(?:procedure|function|property|constructor)\s+(\w+)\r
+.py, .pyw, .rb = ^\s*(?:class|def)\s+(\w+)\r
+.pl, .pm, .cgi = ^\s*sub\s+(\w+)|\s*(?:package|use)\s+([\w\:]+)\r
+.php = ^\s*class\s+(\w+)|^\s*(?:(?:public|private|)\s+function)\s+(\w+)|::(\w+)|->(\w+)\r
+.vb, .vb6 = (?:class|function|sub)\s+(\w+)(?:\s*(?:[\(\']|$))\r
+.bas, .frm, .cls = ^\s*(?:(?:Public (?:Default )?|Private )?(?:Sub|Function|Property Get|Property Set|Property Let) ?)(\w+)\(|^Attribute VB_Name = "(\w+)"\r
+.cs, .asp, .aspx = (?:public|protected|private|internal)\s+(?:[\w\d_\.]+\s+)*([\w\d_\.]+)\r
+.java = (?:public|protected|private|internal)\s+(?:[\w\d_\.]+\s+)*([\w\d_\.]+)|class\s+([\w_]+)(?:(?:\s+)?(?:extends|implements)(?:\s+)?([\w_]+)?)\r
+.cbl, .cpy = ^.{6} ([A-Z][A-Z0-9-]*)(?: SECTION)?\.\r
+.au3, .auh = Func\s+([\w_]+)|\$([\w_]+)\r
+.asm = ^([\w]+) *
\ No newline at end of file
diff --git a/src/TortoiseGitSetup/include/readme.txt b/src/TortoiseGitSetup/include/readme.txt
new file mode 100644 (file)
index 0000000..88a745b
--- /dev/null
@@ -0,0 +1,7 @@
+To create an installer for TortoiseSVN you need to have the WiX package\r
+in your PATH variable. You can get WiX from http://wix.sourceforge.net\r
+\r
+Build documentation by following the instructions SVN\tsvn\doc\readme.txt\r
+and SVN\tsvn\doc\build.txt.\r
+\r
+Then simply run MakeMsi.bat.\r
diff --git a/src/TortoiseGitSetup/include/tortoisesvn_logo.jpg b/src/TortoiseGitSetup/include/tortoisesvn_logo.jpg
new file mode 100644 (file)
index 0000000..a162b38
Binary files /dev/null and b/src/TortoiseGitSetup/include/tortoisesvn_logo.jpg differ
diff --git a/src/TortoiseGitSetup/setup.build b/src/TortoiseGitSetup/setup.build
new file mode 100644 (file)
index 0000000..54de5eb
--- /dev/null
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>\r
+<project name="Setup" default="setup" basedir=".">\r
+\r
+       <target name="versioninfo">\r
+               <nant target="versioninfo">\r
+                       <buildfiles>\r
+                               <include name="..\..\versioninfo.build" />\r
+                       </buildfiles>\r
+               </nant>\r
+               <loadfile file="VersionNumberInclude.in.wxi" property="versionwixfile">\r
+                       <filterchain>\r
+                               <replacetokens begintoken="$" endtoken="$">\r
+                                       <token key="MajorVersion" value="${environment::get-variable('MajorVersion')}" />\r
+                                       <token key="MinorVersion" value="${environment::get-variable('MinorVersion')}" />\r
+                                       <token key="MicroVersion" value="${environment::get-variable('Microversion')}" />\r
+                                       <token key="WCREV" value="${environment::get-variable('WCREV')}" />\r
+                               </replacetokens>\r
+                       </filterchain>\r
+               </loadfile>\r
+               <echo file="VersionNumberInclude.wxi" message="${versionwixfile}" />\r
+               <property name="verstring" value="${environment::get-variable('MajorVersion')}.${environment::get-variable('MinorVersion')}.${environment::get-variable('MicroVersion')}.${environment::get-variable('WCREV')}" />\r
+               <property name="msifilename" value="TortoiseSVN-${verstring}${devrelease}-${platform}-svn-1.6.0-dev" />\r
+       </target>\r
+\r
+       <target name="setup" depends="versioninfo">\r
+               <if test="${configuration == 'debug'}">\r
+                       <echo message="Cannot create an installer from debug binaries." />\r
+               </if>\r
+               <if test="${configuration == 'release'}">\r
+                 <setenv>\r
+                         <variable name="DictionaryENUS" value="0" />\r
+                         <variable name="DictionaryENGB" value="0" />\r
+                         <variable name="IncludeCrashReportDll" value="0" />\r
+                 </setenv>\r
+       \r
+                 <if test="${file::exists('..\..\..\Common\Spell\en_US.aff')}">\r
+                         <setenv>\r
+                                 <variable name="DictionaryENUS" value="1" />\r
+                         </setenv>\r
+                 </if>\r
+                 <if test="${file::exists('..\..\..\Common\Spell\en_GB.aff')}">\r
+                         <setenv>\r
+                                 <variable name="DictionaryENGB" value="1" />\r
+                         </setenv>\r
+                 </if>\r
+                 <if test="${file::exists('..\..\MYBUILD')}">\r
+                         <setenv>\r
+                                 <variable name="IncludeCrashReportDll" value="1" />\r
+                         </setenv>\r
+                 </if>\r
+                 <if test="${platform == 'x64'}">\r
+                         <setenv>\r
+                                 <variable name="Platform" value="x64" />\r
+                         </setenv>\r
+                 </if>\r
+                 <if test="${platform != 'x64'}">\r
+                         <setenv>\r
+                                 <variable name="Platform" value="win32" />\r
+                         </setenv>\r
+                 </if>\r
+               \r
+                 <!-- find the path to the merge modules -->\r
+                 <script language="C#">                        \r
+                         <code>\r
+                                 <![CDATA[\r
+                                         public static void ScriptMain(Project project)\r
+                                         {\r
+                                                 project.Properties.Add("mergemodulepath", System.Environment.GetFolderPath(System.Environment.SpecialFolder.CommonProgramFiles)+"\\Merge Modules");\r
+                                         }\r
+                                 ]]>\r
+                         </code>\r
+                 </script>\r
+                 <setenv>\r
+                         <variable name="MergeModules" value="${mergemodulepath}" />\r
+                 </setenv>\r
+\r
+                 <exec program="candle">\r
+                         <arg value="-nologo" />\r
+                         <arg value="-out" />\r
+                         <arg value="..\..\bin\" />\r
+                         <arg value="TortoiseSVN.wxs" />\r
+                         <arg value="FeaturesFragment.wxs" />\r
+                         <arg value="StructureFragment.wxs" />\r
+                         <arg value="UIFragment.wxs" />\r
+                 </exec>\r
+                 <exec program="light">\r
+                         <arg value="-nologo" />\r
+                         <arg value="-sw1055" />\r
+                         <arg value="-sice:ICE03" />\r
+                         <arg value="-sice:ICE82" />\r
+                         <arg value="-sice:ICE83" />\r
+                         <arg value="-sval" if="${platform == 'x64'}" />\r
+                         <arg value="-out" />\r
+                         <arg value="..\..\bin\${msifilename}.msi" />\r
+                         <arg value="..\..\bin\TortoiseSVN.wixobj" />\r
+                         <arg value="..\..\bin\FeaturesFragment.wixobj" />\r
+                         <arg value="..\..\bin\StructureFragment.wixobj" />\r
+                         <arg value="..\..\bin\UIFragment.wixobj" />\r
+                 </exec>\r
+                 <delete>\r
+                         <fileset>\r
+                                 <include name="..\..\bin\*.wixobj" />\r
+                                 <include name="..\..\bin\*.wixpdb" />\r
+                         </fileset>\r
+                 </delete>\r
+               \r
+               <if test="${devrelease == ''}">\r
+                 <exec program="gpg.exe" workingdir="..\..\bin">\r
+                         <arg value="-sba" />\r
+                         <arg value="--yes" />\r
+                         <arg value="--batch" />\r
+                         <arg value="--passphrase" />\r
+                         <arg value="${gpgpassphrase}" />\r
+                         <arg value="${msifilename}.msi" />\r
+                 </exec>\r
+        </if>\r
+         </if>\r
+       </target>\r
+\r
+</project>\r
+\r
diff --git a/src/TortoiseGitSetup/staticsetup.build b/src/TortoiseGitSetup/staticsetup.build
new file mode 100644 (file)
index 0000000..103f260
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>\r
+<project name="Setup" default="setup" basedir=".">\r
+\r
+       <target name="versioninfo">\r
+               <nant target="versioninfo">\r
+                       <buildfiles>\r
+                               <include name="..\..\versioninfo.build" />\r
+                       </buildfiles>\r
+               </nant>\r
+               <loadfile file="VersionNumberInclude.in.wxi" property="versionwixfile">\r
+                       <filterchain>\r
+                               <replacetokens begintoken="$" endtoken="$">\r
+                                       <token key="MajorVersion" value="${environment::get-variable('MajorVersion')}" />\r
+                                       <token key="MinorVersion" value="${environment::get-variable('MinorVersion')}" />\r
+                                       <token key="MicroVersion" value="${environment::get-variable('Microversion')}" />\r
+                                       <token key="WCREV" value="${environment::get-variable('WCREV')}" />\r
+                               </replacetokens>\r
+                       </filterchain>\r
+               </loadfile>\r
+               <echo file="VersionNumberInclude.wxi" message="${versionwixfile}" />\r
+               <property name="verstring" value="${environment::get-variable('MajorVersion')}.${environment::get-variable('MinorVersion')}.${environment::get-variable('MicroVersion')}.${environment::get-variable('WCREV')}" />\r
+       </target>\r
+\r
+       <target name="setup" depends="versioninfo">\r
+               <if test="${configuration == 'debug'}">\r
+                       <echo message="Cannot create an installer from debug binaries." />\r
+               </if>\r
+               <if test="${configuration == 'release'}">\r
+                 <setenv>\r
+                         <variable name="Platform" value="win32" />\r
+                 </setenv>\r
+                 <exec program="candle">\r
+                         <arg value="-nologo" />\r
+                         <arg value="-out" />\r
+                         <arg value="..\..\bin\" />\r
+                         <arg value="SubWCRev.wxs" />\r
+                 </exec>\r
+                 <exec program="light">\r
+                         <arg value="-nologo" />\r
+                         <arg value="-out" />\r
+                         <arg value="..\..\bin\SubWCRev-${verstring}.msi" />\r
+                         <arg value="..\..\bin\SubWCRev.wixobj" />\r
+                       <arg value="-ext" />\r
+                       <arg value="WixUIExtension" />\r
+                       <arg value="-cultures:en-us" />\r
+                 </exec>\r
+                 <delete>\r
+                         <fileset>\r
+                                 <include name="..\..\bin\*.wixobj" />\r
+                         </fileset>\r
+                 </delete>\r
+               \r
+                 <if test="${devrelease == ''}">\r
+                         <exec program="gpg.exe">\r
+                                 <arg value="-sba" />\r
+                                 <arg value="--yes" />\r
+                                 <arg value="--batch" />\r
+                                 <arg value="--passphrase" />\r
+                                 <arg value="${gpgpassphrase}" />\r
+                                 <arg value="..\..\bin\SubWCRev-${verstring}.msi" />\r
+                         </exec>\r
+                 </if>\r
+               </if>\r
+       </target>\r
+\r
+</project>\r
+\r
diff --git a/src/TortoiseProc/CloneDlg.cpp b/src/TortoiseProc/CloneDlg.cpp
new file mode 100644 (file)
index 0000000..f3d83d1
--- /dev/null
@@ -0,0 +1,68 @@
+// CloneDlg.cpp : implementation file\r
+//\r
+\r
+#include "stdafx.h"\r
+#include "TortoiseProc.h"\r
+#include "CloneDlg.h"\r
+\r
+\r
+// CCloneDlg dialog\r
+\r
+IMPLEMENT_DYNCREATE(CCloneDlg, CDHtmlDialog)\r
+\r
+CCloneDlg::CCloneDlg(CWnd* pParent /*=NULL*/)\r
+       : CDHtmlDialog(CCloneDlg::IDD, CCloneDlg::IDH, pParent)\r
+{\r
+\r
+}\r
+\r
+CCloneDlg::~CCloneDlg()\r
+{\r
+}\r
+\r
+void CCloneDlg::DoDataExchange(CDataExchange* pDX)\r
+{\r
+       CDHtmlDialog::DoDataExchange(pDX);\r
+}\r
+\r
+BOOL CCloneDlg::OnInitDialog()\r
+{\r
+       CDHtmlDialog::OnInitDialog();\r
+       return TRUE;  // return TRUE  unless you set the focus to a control\r
+}\r
+\r
+BEGIN_MESSAGE_MAP(CCloneDlg, CDHtmlDialog)\r
+       ON_BN_CLICKED(IDC_CLONE_BROWSE_URL, &CCloneDlg::OnBnClickedCloneBrowseUrl)\r
+       ON_BN_CLICKED(IDC_CLONE_DIR_BROWSE, &CCloneDlg::OnBnClickedCloneDirBrowse)\r
+END_MESSAGE_MAP()\r
+\r
+BEGIN_DHTML_EVENT_MAP(CCloneDlg)\r
+       DHTML_EVENT_ONCLICK(_T("ButtonOK"), OnButtonOK)\r
+       DHTML_EVENT_ONCLICK(_T("ButtonCancel"), OnButtonCancel)\r
+END_DHTML_EVENT_MAP()\r
+\r
+\r
+\r
+// CCloneDlg message handlers\r
+\r
+HRESULT CCloneDlg::OnButtonOK(IHTMLElement* /*pElement*/)\r
+{\r
+       OnOK();\r
+       return S_OK;\r
+}\r
+\r
+HRESULT CCloneDlg::OnButtonCancel(IHTMLElement* /*pElement*/)\r
+{\r
+       OnCancel();\r
+       return S_OK;\r
+}\r
+\r
+void CCloneDlg::OnBnClickedCloneBrowseUrl()\r
+{\r
+       // TODO: Add your control notification handler code here\r
+}\r
+\r
+void CCloneDlg::OnBnClickedCloneDirBrowse()\r
+{\r
+       // TODO: Add your control notification handler code here\r
+}\r
diff --git a/src/TortoiseProc/CloneDlg.h b/src/TortoiseProc/CloneDlg.h
new file mode 100644 (file)
index 0000000..036a6b6
--- /dev/null
@@ -0,0 +1,32 @@
+#pragma once\r
+\r
+#ifdef _WIN32_WCE\r
+#error "CDHtmlDialog is not supported for Windows CE."\r
+#endif \r
+\r
+// CCloneDlg dialog\r
+\r
+class CCloneDlg : public CDHtmlDialog\r
+{\r
+       DECLARE_DYNCREATE(CCloneDlg)\r
+\r
+public:\r
+       CCloneDlg(CWnd* pParent = NULL);   // standard constructor\r
+       virtual ~CCloneDlg();\r
+// Overrides\r
+       HRESULT OnButtonOK(IHTMLElement *pElement);\r
+       HRESULT OnButtonCancel(IHTMLElement *pElement);\r
+\r
+// Dialog Data\r
+       enum { IDD = IDD_CLONE, IDH = IDR_HTML_CLONEDLG };\r
+\r
+protected:\r
+       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support\r
+       virtual BOOL OnInitDialog();\r
+\r
+       DECLARE_MESSAGE_MAP()\r
+       DECLARE_DHTML_EVENT_MAP()\r
+public:\r
+       afx_msg void OnBnClickedCloneBrowseUrl();\r
+       afx_msg void OnBnClickedCloneDirBrowse();\r
+};\r
diff --git a/src/TortoiseProc/Commands/CloneCommand.cpp b/src/TortoiseProc/Commands/CloneCommand.cpp
new file mode 100644 (file)
index 0000000..f5101b5
--- /dev/null
@@ -0,0 +1,26 @@
+// TortoiseSVN - a Windows shell extension for easy version control\r
+\r
+// Copyright (C) 2007-2008 - TortoiseSVN\r
+\r
+// This program is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU General Public License\r
+// as published by the Free Software Foundation; either version 2\r
+// of the License, or (at your option) any later version.\r
+\r
+// This program is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+// GNU General Public License for more details.\r
+\r
+// You should have received a copy of the GNU General Public License\r
+// along with this program; if not, write to the Free Software Foundation,\r
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
+//\r
+#include "StdAfx.h"\r
+#include "CloneCommand.h"\r
+\r
+//#include "SVNProgressDlg.h"\r
+#include "StringUtils.h"\r
+#include "Hooks.h"\r
+#include "MessageBox.h"\r
+\r
diff --git a/src/TortoiseProc/Commands/CloneCommand.h b/src/TortoiseProc/Commands/CloneCommand.h
new file mode 100644 (file)
index 0000000..75502b5
--- /dev/null
@@ -0,0 +1,38 @@
+// TortoiseSVN - a Windows shell extension for easy version control\r
+\r
+// Copyright (C) 2007-2008 - TortoiseSVN\r
+\r
+// This program is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU General Public License\r
+// as published by the Free Software Foundation; either version 2\r
+// of the License, or (at your option) any later version.\r
+\r
+// This program is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+// GNU General Public License for more details.\r
+\r
+// You should have received a copy of the GNU General Public License\r
+// along with this program; if not, write to the Free Software Foundation,\r
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
+//\r
+#pragma once\r
+#include "Command.h"\r
+\r
+#include "MessageBox.h"\r
+\r
+#include "git.h"\r
+/**\r
+ * \ingroup TortoiseProc\r
+ * Creates a repository\r
+ */\r
+class CloneCommand : public Command\r
+{\r
+public:\r
+       /**\r
+        * Executes the command.\r
+        */\r
+       virtual bool                    Execute();\r
+};\r
+\r
+\r
index cae3793..72b9e7c 100644 (file)
 #include "AboutCommand.h"\r
 #include "CommitCommand.h"\r
 #include "LogCommand.h"\r
+\r
+#include "CreateRepositoryCommand.h"\r
+#include "CloneCommand.h"\r
+\r
 #if 0\r
 #include "AddCommand.h"\r
 #include "BlameCommand.h"\r
@@ -33,7 +37,7 @@
 #include "CopyCommand.h"\r
 #include "CrashCommand.h"\r
 #include "CreatePatchCommand.h"\r
-#include "CreateRepositoryCommand.h"\r
+\r
 #include "DelUnversionedCommand.h"\r
 #include "DiffCommand.h"\r
 #include "DropCopyAddCommand.h"\r
@@ -79,6 +83,7 @@ typedef enum
        cmdCat,\r
        cmdCheckout,\r
        cmdCleanup,\r
+       cmdClone,\r
        cmdCommit,\r
        cmdConflictEditor,\r
        cmdCopy,\r
@@ -121,6 +126,7 @@ typedef enum
        cmdUpdate,\r
        cmdUpdateCheck,\r
        cmdUrlDiff,\r
+       \r
 } TGitCommand;\r
 \r
 static const struct CommandInfo\r
@@ -135,6 +141,7 @@ static const struct CommandInfo
        {       cmdCat,                         _T("cat")                               },\r
        {       cmdCheckout,            _T("checkout")                  },\r
        {       cmdCleanup,                     _T("cleanup")                   },\r
+       {       cmdClone,                       _T("clone")                             },\r
        {       cmdCommit,                      _T("commit")                    },\r
        {       cmdConflictEditor,      _T("conflicteditor")    },\r
        {       cmdCopy,                        _T("copy")                              },\r
@@ -208,6 +215,10 @@ Command * CommandServer::GetCommand(const CString& sCmd)
                return new CommitCommand;\r
        case cmdLog:\r
                return new LogCommand;\r
+       case cmdRepoCreate:\r
+               return new CreateRepositoryCommand;\r
+       case cmdClone:\r
+               return new CloneCommand;\r
 #if 0\r
        case cmdAdd:\r
                return new AddCommand;\r
@@ -275,8 +286,7 @@ Command * CommandServer::GetCommand(const CString& sCmd)
                return new RenameCommand;\r
        case cmdRepoBrowser:\r
                return new RepositoryBrowserCommand;\r
-       case cmdRepoCreate:\r
-               return new CreateRepositoryCommand;\r
+\r
        case cmdRepoStatus:\r
                return new RepoStatusCommand;\r
        case cmdResolve:\r
index 21c8f82..7d52b04 100644 (file)
@@ -20,7 +20,7 @@
 #include "TortoiseProc.h"\r
 #include "CmdLineParser.h"\r
 #include "TGitPath.h"\r
-\r
+#include "git.h"\r
 \r
 \r
 \r
index c815730..bcb02a5 100644 (file)
@@ -21,6 +21,7 @@
 \r
 #include "MessageBox.h"\r
 \r
+#include "git.h"\r
 /**\r
  * \ingroup TortoiseProc\r
  * Creates a repository\r
@@ -33,17 +34,19 @@ public:
         */\r
        virtual bool                    Execute()\r
        {\r
-#if 0\r
-               if (!SVN::CreateRepository(cmdLinePath))\r
+               CGit git;\r
+               git.m_CurrentDir=cmdLinePath.GetWinPath();\r
+               CString output;\r
+\r
+               if (git.Run(_T("git.cmd init-db"),&output))\r
                {\r
                        CMessageBox::Show(hwndExplorer, IDS_PROC_REPOCREATEERR, IDS_APPNAME, MB_ICONERROR);\r
                        return false;\r
                }\r
                else\r
                {\r
-                       CMessageBox::Show(hwndExplorer, IDS_PROC_REPOCREATEFINISHED, IDS_APPNAME, MB_OK | MB_ICONINFORMATION);\r
+                       CMessageBox::Show(hwndExplorer, output, _T("TortoiseGit"), MB_OK | MB_ICONINFORMATION);\r
                }\r
-#endif\r
                return true;\r
        }\r
 };\r
index acbef18..6ee7fb0 100644 (file)
@@ -256,12 +256,12 @@ BOOL CTortoiseProcApp::InitInstance()
        }\r
        else\r
        {\r
-#if 0\r
+\r
                CString sPathArgument = CPathUtils::GetLongPathname(parser.GetVal(_T("path")));\r
                int asterisk = sPathArgument.Find('*');\r
                cmdLinePath.SetFromUnknown(asterisk >= 0 ? sPathArgument.Left(asterisk) : sPathArgument);\r
-               //pathList.LoadFromAsteriskSeparatedString(sPathArgument);\r
-#endif\r
+               pathList.LoadFromAsteriskSeparatedString(sPathArgument);\r
+\r
        }\r
        \r
        hWndExplorer = NULL;\r
index e4779c1..15e7782 100644 (file)
@@ -21,8 +21,8 @@
        <Configurations>\r
                <Configuration\r
                        Name="Debug|Win32"\r
-                       OutputDirectory="..\bin\Debug\bin"\r
-                       IntermediateDirectory="..\obj\TortoiseProc\Debug"\r
+                       OutputDirectory="..\..\bin\Debug\bin"\r
+                       IntermediateDirectory="..\..\obj\TortoiseProc\Debug"\r
                        ConfigurationType="1"\r
                        UseOfMFC="2"\r
                        UseOfATL="1"\r
@@ -48,7 +48,7 @@
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="&quot;$InputDir&quot;;../ext/ResizableLib;../Git;&quot;../../ext/apr-util/include&quot;;&quot;../../ext/apr-util/xml/expat/lib&quot;;../../ext/Subversion/subversion/include;../../ext/Subversion/subversion/libsvn_client;../../ext/apr/include;../../ext/boost;..\TortoiseProc;..\Utils;..\SVN;..\..\ext\ResizableLib;..\crashrpt;&quot;..\..\ext\libintl\libintl3-win32\inc&quot;;..\ext\hunspell;..\ext\scintilla\include;..\Utils\TreePropSheet;..\Utils\ColourPickerXP;..\Utils\NewMenu;..\Utils\MiscUI;..\LogCache;&quot;../../ext/cyrus-sasl/include&quot;;../../../common/openssl/inc32;.\RevisionGraph"\r
+                               AdditionalIncludeDirectories="&quot;$InputDir&quot;;../../ext/ResizableLib;../Git;&quot;../../ext/apr-util/include&quot;;&quot;../../ext/apr-util/xml/expat/lib&quot;;../../ext/Subversion/subversion/include;../../ext/Subversion/subversion/libsvn_client;../../ext/apr/include;../../ext/boost;..\TortoiseProc;..\Utils;..\SVN;..\..\ext\ResizableLib;..\crashrpt;&quot;..\..\ext\libintl\libintl3-win32\inc&quot;;..\..\ext\hunspell;..\..\ext\scintilla\include;..\Utils\TreePropSheet;..\Utils\ColourPickerXP;..\Utils\NewMenu;..\Utils\MiscUI;..\LogCache;&quot;../../ext/cyrus-sasl/include&quot;;../../../common/openssl/inc32;.\RevisionGraph"\r
                                PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;SVN_DEBUG;ENABLE_NLS;THESAURUS"\r
                                MinimalRebuild="true"\r
                                ExceptionHandling="2"\r
                        Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;h;hpp;hxx;hm;inl;inc"\r
                        >\r
                        <File\r
+                               RelativePath=".\CloneDlg.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\CloneDlg.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath=".\gitstatuslistctrl.cpp"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\bitmap2.bmp"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\Resources\bugtraq.ico"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath="..\Resources\copy.ico"\r
+                               RelativePath=".\copy.ico"\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath=".\copy.ico"\r
+                               RelativePath="..\Resources\copy.ico"\r
                                >\r
                        </File>\r
                        <File\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\git.bmp"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\Resources\graph-bar-stacked.ico"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath=".\newfolder.ico"\r
+                               RelativePath="..\Resources\newfolder.ico"\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath="..\Resources\newfolder.ico"\r
+                               RelativePath=".\newfolder.ico"\r
                                >\r
                        </File>\r
                        <File\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath=".\up.ico"\r
+                               RelativePath="..\Resources\up.ico"\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath="..\Resources\up.ico"\r
+                               RelativePath=".\up.ico"\r
                                >\r
                        </File>\r
                        <File\r
                                Name="Commit"\r
                                >\r
                                <File\r
+                                       RelativePath=".\Commands\CloneCommand.cpp"\r
+                                       >\r
+                               </File>\r
+                               <File\r
+                                       RelativePath=".\Commands\CloneCommand.h"\r
+                                       >\r
+                               </File>\r
+                               <File\r
                                        RelativePath=".\Commands\CommitCommand.cpp"\r
                                        >\r
                                </File>\r
                                        RelativePath=".\CommitDlg.h"\r
                                        >\r
                                </File>\r
+                               <File\r
+                                       RelativePath=".\Commands\CreateRepositoryCommand.h"\r
+                                       >\r
+                               </File>\r
                        </Filter>\r
                        <Filter\r
                                Name="About"\r
                        </Filter>\r
                </Filter>\r
                <File\r
+                       RelativePath=".\CloneDlg.htm"\r
+                       DeploymentContent="true"\r
+                       >\r
+               </File>\r
+               <File\r
                        RelativePath="Resource.h"\r
                        >\r
                </File>\r
                />\r
                <Global\r
                        Name="RESOURCE_FILE"\r
-                       Value="\Profiles\b20596\tortoisegit\Resources\TortoiseProcENG.rc"\r
+                       Value="\Profiles\b20596\tortoisegit\src\Resources\TortoiseProcENG.rc"\r
                />\r
        </Globals>\r
 </VisualStudioProject>\r
index 181890c..90b134b 100644 (file)
@@ -11,7 +11,7 @@
                        <DebugSettings\r
                                Command="$(TargetPath)"\r
                                WorkingDirectory="D:\Profiles\b20596\tortoisegit"\r
-                               CommandArguments="/command:commit"\r
+                               CommandArguments="/command:repocreate /path:&quot;D:\test2&quot;"\r
                                Attach="false"\r
                                DebuggerType="3"\r
                                Remote="1"\r
index 6e9a4a9..fb36ad7 100644 (file)
Binary files a/src/TortoiseProc/resource.h and b/src/TortoiseProc/resource.h differ
index c85d72f..d52efde 100644 (file)
@@ -84,6 +84,7 @@
 #define HISTORYCOMBO_WITH_SYSIMAGELIST\r
 \r
 #include "ProfilingInfo.h"\r
+#include <afxdhtml.h>\r
 \r
 #ifdef _WIN64\r
 #      define APP_X64_STRING   "x64"\r
index ae85bb8..204d8ca 100644 (file)
@@ -1768,11 +1768,9 @@ STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi)
                                else return NOERROR;\r
                                break;\r
                        case ShellMenuClone:\r
-                               tempfile = WriteFileListToTempFile();\r
-                               svnCmd += _T("clone /pathfile:\"");\r
-                               svnCmd += tempfile;\r
+                               svnCmd += _T("clone /path:\"");\r
+                               svnCmd += folder_;\r
                                svnCmd += _T("\"");\r
-                               svnCmd += _T(" /deletepathfile");\r
                                break;\r
                        case ShellMenuPull:\r
                                tempfile = WriteFileListToTempFile();\r
index f1112a4..3d699e7 100644 (file)
@@ -20,8 +20,8 @@
        <Configurations>\r
                <Configuration\r
                        Name="Debug|Win32"\r
-                       OutputDirectory="..\bin\Debug\bin"\r
-                       IntermediateDirectory="..\obj\TortoiseShell\Debug"\r
+                       OutputDirectory="..\..\bin\Debug\bin"\r
+                       IntermediateDirectory="..\..\obj\TortoiseShell\Debug"\r
                        ConfigurationType="2"\r
                        UseOfMFC="0"\r
                        UseOfATL="1"\r
index 40e322c..186aea2 100644 (file)
@@ -44,7 +44,7 @@
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\ext\scintilla\include;..\Utils;..\Utils\MiscUI"\r
+                               AdditionalIncludeDirectories="..\..\ext\scintilla\include;..\Utils;..\Utils\MiscUI"\r
                                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"\r
                                MinimalRebuild="true"\r
                                BasicRuntimeChecks="3"\r
index 806a2f9..7341f80 100644 (file)
@@ -18,8 +18,8 @@
        <Configurations>\r
                <Configuration\r
                        Name="Debug|Win32"\r
-                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
-                       IntermediateDirectory="$(ConfigurationName)"\r
+                       OutputDirectory="..\..\bin\$(ConfigurationName)"\r
+                       IntermediateDirectory="..\..\obj\$(ConfigurationName)"\r
                        ConfigurationType="4"\r
                        UseOfMFC="2"\r
                        UseOfATL="1"\r
similarity index 100%
rename from version.h
rename to src/version.h