summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Altman <jaltman@secure-endpoints.com>2004-08-20 23:42:59 +0000
committerJeffrey Altman <jaltman@secure-endpoints.com>2004-08-20 23:42:59 +0000
commit8a7d1cdf437405d74b3616fd54aef8219aa722ae (patch)
tree8ace34ebf44287e74020794c1b6ec0eed5dbd829
parent4d2d74fe1044368725b0e594c2690d1d642d4158 (diff)
downloadkrb5-8a7d1cdf437405d74b3616fd54aef8219aa722ae.tar.gz
krb5-8a7d1cdf437405d74b3616fd54aef8219aa722ae.tar.xz
krb5-8a7d1cdf437405d74b3616fd54aef8219aa722ae.zip
New WiX based MSI installer for KFW
Requires WiX 2.0.1927.1 patched by Asanka. http://prdownloads.sourceforge.net/wix/sources-2.0.1927.1.zip ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16675 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/windows/installer/wix/Binary/bannrbmp.bmpbin0 -> 94554 bytes
-rw-r--r--src/windows/installer/wix/Binary/completi.icobin0 -> 2998 bytes
-rw-r--r--src/windows/installer/wix/Binary/custicon.icobin0 -> 2998 bytes
-rw-r--r--src/windows/installer/wix/Binary/dlgbmp.bmpbin0 -> 474822 bytes
-rw-r--r--src/windows/installer/wix/Binary/exclamic.icobin0 -> 766 bytes
-rw-r--r--src/windows/installer/wix/Binary/info.bmpbin0 -> 1078 bytes
-rw-r--r--src/windows/installer/wix/Binary/insticon.icobin0 -> 2998 bytes
-rw-r--r--src/windows/installer/wix/Binary/new.bmpbin0 -> 318 bytes
-rw-r--r--src/windows/installer/wix/Binary/removico.icobin0 -> 2998 bytes
-rw-r--r--src/windows/installer/wix/Binary/repairic.icobin0 -> 2998 bytes
-rw-r--r--src/windows/installer/wix/Binary/up.bmpbin0 -> 318 bytes
-rw-r--r--src/windows/installer/wix/Makefile59
-rw-r--r--src/windows/installer/wix/config.wxi54
-rw-r--r--src/windows/installer/wix/custom/custom.cpp627
-rw-r--r--src/windows/installer/wix/custom/custom.h66
-rw-r--r--src/windows/installer/wix/features.wxi210
-rw-r--r--src/windows/installer/wix/files.wxi666
-rw-r--r--src/windows/installer/wix/kfw.wxs201
-rw-r--r--src/windows/installer/wix/lang/config_1033.wxi68
-rw-r--r--src/windows/installer/wix/lang/strings_1033.wxl55
-rw-r--r--src/windows/installer/wix/lang/ui_1033.wxi1243
-rw-r--r--src/windows/installer/wix/property.wxi53
-rw-r--r--src/windows/installer/wix/site-local.wxi94
23 files changed, 3396 insertions, 0 deletions
diff --git a/src/windows/installer/wix/Binary/bannrbmp.bmp b/src/windows/installer/wix/Binary/bannrbmp.bmp
new file mode 100644
index 0000000000..fe26100177
--- /dev/null
+++ b/src/windows/installer/wix/Binary/bannrbmp.bmp
Binary files differ
diff --git a/src/windows/installer/wix/Binary/completi.ico b/src/windows/installer/wix/Binary/completi.ico
new file mode 100644
index 0000000000..93a95a1b19
--- /dev/null
+++ b/src/windows/installer/wix/Binary/completi.ico
Binary files differ
diff --git a/src/windows/installer/wix/Binary/custicon.ico b/src/windows/installer/wix/Binary/custicon.ico
new file mode 100644
index 0000000000..878d3ba54b
--- /dev/null
+++ b/src/windows/installer/wix/Binary/custicon.ico
Binary files differ
diff --git a/src/windows/installer/wix/Binary/dlgbmp.bmp b/src/windows/installer/wix/Binary/dlgbmp.bmp
new file mode 100644
index 0000000000..b67c6c246e
--- /dev/null
+++ b/src/windows/installer/wix/Binary/dlgbmp.bmp
Binary files differ
diff --git a/src/windows/installer/wix/Binary/exclamic.ico b/src/windows/installer/wix/Binary/exclamic.ico
new file mode 100644
index 0000000000..906ce3246d
--- /dev/null
+++ b/src/windows/installer/wix/Binary/exclamic.ico
Binary files differ
diff --git a/src/windows/installer/wix/Binary/info.bmp b/src/windows/installer/wix/Binary/info.bmp
new file mode 100644
index 0000000000..7e0ff7f14c
--- /dev/null
+++ b/src/windows/installer/wix/Binary/info.bmp
Binary files differ
diff --git a/src/windows/installer/wix/Binary/insticon.ico b/src/windows/installer/wix/Binary/insticon.ico
new file mode 100644
index 0000000000..94753ac296
--- /dev/null
+++ b/src/windows/installer/wix/Binary/insticon.ico
Binary files differ
diff --git a/src/windows/installer/wix/Binary/new.bmp b/src/windows/installer/wix/Binary/new.bmp
new file mode 100644
index 0000000000..27881dfe97
--- /dev/null
+++ b/src/windows/installer/wix/Binary/new.bmp
Binary files differ
diff --git a/src/windows/installer/wix/Binary/removico.ico b/src/windows/installer/wix/Binary/removico.ico
new file mode 100644
index 0000000000..097cafe274
--- /dev/null
+++ b/src/windows/installer/wix/Binary/removico.ico
Binary files differ
diff --git a/src/windows/installer/wix/Binary/repairic.ico b/src/windows/installer/wix/Binary/repairic.ico
new file mode 100644
index 0000000000..6fb68610c9
--- /dev/null
+++ b/src/windows/installer/wix/Binary/repairic.ico
Binary files differ
diff --git a/src/windows/installer/wix/Binary/up.bmp b/src/windows/installer/wix/Binary/up.bmp
new file mode 100644
index 0000000000..86f6b5a847
--- /dev/null
+++ b/src/windows/installer/wix/Binary/up.bmp
Binary files differ
diff --git a/src/windows/installer/wix/Makefile b/src/windows/installer/wix/Makefile
new file mode 100644
index 0000000000..02de33ca70
--- /dev/null
+++ b/src/windows/installer/wix/Makefile
@@ -0,0 +1,59 @@
+
+# Build language
+LANG=1033
+
+# Program macros
+CANDLE=candle -nologo
+
+LIGHT=light -nologo
+
+CD=cd
+
+RM=del
+
+MAKE=nmake -nologo
+
+
+# Targets
+
+OUTPATH=.
+
+OBJFILE=$(OUTPATH)\kfw.wixobj
+
+MSIFILE=$(OUTPATH)\kfw.msi
+
+WIXINCLUDES= \
+ config.wxi \
+ features.wxi \
+ files.wxi \
+ property.wxi \
+ site-local.wxi \
+ lang\strings_$(LANG).wxl \
+ lang\ui_$(LANG).wxi \
+ lang\config_$(LANG).wxi
+
+CUSTOMDLL=custom\custom.dll
+
+all: $(MSIFILE)
+
+$(OBJFILE): kfw.wxs $(WIXINCLUDES)
+ $(CANDLE) -out $@ kfw.wxs \
+ "-dDate=%DATE%" \
+ "-dTime=%TIME%" \
+ -dBuildLang=$(LANG)
+
+$(MSIFILE): $(OBJFILE) $(CUSTOMDLL)
+ $(LIGHT) -out $@ $(OBJFILE) \
+ -loc lang\strings_$(LANG).wxl
+
+$(CUSTOMDLL): custom\custom.cpp
+ $(CD) custom
+ $(MAKE) -f custom.cpp
+ $(CD) ..
+
+clean:
+ $(RM) $(OBJFILE)
+ $(RM) $(MSIFILE)
+ $(CD) custom
+ $(MAKE) -f custom.cpp clean
+ $(CD) ..
diff --git a/src/windows/installer/wix/config.wxi b/src/windows/installer/wix/config.wxi
new file mode 100644
index 0000000000..508a93742e
--- /dev/null
+++ b/src/windows/installer/wix/config.wxi
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Copyright (C) 2004 by the Massachusetts Institute of Technology.
+ All rights reserved.
+
+ Export of this software from the United States of America may
+ require a specific license from the United States Government.
+ It is the responsibility of any person or organization contemplating
+ export to obtain such a license before exporting.
+
+ WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ distribute this software and its documentation for any purpose and
+ without fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and that
+ the name of M.I.T. not be used in advertising or publicity pertaining
+ to distribution of the software without specific, written prior
+ permission. Furthermore if you modify this software you must label
+ your software as modified software and not distribute it in such a
+ fashion that it might be confused with the original M.I.T. software.
+ M.I.T. makes no representations about the suitability of
+ this software for any purpose. It is provided "as is" without express
+ or implied warranty.
+
+ -->
+<Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
+
+ <!-- include site sepecific customizations -->
+ <?include site-local.wxi?>
+
+ <!-- Sanity checks -->
+ <?ifndef var.CL1200?>
+ <?ifndef var.CL1300?>
+ <?ifndef var.CL1310?>
+ <?ifndef var.CL1400?>
+ <?error Must define one of CL1200, CL1300, CL1310 or CL1400?>
+ <?endif?>
+ <?endif?>
+ <?endif?>
+ <?endif?>
+
+
+ <?define KfwRegRoot="SOFTWARE\MIT\Kerberos"?>
+
+ <?define BinDir="$(var.TargetDir)bin\i386\"?>
+ <?define DocDir="$(var.TargetDir)doc\"?>
+ <?define IncDir="$(var.TargetDir)inc\"?>
+ <?define LibDir="$(var.TargetDir)lib\i386\"?>
+ <?define InstallDir="$(var.TargetDir)install\"?>
+ <?define SystemDir="$(env.SystemRoot)\System32\"?>
+
+ <?include lang\config_$(var.BuildLang).wxi?>
+</Include> \ No newline at end of file
diff --git a/src/windows/installer/wix/custom/custom.cpp b/src/windows/installer/wix/custom/custom.cpp
new file mode 100644
index 0000000000..31fc11caad
--- /dev/null
+++ b/src/windows/installer/wix/custom/custom.cpp
@@ -0,0 +1,627 @@
+#ifdef __NMAKE__
+
+# NMAKE portion.
+# Build with : nmake /f custom.cpp
+# Clean with : nmake /f custom.cpp clean
+
+# Builds custom.dll
+
+OUTPATH = .
+
+# program name macros
+CC = cl /nologo
+
+LINK = link /nologo
+
+RM = del
+
+DLLFILE = $(OUTPATH)\custom.dll
+
+DLLEXPORTS =\
+ -EXPORT:EnableAllowTgtSessionKey \
+ -EXPORT:RevertAllowTgtSessionKey \
+ -EXPORT:AbortMsiImmediate \
+ -EXPORT:UninstallNsisInstallation \
+ -EXPORT:KillRunningProcesses \
+ -EXPORT:ListRunningProcesses
+
+$(DLLFILE): $(OUTPATH)\custom.obj
+ $(LINK) /OUT:$@ /DLL $** $(DLLEXPORTS)
+
+$(OUTPATH)\custom.obj: custom.cpp custom.h
+ $(CC) /c /Fo$@ custom.cpp
+
+all: $(DLLFILE)
+
+clean:
+ $(RM) $(DLLFILE)
+ $(RM) $(OUTPATH)\custom.obj
+ $(RM) $(OUTPATH)\custom.exp
+
+!IFDEF __C_TEXT__
+#else
+/*
+
+Copyright 2004 by the Massachusetts Institute of Technology
+
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of the Massachusetts
+Institute of Technology (M.I.T.) not be used in advertising or publicity
+pertaining to distribution of the software without specific, written
+prior permission.
+
+M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+*/
+
+/**************************************************************
+* custom.cpp : Dll implementing custom action to install Kerberos for Windows
+*
+* The functions in this file are for use as entry points
+* for calls from MSI only. The specific MSI parameters
+* are noted in the comments section of each of the
+* functions.
+*
+* rcsid: $Id$
+**************************************************************/
+
+#pragma unmanaged
+
+// Only works for Win2k and above
+#define _WIN32_WINNT 0x500
+#include "custom.h"
+
+// linker stuff
+#pragma comment(lib, "msi")
+#pragma comment(lib, "advapi32")
+
+
+void ShowMsiError( MSIHANDLE hInstall, DWORD errcode, DWORD param ){
+ MSIHANDLE hRecord;
+
+ hRecord = MsiCreateRecord(3);
+ MsiRecordClearData(hRecord);
+ MsiRecordSetInteger(hRecord, 1, errcode);
+ MsiRecordSetInteger(hRecord, 2, param);
+
+ MsiProcessMessage( hInstall, INSTALLMESSAGE_ERROR, hRecord );
+
+ MsiCloseHandle( hRecord );
+}
+
+#define LSA_KERBEROS_KEY "SYSTEM\\CurrentControlSet\\Control\\Lsa\\Kerberos"
+#define LSA_KERBEROS_PARM_KEY "SYSTEM\\CurrentControlSet\\Control\\Lsa\\Kerberos\\Parameters"
+#define KFW_CLIENT_KEY "SOFTWARE\\MIT\\Kerberos\\Client\\"
+#define SESSKEY_VALUE_NAME "AllowTGTSessionKey"
+
+#define SESSBACKUP_VALUE_NAME "AllowTGTSessionKeyBackup"
+#define SESSXPBACKUP_VALUE_NAME "AllowTGTSessionKeyBackupXP"
+
+
+/* Set the AllowTGTSessionKey registry keys on install. Called as a deferred custom action. */
+MSIDLLEXPORT EnableAllowTgtSessionKey( MSIHANDLE hInstall ) {
+ return SetAllowTgtSessionKey( hInstall, TRUE );
+}
+
+/* Unset the AllowTGTSessionKey registry keys on uninstall. Called as a deferred custom action. */
+MSIDLLEXPORT RevertAllowTgtSessionKey( MSIHANDLE hInstall ) {
+ return SetAllowTgtSessionKey( hInstall, FALSE );
+}
+
+UINT SetAllowTgtSessionKey( MSIHANDLE hInstall, BOOL pInstall ) {
+ TCHAR tchVersionString[1024];
+ TCHAR tchVersionKey[2048];
+ DWORD size;
+ DWORD type;
+ DWORD value;
+ HKEY hkKfwClient = NULL;
+ HKEY hkLsaKerberos = NULL;
+ HKEY hkLsaKerberosParm = NULL;
+ UINT rv;
+ DWORD phase = 0;
+
+ // construct the backup key path
+ size = sizeof(tchVersionString) / sizeof(TCHAR);
+ rv = MsiGetProperty( hInstall, _T("CustomActionData"), tchVersionString, &size );
+ if(rv != ERROR_SUCCESS) {
+ if(pInstall) {
+ ShowMsiError( hInstall, ERR_CUSTACTDATA, rv );
+ return rv;
+ } else {
+ return ERROR_SUCCESS;
+ }
+ }
+
+ _tcscpy( tchVersionKey, _T( KFW_CLIENT_KEY ) );
+ _tcscat( tchVersionKey, tchVersionString );
+
+ phase = 1;
+
+ rv = RegOpenKeyEx( HKEY_LOCAL_MACHINE, tchVersionKey, 0, ((pInstall)?KEY_WRITE:KEY_READ), &hkKfwClient );
+ if(rv != ERROR_SUCCESS)
+ goto cleanup;
+
+ phase = 2;
+
+ rv = RegOpenKeyEx( HKEY_LOCAL_MACHINE, _T( LSA_KERBEROS_KEY ), 0, KEY_READ | KEY_WRITE, &hkLsaKerberos );
+ if(rv != ERROR_SUCCESS)
+ goto cleanup;
+
+ phase = 3;
+
+ rv = RegOpenKeyEx( HKEY_LOCAL_MACHINE, _T( LSA_KERBEROS_PARM_KEY ), 0, KEY_READ | KEY_WRITE, &hkLsaKerberosParm );
+ if(rv != ERROR_SUCCESS) {
+ hkLsaKerberosParm = NULL;
+ }
+
+ if(pInstall) {
+ // backup the existing values
+ if(hkLsaKerberosParm) {
+ phase = 4;
+
+ size = sizeof(value);
+ rv = RegQueryValueEx( hkLsaKerberosParm, _T( SESSKEY_VALUE_NAME ), NULL, &type, (LPBYTE) &value, &size );
+ if(rv != ERROR_SUCCESS)
+ value = 0;
+
+ phase = 5;
+ rv = RegSetValueEx( hkKfwClient, _T( SESSBACKUP_VALUE_NAME ), 0, REG_DWORD, (LPBYTE) &value, sizeof(value));
+ if(rv != ERROR_SUCCESS)
+ goto cleanup;
+ }
+
+ phase = 6;
+ size = sizeof(value);
+ rv = RegQueryValueEx( hkLsaKerberos, _T( SESSKEY_VALUE_NAME ), NULL, &type, (LPBYTE) &value, &size );
+ if(rv != ERROR_SUCCESS)
+ value = 0;
+
+ phase = 7;
+ rv = RegSetValueEx( hkKfwClient, _T( SESSXPBACKUP_VALUE_NAME ), 0, REG_DWORD, (LPBYTE) &value, sizeof(value));
+ if(rv != ERROR_SUCCESS)
+ goto cleanup;
+
+ // and now write the actual values
+ phase = 8;
+ value = 1;
+ rv = RegSetValueEx( hkLsaKerberos, _T( SESSKEY_VALUE_NAME ), 0, REG_DWORD, (LPBYTE) &value, sizeof(value));
+ if(rv != ERROR_SUCCESS)
+ goto cleanup;
+
+ if(hkLsaKerberosParm) {
+ phase = 9;
+ value = 1;
+ rv = RegSetValueEx( hkLsaKerberosParm, _T( SESSKEY_VALUE_NAME ), 0, REG_DWORD, (LPBYTE) &value, sizeof(value));
+ if(rv != ERROR_SUCCESS)
+ goto cleanup;
+ }
+
+ } else { // uninstalling
+ // Don't fail no matter what goes wrong. This is also a rollback action.
+ if(hkLsaKerberosParm) {
+ size = sizeof(value);
+ rv = RegQueryValueEx( hkKfwClient, _T( SESSBACKUP_VALUE_NAME ), NULL, &type, (LPBYTE) &value, &size );
+ if(rv != ERROR_SUCCESS)
+ value = 0;
+
+ RegSetValueEx( hkLsaKerberosParm, _T( SESSKEY_VALUE_NAME ), 0, REG_DWORD, (LPBYTE) &value, sizeof(value));
+ }
+
+ size = sizeof(value);
+ rv = RegQueryValueEx( hkKfwClient, _T( SESSXPBACKUP_VALUE_NAME ), NULL, &type, (LPBYTE) &value, &size );
+ if(rv != ERROR_SUCCESS)
+ value = 0;
+
+ RegSetValueEx( hkLsaKerberos, _T( SESSKEY_VALUE_NAME ), 0, REG_DWORD, (LPBYTE) &value, sizeof(value));
+
+ RegDeleteValue( hkKfwClient, _T( SESSXPBACKUP_VALUE_NAME ) );
+ RegDeleteValue( hkKfwClient, _T( SESSBACKUP_VALUE_NAME ) );
+ }
+
+ // all done
+ rv = ERROR_SUCCESS;
+
+cleanup:
+ if(rv != ERROR_SUCCESS && pInstall) {
+ ShowMsiError(hInstall, 4005, phase);
+ }
+ if(hkKfwClient) RegCloseKey( hkKfwClient );
+ if(hkLsaKerberos) RegCloseKey( hkLsaKerberos );
+ if(hkLsaKerberosParm) RegCloseKey( hkLsaKerberosParm );
+
+ return rv;
+}
+
+/* Abort the installation (called as an immediate custom action) */
+MSIDLLEXPORT AbortMsiImmediate( MSIHANDLE hInstall ) {
+ DWORD rv;
+ DWORD dwSize = 0;
+ LPTSTR sReason = NULL;
+ LPTSTR sFormatted = NULL;
+ MSIHANDLE hRecord = NULL;
+ LPTSTR cAbortReason = _T("ABORTREASON");
+
+ rv = MsiGetProperty( hInstall, cAbortReason, _T(""), &dwSize );
+ if(rv != ERROR_MORE_DATA) goto _cleanup;
+
+ sReason = new TCHAR[ ++dwSize ];
+
+ rv = MsiGetProperty( hInstall, cAbortReason, sReason, &dwSize );
+
+ if(rv != ERROR_SUCCESS) goto _cleanup;
+
+ hRecord = MsiCreateRecord(3);
+ MsiRecordClearData(hRecord);
+ MsiRecordSetString(hRecord, 0, sReason);
+
+ dwSize = 0;
+
+ rv = MsiFormatRecord(hInstall, hRecord, "", &dwSize);
+ if(rv != ERROR_MORE_DATA) goto _cleanup;
+
+ sFormatted = new TCHAR[ ++dwSize ];
+
+ rv = MsiFormatRecord(hInstall, hRecord, sFormatted, &dwSize);
+
+ if(rv != ERROR_SUCCESS) goto _cleanup;
+
+ MsiCloseHandle(hRecord);
+
+ hRecord = MsiCreateRecord(3);
+ MsiRecordClearData(hRecord);
+ MsiRecordSetInteger(hRecord, 1, ERR_ABORT);
+ MsiRecordSetString(hRecord,2, sFormatted);
+ MsiProcessMessage(hInstall, INSTALLMESSAGE_ERROR, hRecord);
+
+_cleanup:
+ if(sFormatted) delete sFormatted;
+ if(hRecord) MsiCloseHandle( hRecord );
+ if(sReason) delete sReason;
+
+ return ~ERROR_SUCCESS;
+}
+
+/* Kill specified processes that are running on the system */
+/* Uses the custom table KillProcess. Called as an immediate action. */
+
+#define MAX_KILL_PROCESSES 255
+#define FIELD_SIZE 256
+
+struct _KillProc {
+ TCHAR * image;
+ TCHAR * desc;
+ BOOL found;
+ DWORD pid;
+};
+
+#define RV_BAIL if(rv != ERROR_SUCCESS) goto _cleanup
+
+MSIDLLEXPORT KillRunningProcesses( MSIHANDLE hInstall ) {
+ return KillRunningProcessesSlave( hInstall, TRUE );
+}
+
+/* When listing running processes, we populate the ListBox table with
+ values associated with the property 'KillableProcesses'. If we
+ actually find any processes worth killing, then we also set the
+ 'FoundProcceses' property to '1'. Otherwise we set it to ''.
+*/
+
+MSIDLLEXPORT ListRunningProcesses( MSIHANDLE hInstall ) {
+ return KillRunningProcessesSlave( hInstall, FALSE );
+}
+
+UINT KillRunningProcessesSlave( MSIHANDLE hInstall, BOOL bKill )
+{
+ UINT rv = ERROR_SUCCESS;
+ _KillProc * kpList;
+ int nKpList = 0;
+ int i;
+ int rowNum = 1;
+ DWORD size;
+ BOOL found = FALSE;
+
+ MSIHANDLE hDatabase = NULL;
+ MSIHANDLE hView = NULL;
+ MSIHANDLE hViewInsert = NULL;
+ MSIHANDLE hRecord = NULL;
+ MSIHANDLE hRecordInsert = NULL;
+
+ HANDLE hSnapshot = NULL;
+
+ PROCESSENTRY32 pe;
+
+ kpList = new _KillProc[MAX_KILL_PROCESSES];
+ memset(kpList, 0, sizeof(*kpList) * MAX_KILL_PROCESSES);
+
+ hDatabase = MsiGetActiveDatabase( hInstall );
+ if( hDatabase == NULL ) {
+ rv = GetLastError();
+ goto _cleanup;
+ }
+
+ // If we are only going to list out the processes, delete all the existing
+ // entries first.
+
+ if(!bKill) {
+
+ rv = MsiDatabaseOpenView( hDatabase,
+ _T( "DELETE FROM `ListBox` WHERE `ListBox`.`Property` = 'KillableProcesses'" ),
+ &hView); RV_BAIL;
+
+ rv = MsiViewExecute( hView, NULL ); RV_BAIL;
+
+ MsiCloseHandle( hView );
+
+ hView = NULL;
+
+ rv = MsiDatabaseOpenView( hDatabase,
+ _T( "SELECT * FROM `ListBox` WHERE `Property` = 'KillableProcesses'" ),
+ &hViewInsert); RV_BAIL;
+
+ MsiViewExecute(hViewInsert, NULL);
+
+ hRecordInsert = MsiCreateRecord(4);
+
+ if(hRecordInsert == NULL) {
+ rv = GetLastError();
+ goto _cleanup;
+ }
+ }
+
+ // Open a view
+ rv = MsiDatabaseOpenView( hDatabase,
+ _T( "SELECT `Image`,`Desc` FROM `KillProcess`" ),
+ &hView); RV_BAIL;
+
+ rv = MsiViewExecute( hView, NULL ); RV_BAIL;
+
+ do {
+ rv = MsiViewFetch( hView, &hRecord );
+ if(rv != ERROR_SUCCESS) {
+ if(hRecord)
+ MsiCloseHandle(hRecord);
+ hRecord = NULL;
+ break;
+ }
+
+ kpList[nKpList].image = new TCHAR[ FIELD_SIZE ]; kpList[nKpList].image[0] = _T('\0');
+ kpList[nKpList].desc = new TCHAR[ FIELD_SIZE ]; kpList[nKpList].desc[0] = _T('\0');
+ nKpList++;
+
+ size = FIELD_SIZE;
+ rv = MsiRecordGetString(hRecord, 1, kpList[nKpList-1].image, &size); RV_BAIL;
+
+ size = FIELD_SIZE;
+ rv = MsiRecordGetString(hRecord, 2, kpList[nKpList-1].desc, &size); RV_BAIL;
+
+ MsiCloseHandle(hRecord);
+ } while(nKpList < MAX_KILL_PROCESSES);
+
+ hRecord = NULL;
+
+ // now we have all the processes in the array. Check if they are running.
+
+ hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
+ if(hSnapshot == INVALID_HANDLE_VALUE) {
+ rv = GetLastError();
+ goto _cleanup;
+ }
+
+ pe.dwSize = sizeof( PROCESSENTRY32 );
+
+ if(!Process32First( hSnapshot, &pe )) {
+ // technically we should at least find the MSI process, but we let this pass
+ rv = ERROR_SUCCESS;
+ goto _cleanup;
+ }
+
+ do {
+ for(i=0; i<nKpList; i++) {
+ if(!_tcsicmp( kpList[i].image, pe.szExeFile )) {
+ // got one
+ if(bKill) {
+ // try to kill the process
+ HANDLE hProcess = NULL;
+
+ hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, pe.th32ProcessID);
+ if(hProcess == NULL) {
+ rv = GetLastError();
+ goto _cleanup;
+ }
+
+ if(!TerminateProcess(hProcess, 0)) {
+ rv = GetLastError();
+ CloseHandle(hProcess);
+ goto _cleanup;
+ }
+
+ CloseHandle(hProcess);
+
+ } else {
+ TCHAR buf[256];
+
+ // we are supposed to just list out the processes
+ rv = MsiRecordClearData( hRecordInsert ); RV_BAIL;
+ rv = MsiRecordSetString( hRecordInsert, 1, _T("KillableProcesses"));
+ rv = MsiRecordSetInteger( hRecordInsert, 2, rowNum++ ); RV_BAIL;
+ _itot( rowNum, buf, 10 );
+ rv = MsiRecordSetString( hRecordInsert, 3, buf ); RV_BAIL;
+ if(_tcslen(kpList[i].desc)) {
+ rv = MsiRecordSetString( hRecordInsert, 4, kpList[i].desc ); RV_BAIL;
+ } else {
+ rv = MsiRecordSetString( hRecordInsert, 4, kpList[i].image ); RV_BAIL;
+ }
+ MsiViewModify(hViewInsert, MSIMODIFY_INSERT_TEMPORARY, hRecordInsert); RV_BAIL;
+
+ found = TRUE;
+ }
+ break;
+ }
+ }
+ } while( Process32Next( hSnapshot, &pe ) );
+
+ if(!bKill) {
+ // set the 'FoundProcceses' property
+ if(found) {
+ MsiSetProperty( hInstall, _T("FoundProcesses"), _T("1"));
+ } else {
+ MsiSetProperty( hInstall, _T("FoundProcesses"), _T(""));
+ }
+ }
+
+ // Finally:
+ rv = ERROR_SUCCESS;
+
+_cleanup:
+
+ if(hRecordInsert) MsiCloseHandle(hRecordInsert);
+ if(hViewInsert) MsiCloseHandle(hView);
+
+ if(hSnapshot && hSnapshot != INVALID_HANDLE_VALUE) CloseHandle(hSnapshot);
+
+ while(nKpList) {
+ nKpList--;
+ delete kpList[nKpList].image;
+ delete kpList[nKpList].desc;
+ }
+ delete kpList;
+
+ if(hRecord) MsiCloseHandle(hRecord);
+ if(hView) MsiCloseHandle(hView);
+
+ if(hDatabase) MsiCloseHandle(hDatabase);
+
+ if(rv != ERROR_SUCCESS) {
+ ShowMsiError(hInstall, ERR_PROC_LIST, rv);
+ }
+
+ return rv;
+}
+
+/* Uninstall NSIS */
+MSIDLLEXPORT UninstallNsisInstallation( MSIHANDLE hInstall )
+{
+ DWORD rv = ERROR_SUCCESS;
+ // lookup the NSISUNINSTALL property value
+ LPTSTR cNsisUninstall = _T("UPGRADENSIS");
+ HANDLE hIo = NULL;
+ DWORD dwSize = 0;
+ LPTSTR strPathUninst = NULL;
+ HANDLE hJob = NULL;
+ STARTUPINFO sInfo;
+ PROCESS_INFORMATION pInfo;
+
+ pInfo.hProcess = NULL;
+ pInfo.hThread = NULL;
+
+ rv = MsiGetProperty( hInstall, cNsisUninstall, _T(""), &dwSize );
+ if(rv != ERROR_MORE_DATA) goto _cleanup;
+
+ strPathUninst = new TCHAR[ ++dwSize ];
+
+ rv = MsiGetProperty( hInstall, cNsisUninstall, strPathUninst, &dwSize );
+ if(rv != ERROR_SUCCESS) goto _cleanup;
+
+ // Create a process for the uninstaller
+ sInfo.cb = sizeof(sInfo);
+ sInfo.lpReserved = NULL;
+ sInfo.lpDesktop = _T("");
+ sInfo.lpTitle = _T("Foo");
+ sInfo.dwX = 0;
+ sInfo.dwY = 0;
+ sInfo.dwXSize = 0;
+ sInfo.dwYSize = 0;
+ sInfo.dwXCountChars = 0;
+ sInfo.dwYCountChars = 0;
+ sInfo.dwFillAttribute = 0;
+ sInfo.dwFlags = 0;
+ sInfo.wShowWindow = 0;
+ sInfo.cbReserved2 = 0;
+ sInfo.lpReserved2 = 0;
+ sInfo.hStdInput = 0;
+ sInfo.hStdOutput = 0;
+ sInfo.hStdError = 0;
+
+ if(!CreateProcess(
+ strPathUninst,
+ _T("Uninstall /S"),
+ NULL,
+ NULL,
+ FALSE,
+ CREATE_SUSPENDED,
+ NULL,
+ NULL,
+ &sInfo,
+ &pInfo)) {
+ pInfo.hProcess = NULL;
+ pInfo.hThread = NULL;
+ rv = 40;
+ goto _cleanup;
+ };
+
+ // Create a job object to contain the NSIS uninstall process tree
+
+ JOBOBJECT_ASSOCIATE_COMPLETION_PORT acp;
+
+ acp.CompletionKey = 0;
+
+ hJob = CreateJobObject(NULL, _T("NSISUninstallObject"));
+ if(!hJob) {
+ rv = 41;
+ goto _cleanup;
+ }
+
+ hIo = CreateIoCompletionPort(INVALID_HANDLE_VALUE,0,0,0);
+ if(!hIo) {
+ rv = 42;
+ goto _cleanup;
+ }
+
+ acp.CompletionPort = hIo;
+
+ SetInformationJobObject( hJob, JobObjectAssociateCompletionPortInformation, &acp, sizeof(acp));
+
+ AssignProcessToJobObject( hJob, pInfo.hProcess );
+
+ ResumeThread( pInfo.hThread );
+
+ DWORD a,b,c;
+ for(;;) {
+ if(!GetQueuedCompletionStatus(hIo, &a, (PULONG_PTR) &b, (LPOVERLAPPED *) &c, INFINITE)) {
+ Sleep(1000);
+ continue;
+ }
+ if(a == JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO) {
+ break;
+ }
+ }
+
+ rv = ERROR_SUCCESS;
+
+_cleanup:
+ if(hIo) CloseHandle(hIo);
+ if(pInfo.hProcess) CloseHandle( pInfo.hProcess );
+ if(pInfo.hThread) CloseHandle( pInfo.hThread );
+ if(hJob) CloseHandle(hJob);
+ if(strPathUninst) delete strPathUninst;
+
+ if(rv != ERROR_SUCCESS) {
+ ShowMsiError( hInstall, ERR_NSS_FAILED, rv );
+ }
+ return rv;
+}
+#endif
+#ifdef __NMAKE__
+!ENDIF
+#endif \ No newline at end of file
diff --git a/src/windows/installer/wix/custom/custom.h b/src/windows/installer/wix/custom/custom.h
new file mode 100644
index 0000000000..ee0e663191
--- /dev/null
+++ b/src/windows/installer/wix/custom/custom.h
@@ -0,0 +1,66 @@
+/*
+
+Copyright 2004 by the Massachusetts Institute of Technology
+
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of the Massachusetts
+Institute of Technology (M.I.T.) not be used in advertising or publicity
+pertaining to distribution of the software without specific, written
+prior permission.
+
+M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+*/
+
+/* custom.h
+ *
+ * Declarations for Kerberos for Windows MSI setup tools
+ *
+ * rcsid : $Id$
+ */
+
+#pragma once
+
+#include<windows.h>
+#include<setupapi.h>
+#include<msiquery.h>
+#include<string.h>
+#include<tchar.h>
+#include<tlhelp32.h>
+
+#define MSIDLLEXPORT UINT __stdcall
+
+#define CHECK(x) if((x)) goto _cleanup
+
+#define CHECKX(x,y) if(!(x)) { msiErr = (y); goto _cleanup; }
+
+#define CHECK2(x,y) if((x)) { msiErr = (y); goto _cleanup; }
+
+void ShowMsiError(MSIHANDLE, DWORD, DWORD);
+UINT SetAllowTgtSessionKey( MSIHANDLE hInstall, BOOL pInstall );
+UINT KillRunningProcessesSlave( MSIHANDLE hInstall, BOOL bKill );
+
+/* exported */
+MSIDLLEXPORT AbortMsiImmediate( MSIHANDLE );
+MSIDLLEXPORT UninstallNsisInstallation( MSIHANDLE hInstall );
+MSIDLLEXPORT RevertAllowTgtSessionKey( MSIHANDLE hInstall );
+MSIDLLEXPORT EnableAllowTgtSessionKey( MSIHANDLE hInstall );
+MSIDLLEXPORT KillRunningProcesses( MSIHANDLE hInstall ) ;
+MSIDLLEXPORT ListRunningProcesses( MSIHANDLE hInstall );
+
+/* Custom errors */
+#define ERR_CUSTACTDATA 4001
+#define ERR_NSS_FAILED 4003
+#define ERR_ABORT 4004
+#define ERR_PROC_LIST 4006
diff --git a/src/windows/installer/wix/features.wxi b/src/windows/installer/wix/features.wxi
new file mode 100644
index 0000000000..aaece45a43
--- /dev/null
+++ b/src/windows/installer/wix/features.wxi
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Copyright (C) 2004 by the Massachusetts Institute of Technology.
+ All rights reserved.
+
+ Export of this software from the United States of America may
+ require a specific license from the United States Government.
+ It is the responsibility of any person or organization contemplating
+ export to obtain such a license before exporting.
+
+ WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ distribute this software and its documentation for any purpose and
+ without fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and that
+ the name of M.I.T. not be used in advertising or publicity pertaining
+ to distribution of the software without specific, written prior
+ permission. Furthermore if you modify this software you must label
+ your software as modified software and not distribute it in such a
+ fashion that it might be confused with the original M.I.T. software.
+ M.I.T. makes no representations about the suitability of
+ this software for any purpose. It is provided "as is" without express
+ or implied warranty.
+
+ -->
+<Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
+ <Feature
+ Id="feaKfw"
+ AllowAdvertise="no"
+ Description="$(loc.KerberosDesc)"
+ InstallDefault="local"
+ Title="$(loc.KerberosTitle)"
+ ConfigurableDirectory="KERBEROSDIR"
+ Level="30">
+ <Feature
+ Id="feaKfwClient"
+ AllowAdvertise="no"
+ Description="$(loc.KerberosClientDesc)"
+ InstallDefault="local"
+ Title="$(loc.KerberosClientTitle)"
+ FollowParent="yes"
+ Level="30">
+
+ <ComponentRef Id="cmf_aklog_exe" />
+ <ComponentRef Id="cmf_comerr32_dll" />
+ <ComponentRef Id="cmf_gss_exe" />
+ <ComponentRef Id="cmf_gss_client_exe" />
+ <ComponentRef Id="cmf_gss_server_exe" />
+ <ComponentRef Id="cmf_gssapi32_dll" />
+ <ComponentRef Id="cmf_k524init_exe" />
+ <ComponentRef Id="cmf_kclnt32_dll" />
+ <ComponentRef Id="cmf_kdestroy_exe" />
+ <ComponentRef Id="cmf_kinit_exe" />
+ <ComponentRef Id="cmf_klist_exe" />
+ <ComponentRef Id="cmf_kpasswd_exe" />
+ <ComponentRef Id="cmf_kvno_exe" />
+ <ComponentRef Id="cmf_krb5_32_dll" />
+ <ComponentRef Id="cmf_krb524_dll" />
+ <ComponentRef Id="cmf_krbcc32_dll" />
+ <ComponentRef Id="cmf_krbcc32s_exe" />
+ <ComponentRef Id="cmf_krbv4w32_dll" />
+ <ComponentRef Id="cmf_leash32_exe" />
+ <?ifdef OldHelp?>
+ <ComponentRef Id="cmf_leash32_hlp" />
+ <?else?>
+ <ComponentRef Id="cmf_leash32_chm" />
+ <?endif?>
+ <ComponentRef Id="cmf_leashw32_dll" />
+ <ComponentRef Id="cmf_ms2mit_exe" />
+ <ComponentRef Id="cmf_wshelp32_dll" />
+ <ComponentRef Id="cmf_xpprof32_dll" />
+
+ <?ifdef Debug?>
+ <ComponentRef Id="cmf_bin_debug"/>
+ <?endif?>
+
+ <ComponentRef Id="cmf_psapi_dll" />
+
+ <?ifndef Debug?>
+ <?ifdef CL1200?>
+ <ComponentRef Id="cmf_mfc42_dll" />
+ <ComponentRef Id="cmf_msvcp60_dll" />
+ <ComponentRef Id="cmf_msvcrt_dll" />
+ <?else?>
+ <?ifdef CL1300?>
+ <ComponentRef Id="cmf_mfc70_dll" />
+ <ComponentRef Id="cmf_msvcr70_dll" />
+ <ComponentRef Id="cmf_msvcp70_dll" />
+ <ComponentRef Id="cmf_mfc70chs_dll" />
+ <ComponentRef Id="cmf_mfc70cht_dll" />
+ <ComponentRef Id="cmf_mfc70deu_dll" />
+ <ComponentRef Id="cmf_mfc70enu_dll" />
+ <ComponentRef Id="cmf_mfc70esp_dll" />
+ <ComponentRef Id="cmf_mfc70fra_dll" />
+ <ComponentRef Id="cmf_mfc70ita_dll" />
+ <ComponentRef Id="cmf_mfc70jpn_dll" />
+ <ComponentRef Id="cmf_mfc70kor_dll" />
+ <?else?> <!-- 1310 -->
+ <ComponentRef Id="cmf_mfc71_dll" />
+ <ComponentRef Id="cmf_msvcr71_dll" />
+ <ComponentRef Id="cmf_msvcp71_dll" />
+ <ComponentRef Id="cmf_mfc71chs_dll" />
+ <ComponentRef Id="cmf_mfc71cht_dll" />
+ <ComponentRef Id="cmf_mfc71deu_dll" />
+ <ComponentRef Id="cmf_mfc71enu_dll" />
+ <ComponentRef Id="cmf_mfc71esp_dll" />
+ <ComponentRef Id="cmf_mfc71fra_dll" />
+ <ComponentRef Id="cmf_mfc71ita_dll" />
+ <ComponentRef Id="cmf_mfc71jpn_dll" />
+ <ComponentRef Id="cmf_mfc71kor_dll" />
+ <?endif?>
+ <?endif?>
+ <?else?>
+ <?ifdef CL1200?>
+ <ComponentRef Id="cmf_mfc42d_dll" />
+ <ComponentRef Id="cmf_msvcp60d_dll" />
+ <ComponentRef Id="cmf_msvcrtd_dll" />
+ <ComponentRef Id="cmf_runtime_debug1200" />
+ <?else?>
+ <?ifdef CL1300?>
+ <ComponentRef Id="cmf_mfc70d_dll" />
+ <ComponentRef Id="cmf_msvcr70d_dll" />
+ <ComponentRef Id="cmf_msvcp70d_dll" />
+ <ComponentRef Id="cmf_mfc70chs_dll" />
+ <ComponentRef Id="cmf_mfc70cht_dll" />
+ <ComponentRef Id="cmf_mfc70deu_dll" />
+ <ComponentRef Id="cmf_mfc70enu_dll" />
+ <ComponentRef Id="cmf_mfc70esp_dll" />
+ <ComponentRef Id="cmf_mfc70fra_dll" />
+ <ComponentRef Id="cmf_mfc70ita_dll" />
+ <ComponentRef Id="cmf_mfc70jpn_dll" />
+ <ComponentRef Id="cmf_mfc70kor_dll" />
+ <ComponentRef Id="cmf_runtime_debug1300" />
+ <?else?> <!-- 1310 -->
+ <ComponentRef Id="cmf_mfc71d_dll" />
+ <ComponentRef Id="cmf_msvcr71d_dll" />
+ <ComponentRef Id="cmf_msvcp71d_dll" />
+ <ComponentRef Id="cmf_mfc71chs_dll" />
+ <ComponentRef Id="cmf_mfc71cht_dll" />
+ <ComponentRef Id="cmf_mfc71deu_dll" />
+ <ComponentRef Id="cmf_mfc71enu_dll" />
+ <ComponentRef Id="cmf_mfc71esp_dll" />
+ <ComponentRef Id="cmf_mfc71fra_dll" />
+ <ComponentRef Id="cmf_mfc71ita_dll" />
+ <ComponentRef Id="cmf_mfc71jpn_dll" />
+ <ComponentRef Id="cmf_mfc71kor_dll" />
+ <ComponentRef Id="cmf_runtime_debug1310" />
+ <?endif?>
+ <?endif?>
+ <?endif?>
+ <ComponentRef Id="cmf_krb5_ini" />
+ <ComponentRef Id="cmf_krb_con" />
+ <ComponentRef Id="cmf_krbrealm_con" />
+
+ <ComponentRef Id="rcm_common" />
+ <ComponentRef Id="rcm_client" />
+
+ <Feature Id="feaKfwLeashStartup" AllowAdvertise="no" Display="hidden" Level="130">
+ <Condition Level="30">LEASHAUTOSTART = 1</Condition>
+ <ComponentRef Id="csc_leashStartup"/>
+ </Feature>
+
+ </Feature> <!-- /feaKfwClient -->
+
+ <Feature
+ Id="feaKfwSDK"
+ AllowAdvertise="no"
+ Description="$(loc.KerberosSDKDesc)"
+ InstallDefault="local"
+ Level="130"
+ Title="$(loc.KerberosSDKTitle)">
+
+ <ComponentRef Id="cmp_dirinc_kclient" />
+ <ComponentRef Id="cmp_dirinc_krb4" />
+ <ComponentRef Id="cmp_dirinc_krb5_gssapi" />
+ <ComponentRef Id="cmp_dirinc_krb5_KerberosIV" />
+ <ComponentRef Id="cmp_dirinc_krb5" />
+ <ComponentRef Id="cmp_dirinc_krbcc" />
+ <ComponentRef Id="cmp_dirinc_leash" />
+ <ComponentRef Id="cmp_dirinc_loadfuncs" />
+ <ComponentRef Id="cmp_dirinc_wshelper" />
+ <ComponentRef Id="cmp_dirinc_wshelper_arpa" />
+ <ComponentRef Id="cmp_dirlib_i386" />
+ <ComponentRef Id="cmp_dirinstall_nsis" />
+ <ComponentRef Id="cmp_dirinstall_wix" />
+ <ComponentRef Id="cmp_dirinstall_wix_lang" />
+ <ComponentRef Id="cmp_dirinstall_wix_Binary" />
+ <ComponentRef Id="cmp_dirinstall_wix_custom" />
+ <ComponentRef Id="rcm_common" />
+ <ComponentRef Id="rcm_sdk" />
+ </Feature> <!-- /feaKfwSDK -->
+
+ <Feature
+ Id="feaKfwDocs"
+ AllowAdvertise="no"
+ Description="$(loc.KerberosDocDesc)"
+ InstallDefault="local"
+ Level="130"
+ Title="$(loc.KerberosDocTitle)">
+
+ <ComponentRef Id="efl_leash_userdoc_pdf" />
+ <ComponentRef Id="efl_relnotes_html" />
+
+ <ComponentRef Id="rcm_common" />
+ <ComponentRef Id="rcm_docs" />
+ </Feature>
+
+ </Feature>
+</Include> \ No newline at end of file
diff --git a/src/windows/installer/wix/files.wxi b/src/windows/installer/wix/files.wxi
new file mode 100644
index 0000000000..419e675dd5
--- /dev/null
+++ b/src/windows/installer/wix/files.wxi
@@ -0,0 +1,666 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Copyright (C) 2004 by the Massachusetts Institute of Technology.
+ All rights reserved.
+
+ Export of this software from the United States of America may
+ require a specific license from the United States Government.
+ It is the responsibility of any person or organization contemplating
+ export to obtain such a license before exporting.
+
+ WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ distribute this software and its documentation for any purpose and
+ without fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and that
+ the name of M.I.T. not be used in advertising or publicity pertaining
+ to distribution of the software without specific, written prior
+ permission. Furthermore if you modify this software you must label
+ your software as modified software and not distribute it in such a
+ fashion that it might be confused with the original M.I.T. software.
+ M.I.T. makes no representations about the suitability of
+ this software for any purpose. It is provided "as is" without express
+ or implied warranty.
+
+ -->
+<Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
+<Directory Id="TARGETDIR" Name="SourceDir">
+ <Directory Id="ProgramFilesFolder">
+ <Directory Id="dirMIT" Name="MIT">
+ <Directory Id="KERBEROSDIR" Name="Kerberos">
+ <Directory Id="dirbin" Name="bin" src="$(var.BinDir)">
+ <Component Id="cmf_aklog_exe" Guid="38840074-3D15-45CB-8022-C4A603FC697A" DiskId="1">
+ <File Id="fil_aklog_exe" LongName="aklog.exe" Name="aklog.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_aklog_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\aklog" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_aklog_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\aklog" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_comerr32_dll" Guid="D8F455F9-E648-4C61-A69D-7116ADEC2DBB" DiskId="1">
+ <File Id="fil_comerr32_dll" LongName="comerr32.dll" Name="comerr32.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_gss_exe" Guid="8CAF09C4-68A2-46DC-A618-AEF16D832E54" DiskId="1">
+ <File Id="fil_gss_exe" LongName="gss.exe" Name="gss.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_gss_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\gss" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_gss_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\gss" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_gss_client_exe" Guid="983E0887-0C8B-49AB-8F59-DFE3A4E45E89" DiskId="1">
+ <File Id="fil_gss_client_exe" LongName="gss-client.exe" Name="gss-clnt.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_gss_client_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\gss-client" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_gss_client_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\gss-client" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_gss_server_exe" Guid="B165FE41-D0DD-4DFC-92E6-A99ADA23BE8B" DiskId="1">
+ <File Id="fil_gss_server_exe" LongName="gss-server.exe" Name="gss-srvr.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_gss_server_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\gss-server" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_gss_server_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\gss-server" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_gssapi32_dll" Guid="5B0F2989-BB85-40BF-BB7A-E77693972CF9" DiskId="1">
+ <File Id="fil_gssapi32_dll" LongName="gssapi32.dll" Name="gssapi32.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_k524init_exe" Guid="20BE4EA5-C465-4AF3-9A4F-BB80934167E3" DiskId="1">
+ <File Id="fil_k524init_exe" LongName="k524init.exe" Name="k524init.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_k524init_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\k524init" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_k524init_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\k524init" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_kclnt32_dll" Guid="D396C1E7-080E-49F5-92BA-73BCEDF09C8E" DiskId="1">
+ <File Id="fil_kclnt32_dll" LongName="kclnt32.dll" Name="kclnt32.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_kdestroy_exe" Guid="D1E9C111-7760-4EE6-86CF-D4B4064B0ABA" DiskId="1">
+ <File Id="fil_kdestroy_exe" LongName="kdestroy.exe" Name="kdestroy.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_kdestroy_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kdestroy" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_kdestroy_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kdestroy" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_kinit_exe" Guid="80643A09-EF28-4714-BC62-B64FC5B17CAA" DiskId="1">
+ <File Id="fil_kinit_exe" LongName="kinit.exe" Name="kinit.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_kinit_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kinit" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_kinit_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kinit" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_klist_exe" Guid="24FB6003-BC7A-4BF1-9503-82D398EC02D7" DiskId="1">
+ <File Id="fil_klist_exe" LongName="klist.exe" Name="klist.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_klist_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\klist" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_klist_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\klist" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_kpasswd_exe" Guid="3FA4AB96-FF12-460A-814E-3380E220787C" DiskId="1">
+ <File Id="fil_kpasswd_exe" LongName="kpasswd.exe" Name="kpasswd.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_kpasswd_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kpasswd" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_kpasswd_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kpasswd" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_kvno_exe" Guid="7759D524-1F88-4483-975F-DDD33A511512" DiskId="1">
+ <File Id="fil_kvno_exe" LongName="kvno.exe" Name="kvno.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_kvno_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kvno" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_kvno_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\kvno" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_krb5_32_dll" Guid="31E40356-CBAC-4FC6-9A34-C6F6C72A27CA" DiskId="1">
+ <File Id="fil_krb5_32_dll" LongName="krb5_32.dll" Name="krb5_32.dll" KeyPath="yes" />
+ <Environment Id="env_kclient_path" Action="set" Name="PATH" Part="last" System="yes" Value="[dirbin]" />
+ </Component>
+ <Component Id="cmf_krb524_dll" Guid="98685874-A9AA-4BC5-9830-271D9CF52C17" DiskId="1">
+ <File Id="fil_krb524_dll" LongName="krb524.dll" Name="krb524.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_krbcc32_dll" Guid="A50FA27D-F203-4C19-9047-B7976171FB94" DiskId="1">
+ <File Id="fil_krbcc32_dll" LongName="krbcc32.dll" Name="krbcc32.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_krbcc32s_exe" Guid="7D5F0817-DACF-4B54-BB8D-94DD63626DB5" DiskId="1">
+ <File Id="fil_krbcc32s_exe" LongName="krbcc32s.exe" Name="krbcc32s.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_krbcc32s_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\krbcc32s" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_krbcc32s_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\krbcc32s" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_krbv4w32_dll" Guid="DFA23F6C-5297-4876-AF52-6F7CF2CB34AC" DiskId="1">
+ <File Id="fil_krbv4w32_dll" LongName="krbv4w32.dll" Name="krbv4w32.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_leash32_exe" Guid="990D5F6B-4CEE-4706-96F4-F7AF12F97DF7" DiskId="1">
+ <File Id="fil_leash32_exe" LongName="leash32.exe" Name="leash32.exe" KeyPath="yes">
+ <Shortcut Id="sc_leash32_exe" Advertise="no" Directory="dirShortcut" LongName="Leash Kerberos Ticket Manager.lnk" Name="Leash.lnk" Arguments="[LEASHAUTOINIT]" />
+ </File>
+ <Registry Id="reg_ts_leash32_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\leash32" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_leash32_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\leash32" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="csc_leashStartup" Guid="3408C97D-68D6-4207-9142-BF82F7C62DC0" DiskId="1">
+ <Registry Id="reg_sc_leash_marker" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Name="LeashAutoStart" Type="integer" Value="1" KeyPath="yes" />
+ <Shortcut Id="sc_leash32_exe_startup" Advertise="no" Directory="StartupFolder" LongName="Leash Kerberos Ticket Manager.lnk" Name="Leash.lnk" Arguments="[LEASHAUTOINIT]" Target="[dirbin]leash32.exe"/>
+ </Component>
+ <?ifdef OldHelp?>
+ <Component Id="cmf_leash32_hlp" Guid="919616D6-1605-4A79-8E33-C18A0D0F25E3" DiskId="1">
+ <File Id="fil_leash32_hlp" LongName="leash32.hlp" Name="leash32.hlp" KeyPath="yes" />
+ </Component>
+ <?else?>
+ <Component Id="cmf_leash32_chm" Guid="C50E5E0A-B822-4419-855B-1713637BCA6A" DiskId="1">
+ <File Id="fil_leash32_chm" LongName="leash32.chm" Name="leash32.chm" KeyPath="yes" />
+ </Component>
+ <?endif?>
+ <Component Id="cmf_leashw32_dll" Guid="8C145D48-A2FC-4C28-BC05-4368545F1184" DiskId="1">
+ <File Id="fil_leashw32_dll" LongName="leashw32.dll" Name="leashw32.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_ms2mit_exe" Guid="63D189DC-5EE4-49E2-B5E9-6E74A28602C8" DiskId="1">
+ <File Id="fil_ms2mit_exe" LongName="ms2mit.exe" Name="ms2mit.exe" KeyPath="yes" />
+ <Registry Id="reg_ts_ms2mit_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\ms2mit" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_ts_ms2mit_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\ms2mit" Name="Flags" Type="integer" Value="1032" />
+ </Component>
+ <Component Id="cmf_wshelp32_dll" Guid="B9D9F5F1-CA93-4F56-B6F8-343F21484CDE" DiskId="1">
+ <File Id="fil_wshelp32_dll" LongName="wshelp32.dll" Name="wshelp32.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_xpprof32_dll" Guid="A7DF8BAF-7188-4C24-89FB-C8EB51571FD2" DiskId="1">
+ <File Id="fil_xpprof32_dll" LongName="xpprof32.dll" Name="xpprof32.dll" KeyPath="yes" />
+ </Component>
+
+ <!-- Debug symbols -->
+ <?ifdef Debug?>
+ <Component Id="cmf_bin_debug" Guid="C8468854-8261-4781-8119-A612636841E3" DiskId="1">
+ <File Id="fil_aklog_pdb" LongName="aklog.pdb" Name="aklog.pdb" />
+ <File Id="fil_comerr32_pdb" LongName="comerr32.pdb" Name="comerr32.pdb" />
+ <File Id="fil_gss_pdb" LongName="gss.pdb" Name="gss.pdb" />
+ <File Id="fil_gss_client_pdb" LongName="gss-client.pdb" Name="gss-clnt.pdb" />
+ <File Id="fil_gss_server_pdb" LongName="gss-server.pdb" Name="gss-srvr.pdb" />
+ <File Id="fil_gssapi32_pdb" LongName="gssapi32.pdb" Name="gssapi32.pdb" />
+ <File Id="fil_k524init_pdb" LongName="k524init.pdb" Name="k524init.pdb" />
+ <File Id="fil_kclnt32_pdb" LongName="kclnt32.pdb" Name="kclnt32.pdb" />
+ <File Id="fil_kdestroy_pdb" LongName="kdestroy.pdb" Name="kdestroy.pdb" />
+ <File Id="fil_kinit_pdb" LongName="kinit.pdb" Name="kinit.pdb" />
+ <File Id="fil_klist_pdb" LongName="klist.pdb" Name="klist.pdb" />
+ <File Id="fil_kpasswd_pdb" LongName="kpasswd.pdb" Name="kpasswd.pdb" />
+ <File Id="fil_kvno_pdb" LongName="kvno.pdb" Name="kvno.pdb" />
+ <File Id="fil_krb5_32_pdb" LongName="krb5_32.pdb" Name="krb5_32.pdb" KeyPath="yes" />
+ <File Id="fil_krb524_pdb" LongName="krb524.pdb" Name="krb524.pdb" />
+ <File Id="fil_krbcc32_pdb" LongName="krbcc32.pdb" Name="krbcc32.pdb" />
+ <File Id="fil_krbcc32s_pdb" LongName="krbcc32s.pdb" Name="krbcc32s.pdb" />
+ <File Id="fil_krbv4w32_pdb" LongName="krbv4w32.pdb" Name="krbv4w32.pdb" />
+ <File Id="fil_leash32_pdb" LongName="leash32.pdb" Name="leash32.pdb" />
+ <File Id="fil_leashw32_pdb" LongName="leashw32.pdb" Name="leashw32.pdb" />
+ <File Id="fil_ms2mit_pdb" LongName="ms2mit.pdb" Name="ms2mit.pdb" />
+ <File Id="fil_wshelp32_pdb" LongName="wshelp32.pdb" Name="wshelp32.pdb" />
+ <File Id="fil_xpprof32_pdb" LongName="xpprof32.pdb" Name="xpprof32.pdb" />
+ </Component>
+ <?endif?>
+
+ <!-- Runtime -->
+ <?ifndef Debug?>
+ <?ifdef CL1200?>
+ <Component Id="cmf_mfc42_dll" Guid="BE2D0D08-E26E-4906-BEEA-1C550BA9B405" DiskId="1">
+ <File Id="fil_mfc42_dll" LongName="mfc42.dll" Name="mfc42.dll" src="$(var.SystemDir)mfc42.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcp60_dll" Guid="7DBB5E61-AA59-4FD8-87CA-7F139D355050" DiskId="1">
+ <File Id="fil_msvcp60_dll" LongName="msvcp60.dll" Name="msvcp60.dll" src="$(var.SystemDir)msvcp60.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcrt_dll" Guid="07B1612B-F52B-4A22-BC20-948BB7D50916" DiskId="1">
+ <File Id="fil_msvcrt_dll" LongName="msvcrt.dll" Name="msvcrt.dll" src="$(var.SystemDir)msvcrt.dll" KeyPath="yes" />
+ </Component>
+ <?else?>
+ <?ifdef CL1300?>
+ <Component Id="cmf_mfc70_dll" Guid="E064D66F-45A5-46FA-A0C0-EE68B5DCA248" DiskId="1">
+ <File Id="fil_mfc70_dll" LongName="mfc70.dll" Name="mfc70.dll" src="$(var.SystemDir)mfc70.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcr70_dll" Guid="3489059D-B8C5-4F9A-9DF9-CC8F19B97898" DiskId="1">
+ <File Id="fil_msvcr70_dll" LongName="msvcr70.dll" Name="msvcr70.dll" src="$(var.SystemDir)msvcr70.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcp70_dll" Guid="E3E6DC28-A229-45D7-804B-BC5A2CAB86B6" DiskId="1">
+ <File Id="fil_msvcp70_dll" LongName="msvcp70.dll" Name="msvcp70.dll" src="$(var.SystemDir)msvcp70.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70chs_dll" Guid="CAFD61A5-8A13-4A7C-AA15-6FEED7D43A3A" DiskId="1">
+ <File Id="fil_mfc70chs_dll" LongName="mfc70chs.dll" Name="mfc70chs.dll" src="$(var.SystemDir)mfc70chs.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70cht_dll" Guid="A3F60016-825A-4096-A45F-98B4972FF1CA" DiskId="1">
+ <File Id="fil_mfc70cht_dll" LongName="mfc70cht.dll" Name="mfc70cht.dll" src="$(var.SystemDir)mfc70cht.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70deu_dll" Guid="D146EE00-8880-4E39-A131-784B947883DB" DiskId="1">
+ <File Id="fil_mfc70deu_dll" LongName="mfc70deu.dll" Name="mfc70deu.dll" src="$(var.SystemDir)mfc70deu.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70enu_dll" Guid="11E2059D-62E6-40DF-87C1-B03E425048CE" DiskId="1">
+ <File Id="fil_mfc70enu_dll" LongName="mfc70enu.dll" Name="mfc70enu.dll" src="$(var.SystemDir)mfc70enu.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70esp_dll" Guid="3D1AAC2A-0FB1-4EF7-8406-1BF771CEB4BB" DiskId="1">
+ <File Id="fil_mfc70esp_dll" LongName="mfc70esp.dll" Name="mfc70esp.dll" src="$(var.SystemDir)mfc70esp.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70fra_dll" Guid="36A2B8B3-E6C6-4725-96B8-82905D2ADE4E" DiskId="1">
+ <File Id="fil_mfc70fra_dll" LongName="mfc70fra.dll" Name="mfc70fra.dll" src="$(var.SystemDir)mfc70fra.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70ita_dll" Guid="4EE49FC8-ED41-48F4-90A9-1FC06FE6237D" DiskId="1">
+ <File Id="fil_mfc70ita_dll" LongName="mfc70ita.dll" Name="mfc70ita.dll" src="$(var.SystemDir)mfc70ita.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70jpn_dll" Guid="A6ADFFF1-C48B-446C-9B7D-6137F00EC0E4" DiskId="1">
+ <File Id="fil_mfc70jpn_dll" LongName="mfc70jpn.dll" Name="mfc70jpn.dll" src="$(var.SystemDir)mfc70jpn.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70kor_dll" Guid="720F98E2-5525-41CA-8734-98B0A5756708" DiskId="1">
+ <File Id="fil_mfc70kor_dll" LongName="mfc70kor.dll" Name="mfc70kor.dll" src="$(var.SystemDir)mfc70kor.dll" KeyPath="yes" />
+ </Component>
+ <?else?> <!-- CL1310 -->
+ <Component Id="cmf_mfc71_dll" Guid="6A4854A8-35AE-42CB-9671-9F6F096BE20C" DiskId="1">
+ <File Id="fil_mfc71_dll" LongName="mfc71.dll" Name="mfc71.dll" src="$(var.SystemDir)mfc71.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcr71_dll" Guid="C6952DEE-E62A-4635-9CE8-405F1E459FB2" DiskId="1">
+ <File Id="fil_msvcr71_dll" LongName="msvcr71.dll" Name="msvcr71.dll" src="$(var.SystemDir)msvcr71.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcp71_dll" Guid="CA7D0EDE-0B81-4709-86E9-31DC8543918F" DiskId="1">
+ <File Id="fil_msvcp71_dll" LongName="msvcp71.dll" Name="msvcp71.dll" src="$(var.SystemDir)msvcp71.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71chs_dll" Guid="693F64CF-1AE5-4756-94CC-095ED48C217F" DiskId="1">
+ <File Id="fil_mfc71chs_dll" LongName="mfc71chs.dll" Name="mfc71chs.dll" src="$(var.SystemDir)mfc71chs.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71cht_dll" Guid="A5552AAE-048F-41AB-AC2D-6C96411D812D" DiskId="1">
+ <File Id="fil_mfc71cht_dll" LongName="mfc71cht.dll" Name="mfc71cht.dll" src="$(var.SystemDir)mfc71cht.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71deu_dll" Guid="E8AE39B8-1B23-4DC9-944F-CA823F53CFF3" DiskId="1">
+ <File Id="fil_mfc71deu_dll" LongName="mfc71deu.dll" Name="mfc71deu.dll" src="$(var.SystemDir)mfc71deu.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71enu_dll" Guid="1FF5B6B6-4015-40F1-AEFF-004DBCFDB5E7" DiskId="1">
+ <File Id="fil_mfc71enu_dll" LongName="mfc71enu.dll" Name="mfc71enu.dll" src="$(var.SystemDir)mfc71enu.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71esp_dll" Guid="028AC2DA-B4F9-4A9E-A728-1100B3C7E259" DiskId="1">
+ <File Id="fil_mfc71esp_dll" LongName="mfc71esp.dll" Name="mfc71esp.dll" src="$(var.SystemDir)mfc71esp.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71fra_dll" Guid="7D6C3457-F08C-426C-BEE2-8D9F214223C5" DiskId="1">
+ <File Id="fil_mfc71fra_dll" LongName="mfc71fra.dll" Name="mfc71fra.dll" src="$(var.SystemDir)mfc71fra.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71ita_dll" Guid="5CE98F88-CD33-4887-9634-B6263B6DB3CB" DiskId="1">
+ <File Id="fil_mfc71ita_dll" LongName="mfc71ita.dll" Name="mfc71ita.dll" src="$(var.SystemDir)mfc71ita.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71jpn_dll" Guid="6DE66BB3-5DD2-4D87-89E4-D73FF405932C" DiskId="1">
+ <File Id="fil_mfc71jpn_dll" LongName="mfc71jpn.dll" Name="mfc71jpn.dll" src="$(var.SystemDir)mfc71jpn.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71kor_dll" Guid="B7290849-638E-4C39-9E56-0D73CF564D69" DiskId="1">
+ <File Id="fil_mfc71kor_dll" LongName="mfc71kor.dll" Name="mfc71kor.dll" src="$(var.SystemDir)mfc71kor.dll" KeyPath="yes" />
+ </Component>
+ <?endif?>
+ <?endif?>
+ <?else?> <!-- Debug -->
+ <?ifdef CL1200?>
+ <Component Id="cmf_mfc42d_dll" Guid="B7360C15-61FA-409F-8F0A-87B96FB30BBD" DiskId="1">
+ <File Id="fil_mfc42d_dll" LongName="mfc42d.dll" Name="mfc42d.dll" src="$(var.SystemDir)mfc42d.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcp60d_dll" Guid="BFF28D63-B60A-48B6-A403-A7DE00BDB37E" DiskId="1">
+ <File Id="fil_msvcp60d_dll" LongName="msvcp60d.dll" Name="msvcp60d.dll" src="$(var.SystemDir)msvcp60d.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcrtd_dll" Guid="69069738-3202-43C3-92A3-4139816B6527" DiskId="1">
+ <File Id="fil_msvcrtd_dll" LongName="msvcrtd.dll" Name="msvcrtd.dll" src="$(var.SystemDir)msvcrtd.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_runtime_debug1200" Guid="3FAD9513-AB33-4eed-9359-E96F8D5ABD2A" DiskId="1">
+ <File Id="fil_mfc42d_pdb" LongName="mfc42d.pdb" Name="mfc42d.pdb" src="$(var.SystemDir)mfc42d.pdb" />
+ <File Id="fil_msvcp60d_pdb" LongName="msvcp60d.pdb" Name="msvcp60d.pdb" src="$(var.SystemDir)msvcp60d.pdb" />
+ <File Id="fil_msvcrtd_pdb" LongName="msvcrtd.pdb" Name="msvcrtd.pdb" src="$(var.SystemDir)msvcrtd.pdb" KeyPath="yes" />
+ </Component>
+ <?else?>
+ <?ifdef CL1300?>
+ <Component Id="cmf_mfc70d_dll" Guid="40C7120A-9B28-4DD1-86D0-9F66056A2463" DiskId="1">
+ <File Id="fil_mfc70d_dll" LongName="mfc70d.dll" Name="mfc70d.dll" src="$(var.SystemDir)mfc70d.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcr70d_dll" Guid="D0A7B06E-6F65-4559-A99A-63C4C837BE0E" DiskId="1">
+ <File Id="fil_msvcr70d_dll" LongName="msvcr70d.dll" Name="msvcr70d.dll" src="$(var.SystemDir)msvcr70d.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcp70d_dll" Guid="DC82F644-8705-4C89-BE63-4CD6680BF580" DiskId="1">
+ <File Id="fil_msvcp70d_dll" LongName="msvcp70d.dll" Name="msvcp70d.dll" src="$(var.SystemDir)msvcp70d.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70chs_dll" Guid="CAFD61A5-8A13-4A7C-AA15-6FEED7D43A3A" DiskId="1">
+ <File Id="fil_mfc70chs_dll" LongName="mfc70chs.dll" Name="mfc70chs.dll" src="$(var.SystemDir)mfc70chs.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70cht_dll" Guid="A3F60016-825A-4096-A45F-98B4972FF1CA" DiskId="1">
+ <File Id="fil_mfc70cht_dll" LongName="mfc70cht.dll" Name="mfc70cht.dll" src="$(var.SystemDir)mfc70cht.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70deu_dll" Guid="D146EE00-8880-4E39-A131-784B947883DB" DiskId="1">
+ <File Id="fil_mfc70deu_dll" LongName="mfc70deu.dll" Name="mfc70deu.dll" src="$(var.SystemDir)mfc70deu.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70enu_dll" Guid="11E2059D-62E6-40DF-87C1-B03E425048CE" DiskId="1">
+ <File Id="fil_mfc70enu_dll" LongName="mfc70enu.dll" Name="mfc70enu.dll" src="$(var.SystemDir)mfc70enu.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70esp_dll" Guid="3D1AAC2A-0FB1-4EF7-8406-1BF771CEB4BB" DiskId="1">
+ <File Id="fil_mfc70esp_dll" LongName="mfc70esp.dll" Name="mfc70esp.dll" src="$(var.SystemDir)mfc70esp.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70fra_dll" Guid="36A2B8B3-E6C6-4725-96B8-82905D2ADE4E" DiskId="1">
+ <File Id="fil_mfc70fra_dll" LongName="mfc70fra.dll" Name="mfc70fra.dll" src="$(var.SystemDir)mfc70fra.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70ita_dll" Guid="4EE49FC8-ED41-48F4-90A9-1FC06FE6237D" DiskId="1">
+ <File Id="fil_mfc70ita_dll" LongName="mfc70ita.dll" Name="mfc70ita.dll" src="$(var.SystemDir)mfc70ita.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70jpn_dll" Guid="A6ADFFF1-C48B-446C-9B7D-6137F00EC0E4" DiskId="1">
+ <File Id="fil_mfc70jpn_dll" LongName="mfc70jpn.dll" Name="mfc70jpn.dll" src="$(var.SystemDir)mfc70jpn.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc70kor_dll" Guid="720F98E2-5525-41CA-8734-98B0A5756708" DiskId="1">
+ <File Id="fil_mfc70kor_dll" LongName="mfc70kor.dll" Name="mfc70kor.dll" src="$(var.SystemDir)mfc70kor.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_runtime_debug1300" Guid="157D7DE8-6AFE-44b3-A317-840667C76D0D" DiskId="1">
+ <File Id="fil_mfc70d_pdb" LongName="mfc70d.pdb" Name="mfc70d.pdb" src="$(var.SystemDir)mfc70d.pdb" />
+ <File Id="fil_msvcr70d_pdb" LongName="msvcr70d.pdb" Name="msvcr70d.pdb" src="$(var.SystemDir)msvcr70d.pdb" KeyPath="yes" />
+ <File Id="fil_msvcp70d_pdb" LongName="msvcp70d.pdb" Name="msvcp70d.pdb" src="$(var.SystemDir)msvcp70d.pdb" />
+ </Component>
+ <?else?> <!-- CL1310 -->
+ <Component Id="cmf_mfc71d_dll" Guid="0E0A47A3-892C-4526-8591-C719E1A184F2" DiskId="1">
+ <File Id="fil_mfc71d_dll" LongName="mfc71d.dll" Name="mfc71d.dll" src="$(var.SystemDir)mfc71d.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcr71d_dll" Guid="CB2A282D-CF73-4DA8-929D-8035776F4FB8" DiskId="1">
+ <File Id="fil_msvcr71d_dll" LongName="msvcr71d.dll" Name="msvcr71d.dll" src="$(var.SystemDir)msvcr71d.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_msvcp71d_dll" Guid="7D6003B6-B3A1-417A-BE16-5DDD52023456" DiskId="1">
+ <File Id="fil_msvcp71d_dll" LongName="msvcp71d.dll" Name="msvcp71d.dll" src="$(var.SystemDir)msvcp71d.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71chs_dll" Guid="693F64CF-1AE5-4756-94CC-095ED48C217F" DiskId="1">
+ <File Id="fil_mfc71chs_dll" LongName="mfc71chs.dll" Name="mfc71chs.dll" src="$(var.SystemDir)mfc71chs.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71cht_dll" Guid="A5552AAE-048F-41AB-AC2D-6C96411D812D" DiskId="1">
+ <File Id="fil_mfc71cht_dll" LongName="mfc71cht.dll" Name="mfc71cht.dll" src="$(var.SystemDir)mfc71cht.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71deu_dll" Guid="E8AE39B8-1B23-4DC9-944F-CA823F53CFF3" DiskId="1">
+ <File Id="fil_mfc71deu_dll" LongName="mfc71deu.dll" Name="mfc71deu.dll" src="$(var.SystemDir)mfc71deu.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71enu_dll" Guid="1FF5B6B6-4015-40F1-AEFF-004DBCFDB5E7" DiskId="1">
+ <File Id="fil_mfc71enu_dll" LongName="mfc71enu.dll" Name="mfc71enu.dll" src="$(var.SystemDir)mfc71enu.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71esp_dll" Guid="028AC2DA-B4F9-4A9E-A728-1100B3C7E259" DiskId="1">
+ <File Id="fil_mfc71esp_dll" LongName="mfc71esp.dll" Name="mfc71esp.dll" src="$(var.SystemDir)mfc71esp.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71fra_dll" Guid="7D6C3457-F08C-426C-BEE2-8D9F214223C5" DiskId="1">
+ <File Id="fil_mfc71fra_dll" LongName="mfc71fra.dll" Name="mfc71fra.dll" src="$(var.SystemDir)mfc71fra.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71ita_dll" Guid="5CE98F88-CD33-4887-9634-B6263B6DB3CB" DiskId="1">
+ <File Id="fil_mfc71ita_dll" LongName="mfc71ita.dll" Name="mfc71ita.dll" src="$(var.SystemDir)mfc71ita.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71jpn_dll" Guid="6DE66BB3-5DD2-4D87-89E4-D73FF405932C" DiskId="1">
+ <File Id="fil_mfc71jpn_dll" LongName="mfc71jpn.dll" Name="mfc71jpn.dll" src="$(var.SystemDir)mfc71jpn.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_mfc71kor_dll" Guid="B7290849-638E-4C39-9E56-0D73CF564D69" DiskId="1">
+ <File Id="fil_mfc71kor_dll" LongName="mfc71kor.dll" Name="mfc71kor.dll" src="$(var.SystemDir)mfc71kor.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_runtime_debug1310" Guid="0125814E-9EED-4d57-A4E6-3E685CE5AB5C" DiskId="1">
+ <File Id="fil_mfc71d_pdb" LongName="mfc71d.pdb" Name="mfc71d.pdb" src="$(var.SystemDir)mfc71d.pdb" />
+ <File Id="fil_msvcr71d_pdb" LongName="msvcr71d.pdb" Name="msvcr71d.pdb" src="$(var.SystemDir)msvcr71d.pdb" KeyPath="yes" />
+ <File Id="fil_msvcp71d_pdb" LongName="msvcp71d.pdb" Name="msvcp71d.pdb" src="$(var.SystemDir)msvcp71d.pdb" />
+ </Component>
+ <?endif?>
+ <?endif?>
+ <?endif?>
+
+ <Component Id="cmf_psapi_dll" Guid="877F4DD5-8AE0-451C-8F4D-C27F6F30D221" DiskId="1">
+ <File Id="fil_psapi_dll" LongName="psapi.dll" Name="psapi.dll" src="$(var.SystemDir)psapi.dll" KeyPath="yes" />
+ </Component>
+
+ </Directory> <!-- /bin -->
+
+ <Directory Id="dirinc" Name="inc" src="$(var.IncDir)">
+ <Directory Id="dirinc_kclient" Name="kclient" src="$(var.IncDir)kclient\">
+ <Component Id="cmp_dirinc_kclient" Guid="96215203-7FF5-4576-AAC5-F5035B64CC37" DiskId="1">
+ <File Id="fil_kclient_h" LongName="kclient.h" Name="kclient.h" KeyPath="yes" />
+ <File Id="fil_kcmacerr_h" LongName="kcmacerr.h" Name="kcmacerr.h" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinc_krb4" Name="krb4" src="$(var.IncDir)krb4\">
+ <Component Id="cmp_dirinc_krb4" Guid="5D2E3F2E-87AE-4905-84AC-AC503662D1B0" DiskId="1">
+ <File Id="fil_com_err_h" LongName="com_err.h" Name="com_err.h" />
+ <File Id="fil_conf_pc_h" LongName="conf-pc.h" Name="conf-pc.h" />
+ <File Id="fil_conf_h" LongName="conf.h" Name="conf.h" />
+ <File Id="fil_des_h" LongName="des.h" Name="des.h" />
+ <File Id="fil_kadm_err_h" LongName="kadm_err.h" Name="kadm_err.h" />
+ <File Id="fil_krb_h" LongName="krb.h" Name="krb.h" KeyPath="yes" />
+ <File Id="fil_krberr_h" LongName="krberr.h" Name="krberr.h" />
+ <File Id="fil_mit_copy_h" LongName="mit_copy.h" Name="mit_copy.h" />
+ <File Id="fil_osconf_h" LongName="osconf.h" Name="osconf.h" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinc_krb5" Name="krb5" src="$(var.IncDir)krb5\">
+ <Directory Id="dirinc_krb5_gssapi" Name="gssapi" src="$(var.IncDir)\krb5\gssapi\">
+ <Component Id="cmp_dirinc_krb5_gssapi" Guid="BD3C190B-1EBB-4d14-81DD-B2000DC4EAC7" DiskId="1">
+ <File Id="fil_gssapi_h" LongName="gssapi.h" Name="gssapi.h" KeyPath="yes" />
+ <File Id="fil_gssapi_generic_h" LongName="gssapi_generic.h" Name="GSSAPI~1.H" />
+ <File Id="fil_gssapi_krb5_h" LongName="gssapi_krb5.h" Name="GSSAPI~2.H" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinc_krb5_KerberosIV" LongName="KerberosIV" Name="krb4" src="$(var.IncDir)\krb5\KerberosIV\">
+ <Component Id="cmp_dirinc_krb5_KerberosIV" Guid="307B8031-2589-4f92-A303-EF4231328490" DiskId="1">
+ <File Id="fil_des_.h" LongName="des.h" Name="des.h" />
+ <File Id="fil_kadm_err_.h" LongName="kadm_err.h" Name="kadm_err.h" />
+ <File Id="fil_krb_.h" LongName="krb.h" Name="krb.h" KeyPath="yes" />
+ <File Id="fil_krb_err_.h" LongName="krb_err.h" Name="krb_err.h" />
+ <File Id="fil_mit_copyright_.h" LongName="mit-copyright.h" Name="MIT-CO~1.H" />
+ </Component>
+ </Directory>
+ <Component Id="cmp_dirinc_krb5" Guid="7FD8008B-2F46-4613-8A09-989F643258F1" DiskId="1">
+ <File Id="fil_com_err_.h" LongName="com_err.h" Name="com_err.h" />
+ <File Id="fil_krb5_.h" LongName="krb5.h" Name="krb5.h" KeyPath="yes" />
+ <File Id="fil_profile_.h" LongName="profile.h" Name="profile.h" />
+ <File Id="fil_win_mac_.h" LongName="win-mac.h" Name="win-mac.h" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinc_krbcc" Name="krbcc" src="$(var.IncDir)krbcc\">
+ <Component Id="cmp_dirinc_krbcc" Guid="2CE4B708-7D45-41e4-8A53-BF2D78451A81" DiskId="1">
+ <File Id="fil_cacheapi_h" LongName="cacheapi.h" Name="cacheapi.h" KeyPath="yes" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinc_leash" Name="leash" src="$(var.IncDir)leash\">
+ <Component Id="cmp_dirinc_leash" Guid="FCF269AB-D9BC-49bd-B9F3-D6EA9697D8D7" DiskId="1">
+ <File Id="fil_leasherr_h" LongName="leasherr.h" Name="leasherr.h" />
+ <File Id="fil_leashinfo_h" LongName="leashinfo.h" Name="LEASHI~1.H" />
+ <File Id="fil_leashwin_h" LongName="leashwin.h" Name="leashwin.h" KeyPath="yes" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinc_loadfuncs" LongName="loadfuncs" Name="loadfunc" src="$(var.IncDir)loadfuncs\">
+ <Component Id="cmp_dirinc_loadfuncs" Guid="C8E59D05-4502-498b-A107-1DF65C3A27D3" DiskId="1">
+ <File Id="fil_loadfuncs_afs_h" LongName="loadfuncs-afs.h" Name="LOADFU~1.H" />
+ <File Id="fil_loadfuncs_afs36_h" LongName="loadfuncs-afs36.h" Name="LOADFU~2.H" />
+ <File Id="fil_loadfuncs_com_err_h" LongName="loadfuncs-com_err.h" Name="LOADFU~3.H" />
+ <File Id="fil_loadfuncs_krb_h" LongName="loadfuncs-krb.h" Name="LOADFU~4.H" />
+ <File Id="fil_loadfuncs_krb5_h" LongName="loadfuncs-krb5.h" Name="LOC37B~1.H" />
+ <File Id="fil_loadfuncs_krb524_h" LongName="loadfuncs-krb524.h" Name="LOCEB8~1.H" />
+ <File Id="fil_loadfuncs_leash_h" LongName="loadfuncs-leash.h" Name="LOF608~1.H" />
+ <File Id="fil_loadfuncs_lsa_h" LongName="loadfuncs-lsa.h" Name="LO1903~1.H" />
+ <File Id="fil_loadfuncs_profile_h" LongName="loadfuncs-profile.h" Name="LOD197~1.H" />
+ <File Id="fil_loadfuncs_wshelper_h" LongName="loadfuncs-wshelper.h" Name="LO8FF4~1.H" />
+ <File Id="fil_loadfuncs_c" LongName="loadfuncs.c" Name="LOADFU~1.C" />
+ <File Id="fil_loadfuncs_h" LongName="loadfuncs.h" Name="LO87BD~1.H" KeyPath="yes" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinc_wshelper" Name="wshelper" src="$(var.IncDir)wshelper\">
+ <Component Id="cmp_dirinc_wshelper" Guid="5A4FCD76-6DC6-455c-B465-FD8123252EBD" DiskId="1">
+ <File Id="fil_hesiod_h" LongName="hesiod.h" Name="hesiod.h" />
+ <File Id="fil_mitwhich_h" LongName="mitwhich.h" Name="mitwhich.h" />
+ <File Id="fil_resolv_h" LongName="resolv.h" Name="resolv.h" />
+ <File Id="fil_wshelper_h" LongName="wshelper.h" Name="wshelper.h" KeyPath="yes" />
+ </Component>
+ <Directory Id="dirinc_wshelper_arpa" Name="arpa" src="$(var.IncDir)\wshelper\arpa\">
+ <Component Id="cmp_dirinc_wshelper_arpa" Guid="42A19215-91D6-4cd6-8BE8-95105849B862" DiskId="1">
+ <File Id="fil_nameser_h" LongName="nameser.h" Name="nameser.h" KeyPath="yes" />
+ </Component>
+ </Directory>
+ </Directory>
+ </Directory>
+
+ <Directory Id="dirlib" Name="lib" src="$(var.LibDir)">
+ <Directory Id="dirlib_i386" Name="i386" src="$(var.LibDir)">
+ <Component Id="cmp_dirlib_i386" Guid="CFEE3ED4-92D4-49e1-BB78-8BCBC60C3E57" DiskId="1">
+ <File Id="fil_comerr32_lib" LongName="comerr32.lib" Name="comerr32.lib" />
+ <File Id="fil_delaydlls_lib" LongName="delaydlls.lib" Name="DELAYD~1.LIB" />
+ <File Id="fil_getopt_lib" LongName="getopt.lib" Name="getopt.lib" />
+ <File Id="fil_gssapi32_lib" LongName="gssapi32.lib" Name="gssapi32.lib" />
+ <File Id="fil_kclnt32_lib" LongName="kclnt32.lib" Name="kclnt32.lib" />
+ <File Id="fil_krb524_lib" LongName="krb524.lib" Name="krb524.lib" />
+ <File Id="fil_krb5_32_lib" LongName="krb5_32.lib" Name="krb5_32.lib" KeyPath="yes" />
+ <File Id="fil_krbcc32_lib" LongName="krbcc32.lib" Name="krbcc32.lib" />
+ <File Id="fil_krbv4w32_lib" LongName="krbv4w32.lib" Name="krbv4w32.lib" />
+ <File Id="fil_leashw32_lib" LongName="leashw32.lib" Name="leashw32.lib" />
+ <File Id="fil_loadfuncs_lib" LongName="loadfuncs.lib" Name="LOADFU~1.LIB" />
+ <File Id="fil_wshelp32_lib" LongName="wshelp32.lib" Name="wshelp32.lib" />
+ <File Id="fil_xpprof32_lib" LongName="xpprof32.lib" Name="xpprof32.lib" />
+ </Component>
+ </Directory>
+ </Directory>
+
+ <Directory Id="dirinstall" Name="install" src="$(var.InstallDir)">
+ <Directory Id="dirinstall_nsis" Name="nsis" src="$(var.InstallDir)nsis\">
+ <Component Id="cmp_dirinstall_nsis" Guid="711C3910-5369-44f3-A023-E09E86A1C749" DiskId="1">
+ <File Id="fil_kfw_fixed_nsi" LongName="kfw-fixed.nsi" Name="KFW-FI~1.NSI" KeyPath="yes" />
+ <File Id="fil_kfw_ico" LongName="kfw.ico" Name="kfw.ico" />
+ <File Id="fil_kfw_nsi" LongName="kfw.nsi" Name="kfw.nsi" />
+ <File Id="fil_KfWConfigPage_ini" LongName="KfWConfigPage.ini" Name="KFWCON~1.INI" />
+ <File Id="fil_KfWConfigPage2_ini" LongName="KfWConfigPage2.ini" Name="KFWCON~2.INI" />
+ <File Id="fil_killer_cpp" LongName="killer.cpp" Name="killer.cpp" />
+ <File Id="fil_licenses_rtf" LongName="licenses.rtf" Name="licenses.rtf" />
+ <File Id="fil_site_local_nsi" LongName="site-local.nsi" Name="SITE-L~1.NSI" />
+ <File Id="fil_utils_nsi" LongName="utils.nsi" Name="utils.nsi" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinstall_wix" Name="wix" src="$(var.InstallDir)wix\">
+ <Component Id="cmp_dirinstall_wix" Guid="14DD16AB-6920-4ee1-8B78-623F39DB70BB" DiskId="1">
+ <File Id="fil_config_wxi" LongName="config.wxi" Name="config.wxi" />
+ <File Id="fil_features_wxi" LongName="features.wxi" Name="features.wxi" />
+ <File Id="fil_files_wxi" LongName="files.wxi" Name="files.wxi" />
+ <File Id="fil_kfw_wxs" LongName="kfw.wxs" Name="kfw.wxs" KeyPath="yes" />
+ <File Id="fil_Makefile_" LongName="Makefile" Name="Makefile" />
+ <File Id="fil_property_wxi" LongName="property.wxi" Name="property.wxi" />
+ <File Id="fil_site_local_wxi" LongName="site-local.wxi" Name="SITE-L~1.WXI" />
+ </Component>
+ <Directory Id="dirinstall_wix_lang" Name="lang" src="$(var.InstallDir)wix\lang\">
+ <Component Id="cmp_dirinstall_wix_lang" Guid="70741A69-1103-4B54-B146-2E14C271945D" DiskId="1">
+ <File Id="fil_config_1033_wxi" LongName="config_1033.wxi" Name="CONFIG~1.WXI" KeyPath="yes" />
+ <File Id="fil_strings_1033_wxl" LongName="strings_1033.wxl" Name="STRING~1.WXL" />
+ <File Id="fil_ui_1033_wxi" LongName="ui_1033.wxi" Name="ui_1033.wxi" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinstall_wix_Binary" Name="Binary" src="$(var.InstallDir)wix\Binary\">
+ <Component Id="cmp_dirinstall_wix_Binary" Guid="5F021D71-A398-41FD-8F9C-9C0665C18660" DiskId="1">
+ <File Id="fil_bannrbmp_bmp" LongName="bannrbmp.bmp" Name="bannrbmp.bmp" />
+ <File Id="fil_completi_ico" LongName="completi.ico" Name="completi.ico" />
+ <File Id="fil_custicon_ico" LongName="custicon.ico" Name="custicon.ico" />
+ <File Id="fil_dlgbmp_bmp" LongName="dlgbmp.bmp" Name="dlgbmp.bmp" />
+ <File Id="fil_exclamic_ico" LongName="exclamic.ico" Name="exclamic.ico" />
+ <File Id="fil_info_bmp" LongName="info.bmp" Name="info.bmp" />
+ <File Id="fil_insticon_ico" LongName="insticon.ico" Name="insticon.ico" />
+ <File Id="fil_new_bmp" LongName="new.bmp" Name="new.bmp" />
+ <File Id="fil_removico_ico" LongName="removico.ico" Name="removico.ico" />
+ <File Id="fil_repairic_ico" LongName="repairic.ico" Name="repairic.ico" />
+ <File Id="fil_up_bmp" LongName="up.bmp" Name="up.bmp" />
+ </Component>
+ </Directory>
+ <Directory Id="dirinstall_wix_custom" Name="custom" src="$(var.InstallDir)wix\custom\">
+ <Component Id="cmp_dirinstall_wix_custom" Guid="872AA948-39B0-4CDC-B764-7EB69F280E50" DiskId="1">
+ <File Id="fil_custom_cpp" LongName="custom.cpp" Name="custom.cpp" KeyPath="yes" />
+ <File Id="fil_custom_h" LongName="custom.h" Name="custom.h" />
+ </Component>
+ </Directory>
+ </Directory>
+ </Directory>
+
+
+ <Directory Id="dirdoc" Name="doc" src="$(var.DocDir)">
+ <Component Id="efl_leash_userdoc_pdf" Guid="68FB24DD-5EC2-4db1-AD42-5B9DDEC247C5" DiskId="1">
+ <File Id="fil_leash_userdoc_pdf" LongName="leash_userdoc.pdf" Name="leash.pdf" KeyPath="yes">
+ <Shortcut Id="sc_leash_userdoc_pdf" Advertise="no" Directory="dirShortcut" LongName="Leash User Documentation.lnk" Name="leashdoc.lnk" />
+ </File>
+ </Component>
+ <Component Id="efl_relnotes_html" Guid="C65F920A-039D-4839-848F-0AD7B445F376" DiskId="1">
+ <File Id="fil_relnotes_html" LongName="relnotes.html" Name="RELNOT~1.HTM" KeyPath="yes">
+ <Shortcut Id="sc_relnotes_html" Advertise="no" Directory="dirShortcut" LongName="Release Notes.lnk" Name="relnotes.lnk" />
+ </File>
+ </Component>
+ </Directory>
+
+ </Directory> <!-- /Kerberos -->
+ </Directory> <!-- /MIT -->
+ </Directory> <!-- /Program Files -->
+ <Directory Id="WindowsFolder">
+ <Component Id="cmf_krb5_ini" Guid="C1AF0670-BBF1-4AA6-B2A6-6C8B1584A1F4" NeverOverwrite="yes" Permanent="yes" DiskId="1">
+ <File Id="fil_krb5_ini" LongName="krb5.ini" Name="krb5.ini" src="$(var.ConfigDir)krb5.ini" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_krb_con" Guid="5E91A051-CF14-45FF-BF64-CEE78A7A90C2" NeverOverwrite="yes" Permanent="yes" DiskId="1">
+ <File Id="fil_krb_con" LongName="krb.con" Name="krb.con" src="$(var.ConfigDir)krb.con" KeyPath="yes" />
+ </Component>
+ <Component Id="cmf_krbrealm_con" Guid="D667B54F-1C98-43FB-87C6-0F0517623B90" NeverOverwrite="yes" Permanent="yes" DiskId="1">
+ <File Id="fil_krbrealm_con" LongName="krbrealm.con" Name="krbrealm.con" src="$(var.ConfigDir)krbrealm.con" KeyPath="yes" />
+ </Component>
+ </Directory>
+
+ <Directory Id="ProgramMenuFolder">
+ <Directory Id="dirShortcut" LongName="$(loc.ProductName)" Name="$(loc.ProductNameShort)">
+ </Directory>
+ </Directory>
+ <Directory Id="StartupFolder">
+ </Directory>
+
+ <Component Id="rcm_common" Guid="486D84B6-CCE5-4b95-B8E2-7DFBDB4CF9A2">
+ <Registry Id="reg_common0" Root="HKLM" Key="$(var.KfwRegRoot)" Action="createKeyAndRemoveKeyOnUninstall" />
+ <Registry Id="reg_common1" Root="HKLM" Key="$(var.KfwRegRoot)" KeyPath="yes" />
+ <Registry Id="reg_common2" Root="HKLM" Key="$(var.KfwRegRoot)" Name="InstallDir" Type="string" Value="[KERBEROSDIR]"/>
+ <?ifdef Debug?>
+ <Registry Id="reg_common3" Root="HKLM" Key="$(var.KfwRegRoot)\CurrentVersion" Action="createKeyAndRemoveKeyOnUninstall"/>
+ <Registry Id="reg_common4" Root="HKLM" Key="$(var.KfwRegRoot)\CurrentVersion" Name="Debug" Type="integer" Value="1"/>
+ <Registry Id="reg_common5" Root="HKLM" Key="$(var.KfwRegRoot)\$(var.VersionString)" Action="createKeyAndRemoveKeyOnUninstall"/>
+ <Registry Id="reg_common6" Root="HKLM" Key="$(var.KfwRegRoot)\$(var.VersionString)" Name="Debug" Type="integer" Value="1"/>
+ <?else?>
+ <Registry Id="reg_common7" Root="HKLM" Key="$(var.KfwRegRoot)\CurrentVersion" Action="removeKeyOnInstall"/>
+ <Registry Id="reg_common8" Root="HKLM" Key="$(var.KfwRegRoot)\$(var.VersionString)" Action="removeKeyOnInstall"/>
+ <?endif?>
+ </Component>
+
+ <Component Id="rcm_client" Guid="901179B2-7369-43b1-ACF3-4C7F37482CC7">
+ <Registry Id="reg_client0" Root="HKLM" Key="$(var.KfwRegRoot)\Client" Action="createKeyAndRemoveKeyOnUninstall"/>
+
+ <Registry Id="reg_client1" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" Action="createKeyAndRemoveKeyOnUninstall"/>
+ <Registry Id="reg_client2" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" />
+ <Registry Id="reg_client3" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" Name="VersionString" Type="string" Value="$(var.VersionString)" />
+ <Registry Id="reg_client4" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" Name="Title" Type="string" Value="KfW" />
+ <Registry Id="reg_client5" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" Name="Description" Type="string" Value="$(var.ProductFullName)" />
+ <Registry Id="reg_client6" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" Name="PathName" Type="string" Value="[KERBEROSDIR]" />
+ <Registry Id="reg_client7" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" Name="Software Type" Type="string" Value="Authentication" />
+ <Registry Id="reg_client8" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" />
+ <Registry Id="reg_client9" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" />
+ <Registry Id="reg_client10" Root="HKLM" Key="$(var.KfwRegRoot)\Client\CurrentVersion" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" />
+
+ <Registry Id="reg_client11" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Action="createKeyAndRemoveKeyOnUninstall"/>
+ <Registry Id="reg_client12" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" KeyPath="yes" />
+ <Registry Id="reg_client13" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Name="VersionString" Type="string" Value="$(var.VersionString)" />
+ <Registry Id="reg_client14" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Name="Title" Type="string" Value="KfW" />
+ <Registry Id="reg_client15" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Name="Description" Type="string" Value="$(var.ProductFullName)" />
+ <Registry Id="reg_client16" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Name="PathName" Type="string" Value="[KERBEROSDIR]" />
+ <Registry Id="reg_client17" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Name="Software Type" Type="string" Value="Authentication" />
+ <Registry Id="reg_client18" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" />
+ <Registry Id="reg_client19" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" />
+ <Registry Id="reg_client20" Root="HKLM" Key="$(var.KfwRegRoot)\Client\$(var.VersionString)" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" />
+ </Component>
+
+ <Component Id="rcm_sdk" Guid="96AA90C7-8C60-4341-A15B-3DEDF29DA9F1">
+ <Registry Id="reg_sdk0" Root="HKLM" Key="$(var.KfwRegRoot)\SDK" Action="createKeyAndRemoveKeyOnUninstall"/>
+
+ <Registry Id="reg_sdk1" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" Action="createKeyAndRemoveKeyOnUninstall"/>
+ <Registry Id="reg_sdk2" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" />
+ <Registry Id="reg_sdk3" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" Name="VersionString" Type="string" Value="$(var.VersionString)" />
+ <Registry Id="reg_sdk4" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" Name="Title" Type="string" Value="KfW" />
+ <Registry Id="reg_sdk5" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" Name="Description" Type="string" Value="$(var.ProductFullName)" />
+ <Registry Id="reg_sdk6" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" Name="PathName" Type="string" Value="[KERBEROSDIR]" />
+ <Registry Id="reg_sdk7" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" Name="Software Type" Type="string" Value="Authentication" />
+ <Registry Id="reg_sdk8" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" />
+ <Registry Id="reg_sdk9" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" />
+ <Registry Id="reg_sdk10" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\CurrentVersion" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" />
+
+ <Registry Id="reg_sdk11" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" Action="createKeyAndRemoveKeyOnUninstall"/>
+ <Registry Id="reg_sdk12" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" KeyPath="yes" />
+ <Registry Id="reg_sdk13" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" Name="VersionString" Type="string" Value="$(var.VersionString)" />
+ <Registry Id="reg_sdk14" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" Name="Title" Type="string" Value="KfW" />
+ <Registry Id="reg_sdk15" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" Name="Description" Type="string" Value="$(var.ProductFullName)" />
+ <Registry Id="reg_sdk16" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" Name="PathName" Type="string" Value="[KERBEROSDIR]" />
+ <Registry Id="reg_sdk17" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" Name="Software Type" Type="string" Value="Authentication" />
+ <Registry Id="reg_sdk18" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" />
+ <Registry Id="reg_sdk19" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" />
+ <Registry Id="reg_sdk20" Root="HKLM" Key="$(var.KfwRegRoot)\SDK\$(var.VersionString)" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" />
+ </Component>
+
+ <Component Id="rcm_docs" Guid="C7EADA0F-8FF7-4e7b-9372-5553BDD5812F">
+ <Registry Id="reg_docs0" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation" Action="createKeyAndRemoveKeyOnUninstall"/>
+
+ <Registry Id="reg_docs1" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" Action="createKeyAndRemoveKeyOnUninstall"/>
+ <Registry Id="reg_docs2" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" />
+ <Registry Id="reg_docs3" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" Name="VersionString" Type="string" Value="$(var.VersionString)" />
+ <Registry Id="reg_docs4" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" Name="Title" Type="string" Value="KfW" />
+ <Registry Id="reg_docs5" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" Name="Description" Type="string" Value="$(var.ProductFullName)" />
+ <Registry Id="reg_docs6" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" Name="PathName" Type="string" Value="[KERBEROSDIR]" />
+ <Registry Id="reg_docs7" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" Name="Software Type" Type="string" Value="Authentication" />
+ <Registry Id="reg_docs8" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" />
+ <Registry Id="reg_docs9" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" />
+ <Registry Id="reg_docs10" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\CurrentVersion" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" />
+
+ <Registry Id="reg_docs11" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" Action="createKeyAndRemoveKeyOnUninstall"/>
+ <Registry Id="reg_docs12" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" KeyPath="yes" />
+ <Registry Id="reg_docs13" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" Name="VersionString" Type="string" Value="$(var.VersionString)" />
+ <Registry Id="reg_docs14" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" Name="Title" Type="string" Value="KfW" />
+ <Registry Id="reg_docs15" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" Name="Description" Type="string" Value="$(var.ProductFullName)" />
+ <Registry Id="reg_docs16" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" Name="PathName" Type="string" Value="[KERBEROSDIR]" />
+ <Registry Id="reg_docs17" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" Name="Software Type" Type="string" Value="Authentication" />
+ <Registry Id="reg_docs18" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" />
+ <Registry Id="reg_docs19" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" />
+ <Registry Id="reg_docs20" Root="HKLM" Key="$(var.KfwRegRoot)\Documentation\$(var.VersionString)" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" />
+ </Component>
+
+</Directory>
+</Include> \ No newline at end of file
diff --git a/src/windows/installer/wix/kfw.wxs b/src/windows/installer/wix/kfw.wxs
new file mode 100644
index 0000000000..233fefdf60
--- /dev/null
+++ b/src/windows/installer/wix/kfw.wxs
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Copyright (C) 2004 by the Massachusetts Institute of Technology.
+ All rights reserved.
+
+ Export of this software from the United States of America may
+ require a specific license from the United States Government.
+ It is the responsibility of any person or organization contemplating
+ export to obtain such a license before exporting.
+
+ WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ distribute this software and its documentation for any purpose and
+ without fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and that
+ the name of M.I.T. not be used in advertising or publicity pertaining
+ to distribution of the software without specific, written prior
+ permission. Furthermore if you modify this software you must label
+ your software as modified software and not distribute it in such a
+ fashion that it might be confused with the original M.I.T. software.
+ M.I.T. makes no representations about the suitability of
+ this software for any purpose. It is provided "as is" without express
+ or implied warranty.
+
+ -->
+
+<!-- configuration -->
+<?include config.wxi?>
+
+<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
+ <Product
+ Id="$(var.ProductCode)"
+ Codepage="$(var.CodePage)"
+ Language="$(var.Language)"
+ Manufacturer="$(loc.Manufacturer)"
+ Name="$(var.ProductName)"
+ UpgradeCode="61211594-AAA1-4A98-A299-757326763CC7"
+ Version="$(var.VersionString)">
+
+ <!-- The weird package code results in a new one being generated each time we compile -->
+ <Package
+ Id="????????-????-????-????-????????????"
+ Keywords="Installer,MSI,Database"
+ Description="$(var.ProductName)"
+ Comments="$(var.ProductFullName)"
+ Manufacturer="$(loc.Manufacturer)"
+ InstallerVersion="110"
+ Languages="$(var.Language)"
+ Compressed="yes"
+ SummaryCodepage="$(var.CodePage)"
+ />
+
+ <?include lang\ui_$(var.BuildLang).wxi?>
+ <?include files.wxi?>
+ <?include features.wxi?>
+ <?include property.wxi?>
+
+ <!-- Launch conditions -->
+ <Condition Message="$(loc.AdminRequired)">Privileged</Condition>
+ <Condition Message="$(loc.OsVersionRequired)">Version9X &gt;= 410 Or VersionNT &gt;= 400</Condition>
+
+ <!-- Custom actions -->
+ <Binary Id="binCustom" src="custom\custom.dll" />
+
+ <CustomAction
+ Id="EnableTgtSessionKey"
+ BinaryKey="binCustom"
+ DllEntry="EnableAllowTgtSessionKey"
+ Execute="deferred"
+ Impersonate="no"
+ Return="check" />
+ <Property Id="EnableTgtSessionKey" Value="$(var.VersionString)" />
+
+ <CustomAction
+ Id="RevertTgtSessionKey"
+ BinaryKey="binCustom"
+ DllEntry="RevertAllowTgtSessionKey"
+ Execute="deferred"
+ Impersonate="no"
+ Return="check" />
+ <Property Id="RevertTgtSessionKey" Value="$(var.VersionString)" />
+
+ <CustomAction
+ Id="RollbackTgtSessionKey"
+ BinaryKey="binCustom"
+ DllEntry="RevertAllowTgtSessionKey"
+ Execute="rollback"
+ Impersonate="no"
+ Return="check" />
+ <Property Id="RollbackTgtSessionKey" Value="$(var.VersionString)" />
+
+ <CustomAction
+ Id="RemoveNsisInstallation"
+ BinaryKey="binCustom"
+ DllEntry="UninstallNsisInstallation"
+ Execute="immediate" />
+
+ <CustomAction
+ Id="AbortCantRemoveNSIS"
+ Value="[CantRemoveNSISError]" />
+
+ <CustomAction
+ Id="AbortNoIE"
+ Value="[NoIE501Error]" />
+
+ <CustomAction
+ Id="ListRunningProcesses"
+ BinaryKey="binCustom"
+ DllEntry="ListRunningProcesses"
+ Execute="immediate" />
+
+ <CustomAction
+ Id="KillRunningProcesses"
+ BinaryKey="binCustom"
+ DllEntry="KillRunningProcesses"
+ Execute="immediate" />
+
+ <AdminExecuteSequence />
+ <InstallExecuteSequence>
+ <RemoveExistingProducts After="InstallValidate">UPGRADEPISMERE Or UPGRADEKFW</RemoveExistingProducts>
+ <Custom Action="KillRunningProcesses" After="InstallValidate"/>
+ <!-- When running with a UI, CCP_Success property is not passed down to the server. -->
+ <Custom Action="AbortNoIE" Before="RemoveNsisInstallation">UILevel = 0 And (Not Installed) And (CCP_Success &lt;&gt; 1)</Custom>
+ <Custom Action="RemoveNsisInstallation" Before="AbortCantRemoveNSIS">UPGRADENSIS &lt;&gt; "" And UILevel &gt;= 4</Custom>
+ <Custom Action="AbortCantRemoveNSIS" Before="CostInitialize">UPGRADENSIS &lt;&gt; "" And UILevel &lt; 4</Custom>
+ <Custom Action="RollbackTgtSessionKey" After="WriteRegistryValues">VersionNT &gt;= 500 And &amp;feaKfwClient=3</Custom>
+ <Custom Action="EnableTgtSessionKey" After="RollbackTgtSessionKey">VersionNT &gt;= 500 And &amp;feaKfwClient=3</Custom>
+ <Custom Action="RevertTgtSessionKey" Before="RemoveRegistryValues">VersionNT &gt;= 500 And &amp;feaKfwClient=2</Custom>
+ </InstallExecuteSequence>
+
+ <!-- Upgrade paths -->
+
+ <!-- MIT Project Pismere MSI -->
+ <Upgrade Id="83977767-388D-4DF8-BB08-3BF2401635BD">
+ <UpgradeVersion IgnoreRemoveFailure="no" IncludeMinimum="no" Maximum="4.0.0" MigrateFeatures="no" Property="UPGRADEPISMERE"/>
+ </Upgrade>
+
+ <!-- KfW MSI -->
+ <Upgrade Id="61211594-AAA1-4A98-A299-757326763CC7">
+ <UpgradeVersion IgnoreRemoveFailure="no" IncludeMinimum="no" Maximum="$(var.VersionString)" IncludeMaximum="no" MigrateFeatures="yes" Property="UPGRADEKFW" />
+ </Upgrade>
+
+ <!-- NSIS installation -->
+ <!-- The NSIS installation, being non-MSI, is detected and removed through other means. -->
+
+ <!-- Check and warn if we don't have the right version of IE installed -->
+ <ComplianceCheck>
+ <DirectorySearch Id="ccd_iphlpapi" Depth="1" Path="[SystemFolder]">
+ <FileSearch Id="cc_iphlp" MinDate="1999-04-23T00:00:00-05:00" Name="iphlpapi.dll" />
+ </DirectorySearch>
+ </ComplianceCheck>
+
+ <!-- We embed all the files in a single cabinet. -->
+ <Media Id="1" Cabinet="Disk1" CompressionLevel="mszip" EmbedCab="yes" />
+
+ <!-- Custom table used by KillProcesses custom action -->
+ <CustomTable Id="KillProcess">
+ <Column Id="Id" PrimaryKey="yes" Nullable="no" Type="string" Width="32" />
+ <Column Id="Image" Nullable="no" Type="string" Width="255" />
+ <Column Id="Desc" Nullable="yes" Type="string" Width="255" />
+
+ <Row>
+ <Data Column="Id">kpLeash</Data>
+ <Data Column="Image">leash32.exe</Data>
+ <Data Column="Desc">Leash Ticket Manager</Data>
+ </Row>
+ <Row>
+ <Data Column="Id">kpKrbcc</Data>
+ <Data Column="Image">krbcc32s.exe</Data>
+ <Data Column="Desc">Kerberos Credential Cache</Data>
+ </Row>
+ <Row>
+ <Data Column="Id">kpK95</Data>
+ <Data Column="Image">k95.exe</Data>
+ <Data Column="Desc"></Data>
+ </Row>
+ <Row>
+ <Data Column="Id">kpK95g</Data>
+ <Data Column="Image">k95g.exe</Data>
+ <Data Column="Desc"></Data>
+ </Row>
+ <Row>
+ <Data Column="Id">kpkrb5</Data>
+ <Data Column="Image">krb5.exe</Data>
+ <Data Column="Desc">Kerberos Client</Data>
+ </Row>
+ <Row>
+ <Data Column="Id">kpgss</Data>
+ <Data Column="Image">gss.exe</Data>
+ <Data Column="Desc">GSSAPI Test Client</Data>
+ </Row>
+ <Row>
+ <Data Column="Id">kpafscreds</Data>
+ <Data Column="Image">afscreds.exe</Data>
+ <Data Column="Desc">AFS Credentials Manager</Data>
+ </Row>
+ </CustomTable>
+ </Product>
+</Wix>
+
diff --git a/src/windows/installer/wix/lang/config_1033.wxi b/src/windows/installer/wix/lang/config_1033.wxi
new file mode 100644
index 0000000000..0fc62e3d17
--- /dev/null
+++ b/src/windows/installer/wix/lang/config_1033.wxi
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Copyright (C) 2004 by the Massachusetts Institute of Technology.
+ All rights reserved.
+
+ Export of this software from the United States of America may
+ require a specific license from the United States Government.
+ It is the responsibility of any person or organization contemplating
+ export to obtain such a license before exporting.
+
+ WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ distribute this software and its documentation for any purpose and
+ without fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and that
+ the name of M.I.T. not be used in advertising or publicity pertaining
+ to distribution of the software without specific, written prior
+ permission. Furthermore if you modify this software you must label
+ your software as modified software and not distribute it in such a
+ fashion that it might be confused with the original M.I.T. software.
+ M.I.T. makes no representations about the suitability of
+ this software for any purpose. It is provided "as is" without express
+ or implied warranty.
+
+ -->
+<Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
+
+ <?define VersionString="$(var.VersionMajor).$(var.VersionMinor).$(var.VersionPatch)"?>
+
+ <?ifdef var.Release?>
+ <?ifndef var.Debug?>
+ <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString)"?>
+ <?else?>
+ <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(loc.ProductDebug)"?>
+ <?endif?>
+ <?else?>
+ <?ifdef var.Beta?>
+ <?ifndef var.Debug?>
+ <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(loc.ProductBeta) $(var.Beta) "?>
+ <?else?>
+ <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(loc.ProductBeta) $(var.Beta) $(loc.ProductDebug)"?>
+ <?endif?>
+ <?else?>
+
+ <?ifndef var.Date?>
+ <?error Date string must be specified?>
+ <?endif?>
+
+ <?ifndef var.Time?>
+ <?error Time string must be specified?>
+ <?endif?>
+
+ <?ifndef var.Debug?>
+ <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(var.Date) $(var.Time)"?>
+ <?else?>
+ <?define ProductFullName="$(loc.ProductMIT) $(loc.ProductName) $(var.VersionString) $(var.Date) $(var.Time) $(loc.ProductDebug)"?>
+ <?endif?>
+ <?endif?>
+ <?endif?>
+
+ <!-- Language specific configuration (English) -->
+ <?define ProductName="$(var.ProductFullName)"?>
+ <?define CodePage="1252"?>
+ <?define Language="1033"?>
+
+ <?define ARPComments="$(loc.ARPComments) $(var.Date) $(var.Time)"?>
+</Include> \ No newline at end of file
diff --git a/src/windows/installer/wix/lang/strings_1033.wxl b/src/windows/installer/wix/lang/strings_1033.wxl
new file mode 100644
index 0000000000..324831d923
--- /dev/null
+++ b/src/windows/installer/wix/lang/strings_1033.wxl
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<WixLocalization>
+<!--
+
+ Copyright (C) 2004 by the Massachusetts Institute of Technology.
+ All rights reserved.
+
+ Export of this software from the United States of America may
+ require a specific license from the United States Government.
+ It is the responsibility of any person or organization contemplating
+ export to obtain such a license before exporting.
+
+ WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ distribute this software and its documentation for any purpose and
+ without fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and that
+ the name of M.I.T. not be used in advertising or publicity pertaining
+ to distribution of the software without specific, written prior
+ permission. Furthermore if you modify this software you must label
+ your software as modified software and not distribute it in such a
+ fashion that it might be confused with the original M.I.T. software.
+ M.I.T. makes no representations about the suitability of
+ this software for any purpose. It is provided "as is" without express
+ or implied warranty.
+
+ -->
+ <String Id="ProductName">Kerberos for Windows</String>
+ <String Id="ProductNameShort">Kerberos</String>
+ <String Id="ProductMIT">MIT</String>
+ <String Id="ProductDebug">Debug/Checked</String>
+ <String Id="ProductBeta">Beta</String>
+
+ <String Id="Manufacturer">Massachusetts Institute of Technology</String>
+
+ <String Id="KerberosTitle">Kerberos for Windows</String>
+ <String Id="KerberosDesc">Kerberos for Windows</String>
+
+ <String Id="KerberosClientTitle">Client</String>
+ <String Id="KerberosClientDesc">Kerberos client utilities, libraries and documentation</String>
+
+ <String Id="KerberosSDKTitle">SDK</String>
+ <String Id="KerberosSDKDesc">Libraries and header files for developing software with Kerberos</String>
+
+ <String Id="KerberosDocTitle">Documentation</String>
+ <String Id="KerberosDocDesc">Documentation</String>
+
+ <String Id="AdminRequired">You need administrative privileges to install Kerberos for Windows</String>
+ <String Id="OsVersionRequired">This product requires Windows 98/ME/2000/XP/2003. The current operating system is not supported.</String>
+ <String Id="CantRemoveNSIS">The NSIS based installation of Kerberos for Windows could not be uninstalled because the NSIS uninstaller must be run in Full UI mode.</String>
+ <String Id="IE501Required">Kerberos for Windows requires Microsoft Internet Explorer version 5.01 or higher. Please resolve this and run the installer again.</String>
+
+ <String Id="ARPComments">Build of</String>
+
+</WixLocalization> \ No newline at end of file
diff --git a/src/windows/installer/wix/lang/ui_1033.wxi b/src/windows/installer/wix/lang/ui_1033.wxi
new file mode 100644
index 0000000000..b2983fc3d1
--- /dev/null
+++ b/src/windows/installer/wix/lang/ui_1033.wxi
@@ -0,0 +1,1243 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
+ <UI>
+ <Dialog Id="AdminWelcomeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Property="InstallMode" Value="Server Image">1</Publish>
+ <Publish Event="NewDialog" Value="AdminRegistrationDlg">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="30" Transparent="yes" NoPrefix="yes">
+ <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>
+ </Control>
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="ExitDialog" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Cancel]" />
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Click the Finish button to exit the [Wizard].</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}Completing the [ProductName] [Wizard]</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="FatalError" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Cancel]" />
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}[ProductName] [Wizard] ended prematurely</Text>
+ </Control>
+ <Control Id="Description1" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes">
+ <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>
+ </Control>
+ <Control Id="Description2" Type="Text" X="135" Y="115" Width="220" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Click the Finish button to exit the [Wizard].</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="PrepareDlg" Width="370" Height="270" Title="[ProductName] [Setup]" Modeless="yes">
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Please wait while the [Wizard] prepares to guide you through the installation.</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>
+ </Control>
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" TabSkip="yes" Text="[ButtonText_Back]" />
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="yes" TabSkip="yes" Text="[ButtonText_Next]" />
+ <Control Id="ActionData" Type="Text" X="135" Y="125" Width="220" Height="30" Transparent="yes" NoPrefix="yes">
+ <Subscribe Event="ActionData" Attribute="Text" />
+ </Control>
+ <Control Id="ActionText" Type="Text" X="135" Y="100" Width="220" Height="20" Transparent="yes" NoPrefix="yes">
+ <Subscribe Event="ActionText" Attribute="Text" />
+ </Control>
+ </Dialog>
+ <Dialog Id="ProgressDlg" Width="370" Height="270" Title="[ProductName] [Setup]" Modeless="yes">
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Next]" />
+ <Control Id="Text" Type="Text" X="35" Y="65" Width="300" Height="20">
+ <Text>Please wait while the [Wizard] [Progress2] [ProductName]. This may take several minutes.</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="20" Y="15" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont][Progress1] [ProductName]</Text>
+ </Control>
+ <Control Id="ActionText" Type="Text" X="70" Y="100" Width="265" Height="10">
+ <Subscribe Event="ActionText" Attribute="Text" />
+ </Control>
+ <Control Id="ProgressBar" Type="ProgressBar" X="35" Y="115" Width="300" Height="10" ProgressBlocks="yes" Text="Progress done">
+ <Subscribe Event="SetProgress" Attribute="Progress" />
+ </Control>
+ <Control Id="StatusLabel" Type="Text" X="35" Y="100" Width="35" Height="10" Text="Status:" />
+ </Dialog>
+ <Dialog Id="UserExit" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Cancel]" />
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}[ProductName] [Wizard] was interrupted</Text>
+ </Control>
+ <Control Id="Description1" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes">
+ <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>
+ </Control>
+ <Control Id="Description2" Type="Text" X="135" Y="115" Width="220" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Click the Finish button to exit the [Wizard].</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="AdminBrowseDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="PathEdit" Type="PathEdit" X="84" Y="202" Width="261" Height="17" Property="TARGETDIR" />
+ <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_OK]">
+ <Publish Event="SetTargetPath" Value="TARGETDIR">1</Publish>
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="240" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="Reset" Value="0">1</Publish>
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="ComboLabel" Type="Text" X="25" Y="58" Width="44" Height="10" TabSkip="no" Text="&amp;Look in:" />
+ <Control Id="DirectoryCombo" Type="DirectoryCombo" X="70" Y="55" Width="220" Height="80" Property="TARGETDIR" Removable="yes" Fixed="yes" Remote="yes">
+ <Subscribe Event="IgnoreChange" Attribute="IgnoreChange" />
+ </Control>
+ <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">
+ <Publish Event="DirectoryListUp" Value="0">1</Publish>
+ </Control>
+ <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">
+ <Publish Event="DirectoryListNew" Value="0">1</Publish>
+ </Control>
+ <Control Id="DirectoryList" Type="DirectoryList" X="25" Y="83" Width="320" Height="110" Property="TARGETDIR" Sunken="yes" TabSkip="no" />
+ <Control Id="PathLabel" Type="Text" X="25" Y="205" Width="59" Height="10" TabSkip="no" Text="&amp;Folder name:" />
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Browse to the destination folder</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Change current destination folder</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="AdminInstallPointDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Text" Type="Text" X="25" Y="80" Width="320" Height="10" TabSkip="no">
+ <Text>&amp;Enter a new network location or click Browse to browse to one.</Text>
+ </Control>
+ <Control Id="PathEdit" Type="PathEdit" X="25" Y="93" Width="320" Height="18" Property="TARGETDIR" />
+ <Control Id="Browse" Type="PushButton" X="289" Y="119" Width="56" Height="17" Text="[ButtonText_Browse]">
+ <Publish Event="SpawnDialog" Value="AdminBrowseDlg">1</Publish>
+ </Control>
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="AdminRegistrationDlg">1</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="SetTargetPath" Value="TARGETDIR">1</Publish>
+ <Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="20" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Please specify a network location for the server image of [ProductName] product</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Network Location</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="AdminRegistrationDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="OrganizationLabel" Type="Text" X="45" Y="71" Width="285" Height="30" TabSkip="no">
+ <Text>&amp;Please enter the name of your organization in the box below. This will be used as default company name for subsequent installations of [ProductName]:</Text>
+ </Control>
+ <Control Id="OrganizationEdit" Type="Edit" X="45" Y="105" Width="220" Height="18" Property="COMPANYNAME" Text="{80}" />
+ <Control Id="CDKeyLabel" Type="Text" X="45" Y="130" Width="50" Height="10" TabSkip="no">
+ <Text>CD &amp;Key:</Text>
+ </Control>
+ <Control Id="CDKeyEdit" Type="MaskedEdit" X="45" Y="143" Width="250" Height="16" Property="PIDKEY" Text="[PIDTemplate]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Image="yes" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="AdminWelcomeDlg">1</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="ValidateProductID" Value="0">0</Publish>
+ <Publish Event="NewDialog" Value="AdminInstallPointDlg">ProductID</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Please enter your company information</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Company Information</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="BrowseDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="PathEdit" Type="PathEdit" X="84" Y="202" Width="261" Height="18" Property="_BrowseProperty" Indirect="yes" />
+ <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_OK]">
+ <Publish Event="SetTargetPath" Value="[_BrowseProperty]">1</Publish>
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="240" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="Reset" Value="0">1</Publish>
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="ComboLabel" Type="Text" X="25" Y="58" Width="44" Height="10" TabSkip="no" Text="&amp;Look in:" />
+ <Control Id="DirectoryCombo" Type="DirectoryCombo" X="70" Y="55" Width="220" Height="80" Property="_BrowseProperty" Indirect="yes" Fixed="yes" Remote="yes">
+ <Subscribe Event="IgnoreChange" Attribute="IgnoreChange" />
+ </Control>
+ <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">
+ <Publish Event="DirectoryListUp" Value="0">1</Publish>
+ </Control>
+ <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">
+ <Publish Event="DirectoryListNew" Value="0">1</Publish>
+ </Control>
+ <Control Id="DirectoryList" Type="DirectoryList" X="25" Y="83" Width="320" Height="110" Property="_BrowseProperty" Sunken="yes" Indirect="yes" TabSkip="no" />
+ <Control Id="PathLabel" Type="Text" X="25" Y="205" Width="59" Height="10" TabSkip="no" Text="&amp;Folder name:" />
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Browse to the destination folder</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Change current destination folder</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="CancelDlg" Y="10" Width="260" Height="85" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="No" Type="PushButton" X="132" Y="57" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_No]">
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="Yes" Type="PushButton" X="72" Y="57" Width="56" Height="17" Text="[ButtonText_Yes]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="Text" Type="Text" X="48" Y="15" Width="194" Height="30">
+ <Text>Are you sure you want to cancel [ProductName] installation?</Text>
+ </Control>
+ <Control Id="Icon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Information icon" FixedSize="yes" IconSize="32" Text="[InfoIcon]" />
+ </Dialog>
+ <Dialog Id="CustomizeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">
+ <Control Id="Tree" Type="SelectionTree" X="25" Y="85" Width="175" Height="95" Property="_BrowseProperty" Sunken="yes" TabSkip="no" Text="Tree of selections" />
+ <Control Id="Browse" Type="PushButton" X="304" Y="200" Width="56" Height="17" Text="[ButtonText_Browse]">
+ <Publish Event="SelectionBrowse" Value="BrowseDlg">1</Publish>
+ <Condition Action="hide">Installed</Condition>
+ </Control>
+ <Control Id="Reset" Type="PushButton" X="42" Y="243" Width="56" Height="17" Text="[ButtonText_Reset]">
+ <Publish Event="Reset" Value="0">1</Publish>
+ <Subscribe Event="SelectionNoItems" Attribute="Enabled" />
+ </Control>
+ <Control Id="DiskCost" Type="PushButton" X="111" Y="243" Width="56" Height="17">
+ <Text>Disk &amp;Usage</Text>
+ <Publish Event="SpawnDialog" Value="DiskCostDlg">1</Publish>
+ <Subscribe Event="SelectionNoItems" Attribute="Enabled" />
+ </Control>
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="MaintenanceTypeDlg">InstallMode = "Change"</Publish>
+ <Publish Event="NewDialog" Value="SetupTypeDlg">InstallMode = "Custom"</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="NewDialog" Value="VerifyReadyDlg">( &amp;feaKfwClient &lt;&gt; 3 And !feaKfwClient &lt;&gt; 3 ) And Not FoundProcesses</Publish>
+ <Publish Event="NewDialog" Value="RunningProcessDlg">( &amp;feaKfwClient &lt;&gt; 3 And !feaKfwClient &lt;&gt; 3 ) And FoundProcesses</Publish>
+ <Publish Event="NewDialog" Value="KerberosOptions">&amp;feaKfwClient = 3 Or !feaKfwClient = 3</Publish>
+ <Subscribe Event="SelectionNoItems" Attribute="Enabled" />
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Text" Type="Text" X="25" Y="55" Width="320" Height="20">
+ <Text>Click on the icons in the tree below to change the way features will be installed.</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Select the way you want features to be installed.</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Custom Setup</Text>
+ </Control>
+ <Control Id="Box" Type="GroupBox" X="210" Y="81" Width="140" Height="98" />
+ <Control Id="ItemDescription" Type="Text" X="215" Y="90" Width="131" Height="30">
+ <Text>Multiline description of the currently selected item.</Text>
+ <Subscribe Event="SelectionDescription" Attribute="Text" />
+ </Control>
+ <Control Id="ItemSize" Type="Text" X="215" Y="130" Width="131" Height="45">
+ <Text>The size of the currently selected item.</Text>
+ <Subscribe Event="SelectionSize" Attribute="Text" />
+ </Control>
+ <Control Id="Location" Type="Text" X="75" Y="200" Width="215" Height="20">
+ <Text>&lt;The selection's path&gt;</Text>
+ <Subscribe Event="SelectionPath" Attribute="Text" />
+ <Subscribe Event="SelectionPathOn" Attribute="Visible" />
+ <Condition Action="hide">Installed</Condition>
+ </Control>
+ <Control Id="LocationLabel" Type="Text" X="25" Y="200" Width="50" Height="10" Text="Location:">
+ <Subscribe Event="SelectionPathOn" Attribute="Visible" />
+ <Condition Action="hide">Installed</Condition>
+ </Control>
+ </Dialog>
+ <Dialog Id="DiskCostDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_OK]">
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Text" Type="Text" X="20" Y="53" Width="330" Height="40">
+ <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>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="20" Y="20" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>The disk space required for the installation of the selected features.</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Disk Space Requirements</Text>
+ </Control>
+ <Control Id="VolumeList" Type="VolumeCostList" X="20" Y="100" Width="330" Height="120" Sunken="yes" Fixed="yes" Remote="yes">
+ <Text>{120}{70}{70}{70}{70}</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="ErrorDlg" Y="10" Width="270" Height="105" Title="Installer Information" ErrorDialog="yes" NoMinimize="yes">
+ <Control Id="ErrorText" Type="Text" X="48" Y="15" Width="205" Height="60" TabSkip="no" Text="Information text" />
+ <Control Id="Y" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Yes]">
+ <Publish Event="EndDialog" Value="ErrorYes">1</Publish>
+ </Control>
+ <Control Id="A" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="EndDialog" Value="ErrorAbort">1</Publish>
+ </Control>
+ <Control Id="C" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="EndDialog" Value="ErrorCancel">1</Publish>
+ </Control>
+ <Control Id="ErrorIcon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Information icon" FixedSize="yes" IconSize="32" Text="[InfoIcon]" />
+ <Control Id="I" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Ignore]">
+ <Publish Event="EndDialog" Value="ErrorIgnore">1</Publish>
+ </Control>
+ <Control Id="N" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_No]">
+ <Publish Event="EndDialog" Value="ErrorNo">1</Publish>
+ </Control>
+ <Control Id="O" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_OK]">
+ <Publish Event="EndDialog" Value="ErrorOk">1</Publish>
+ </Control>
+ <Control Id="R" Type="PushButton" X="100" Y="80" Width="56" Height="17" TabSkip="yes" Text="[ButtonText_Retry]">
+ <Publish Event="EndDialog" Value="ErrorRetry">1</Publish>
+ </Control>
+ </Dialog>
+ <Dialog Id="FilesInUse" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" KeepModeless="yes">
+ <Control Id="Retry" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Retry]">
+ <Publish Event="EndDialog" Value="Retry">1</Publish>
+ </Control>
+ <Control Id="Ignore" Type="PushButton" X="235" Y="243" Width="56" Height="17" Text="[ButtonText_Ignore]">
+ <Publish Event="EndDialog" Value="Ignore">1</Publish>
+ </Control>
+ <Control Id="Exit" Type="PushButton" X="166" Y="243" Width="56" Height="17" Text="[ButtonText_Exit]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Text" Type="Text" X="20" Y="55" Width="330" Height="30">
+ <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>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Some files that need to be updated are currently in use.</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Files in Use</Text>
+ </Control>
+ <Control Id="List" Type="ListBox" X="20" Y="87" Width="330" Height="130" Property="FileInUseProcess" Sunken="yes" TabSkip="yes" />
+ </Dialog>
+
+ <Dialog Id="RunningProcessDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" KeepModeless="yes">
+
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="CustomizeDlg">(InstallMode = "Custom" OR InstallMode = "Change") AND &amp;feaKfwClient &lt;&gt; 3 And !feaKfwClient &lt;&gt; 3</Publish>
+ <Publish Event="NewDialog" Value="KerberosOptions">(InstallMode = "Custom" OR InstallMode = "Change") AND ( &amp;feaKfwClient = 3 Or !feaKfwClient = 3 )</Publish>
+ <Publish Event="NewDialog" Value="MaintenanceTypeDlg">InstallMode = "Repair"</Publish>
+ <Publish Event="NewDialog" Value="SetupTypeDlg">InstallMode = "Typical" OR InstallMode = "Complete"</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Text" Type="Text" X="20" Y="55" Width="330" Height="30">
+ <Text>The following applications are currently running and need to be closed in order for the installation to progress. Please close them manually or click Next to let [Wizard] close them for you.</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Some running processes need to be closed.</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Close Running Proccesses</Text>
+ </Control>
+ <Control Id="List" Type="ListBox" X="20" Y="87" Width="330" Height="130" Property="KillableProcesses" Sunken="yes" TabSkip="yes" />
+ </Dialog>
+
+
+ <Dialog Id="CCPErrorDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" KeepModeless="yes">
+
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]" Disabled="yes">
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="[ButtonText_Finish]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Disabled="yes" Text="[ButtonText_Cancel]">
+ </Control>
+
+ <Control Id="ErrorText" Type="Text" X="20" Y="70" Width="280" Height="75">
+ <Text>[ProductName] requires a newer version of iphlpapi.dll than the one that is currently installed on this computer. This file is included in Microsoft Internet Explorer version 5.01 or later. Please install this and re-run the [ProductName] installer.</Text>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>[ProgramName] requires a newer version of iphlpapi.dll</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Compliance Check Failed!</Text>
+ </Control>
+ </Dialog>
+
+ <Dialog Id="LicenseAgreementDlg" Width="370" Height="270" Title="[ProductName] License Agreement" NoMinimize="yes">
+ <Control Id="Buttons" Type="RadioButtonGroup" X="20" Y="187" Width="330" Height="40" Property="IAgree" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="WelcomeDlg">1</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="NewDialog" Value="UserRegistrationDlg">IAgree = "Yes" AND ShowUserRegistrationDlg = 1</Publish>
+ <Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
+ <Publish Event="NewDialog" Value="RemovePreviousDlg">IAgree = "Yes" AND ShowUserRegistrationDlg &lt;&gt; 1 AND (UPGRADEPISMERE OR UPGRADEKFW OR UPGRADENSIS &lt;&gt; "")</Publish>
+ <Publish Event="NewDialog" Value="SetupTypeDlg">IAgree = "Yes" AND ShowUserRegistrationDlg &lt;&gt; 1 AND NOT (UPGRADEPISMERE OR UPGRADEKFW OR UPGRADENSIS &lt;&gt; "")</Publish>
+ <Condition Action="disable">IAgree &lt;&gt; "Yes"</Condition>
+ <Condition Action="enable">IAgree = "Yes"</Condition>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="AgreementText" Type="ScrollableText" X="20" Y="60" Width="330" Height="120" Sunken="yes" TabSkip="no">
+ <Text><![CDATA[{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\froman\fprq2\fcharset0 Times New Roman;}}{\*\generator Msftedit 5.41.15.1503;}\viewkind4\uc1\pard\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\f0\fs20 Copyright Notice and Legal Administrivia\par ----------------------------------------\par \par Copyright (C) 1985-2004 by the Massachusetts Institute of Technology.\par \par All rights reserved.\par \par Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.\par \par WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and\par this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Furthermore if you modify this software you must label your software as modified software and not distribute it in such a fashion that it might be confused with the original MIT software. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.\par \par THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\par \par Individual source code files are copyright MIT, Cygnus Support, OpenVision, Oracle, Sun Soft, FundsXpress, and others.\par \par Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira, and Zephyr are trademarks of the Massachusetts Institute of Technology (MIT). No commercial use of these trademarks may be made without prior written permission of MIT.\par \par "Commercial use" means use of a name in a product or other for-profit manner. It does NOT prevent a commercial firm from referring to the MIT trademarks in order to convey information (although in doing so, recognition of their trademark status should be given).\par \par ----\par \par The following copyright and permission notice applies to the OpenVision Kerberos Administration system located in kadmin/create, kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions of lib/rpc:\par \par Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved\par \par WARNING: Retrieving the OpenVision Kerberos Administration system source code, as described below, indicates your acceptance of the following terms. If you do not agree to the following terms, do not retrieve the OpenVision Kerberos administration system.\par \par You may freely use and distribute the Source Code and Object Code compiled from it, with or without modification, but this Source Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY OTHER REASON.\par \par OpenVision retains all copyrights in the donated Source Code. OpenVision also retains copyright to derivative works of the Source Code, whether created by OpenVision or by a third party. The OpenVision copyright notice must be preserved if derivative works are made based on the donated Source Code.\par \par OpenVision Technologies, Inc. has donated this Kerberos Administration system to MIT for inclusion in the standard Kerberos 5 distribution. This donation underscores our commitment to continuing Kerberos technology development and our gratitude for the valuable work which has been performed by MIT and the Kerberos community.\par \par ----\par \par Portions contributed by Matt Crawford <crawdad@fnal.gov> were work performed at Fermi National Accelerator Laboratory, which is operated by Universities Research Association, Inc., under contract DE-AC02-76CHO3000 with the U.S. Department of Energy.\par \par ---- The implementation of the Yarrow pseudo-random number generator in src/lib/crypto/yarrow has the following copyright:\par \par Copyright 2000 by Zero-Knowledge Systems, Inc.\par \par Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Zero-Knowledge Systems, Inc. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Zero-Knowledge Systems, Inc. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.\par \par ZERO-KNOWLEDGE SYSTEMS, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ZERO-KNOWLEDGE SYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\par ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\par \par ---- The implementation of the AES encryption algorithm in src/lib/crypto/aes has the following copyright:\par \par Copyright (c) 2001, Dr Brian Gladman <brg@gladman.uk.net>, Worcester, UK.\par All rights reserved.\par \par LICENSE TERMS\par \par The free distribution and use of this software in both source and binary form is allowed (with or without changes) provided that:\par \par 1. distributions of this source code include the above copyright notice, this list of conditions and the following disclaimer;\par \par 2. distributions in binary form include the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other associated materials;\par \par 3. the copyright holder's name is not used to endorse products built using this software without specific written permission. \par \par DISCLAIMER\par \par This software is provided 'as is' with no explcit or implied warranties in respect of any properties, including, but not limited to, correctness and fitness for purpose.\par \par \par \par Acknowledgements\par ----------------\par \par Appreciation Time!!!! There are far too many people to try to thank them all; many people have contributed to the development of Kerberos V5. This is only a partial listing....\par \par Thanks to Paul Vixie and the Internet Software Consortium for funding the work of Barry Jaspan. This funding was invaluable for the OV administration server integration, as well as the 1.0 release preparation process.\par \par Thanks to John Linn, Scott Foote, and all of the folks at OpenVision Technologies, Inc., who donated their administration server for use in the MIT release of Kerberos.\par \par Thanks to Jeff Bigler, Mark Eichin, Marc Horowitz, Nancy Gilman, Ken Raeburn, and all of the folks at Cygnus Support, who provided innumerable bug fixes and portability enhancements to the Kerberos V5 tree. Thanks especially to Jeff Bigler, for the new user and system administrator's documentation.\par \par Thanks to Doug Engert from ANL for providing many bug fixes, as well as testing to ensure DCE interoperability.\par \par Thanks to Ken Hornstein at NRL for providing many bug fixes and suggestions, and for working on SAM preauthentication.\par \par Thanks to Matt Crawford at FNAL for bugfixes and enhancements.\par \par Thanks to Sean Mullan and Bill Sommerfeld from Hewlett Packard for their many suggestions and bug fixes.\par \par Thanks to Nalin Dahyabhai of RedHat and Chris Evans for locating and providing patches for numerous buffer overruns.\par \par Thanks to Christopher Thompson and Marcus Watts for discovering the ftpd security bug.\par \par Thanks to Paul Nelson of Thursby Software Systems for implementing the Microsoft set password protocol.\par \par Thanks to the members of the Kerberos V5 development team at MIT, both past and present: Danilo Almeida, Jeffrey Altman, Jay Berkenbilt, Richard Basch, Mitch Berger, John Carr, Don Davis, Alexandra Ellwood, Nancy Gilman, Matt Hancher, Sam Hartman, Paul Hill, Marc Horowitz, Eva Jacobus, Miroslav Jurisic, Barry Jaspan, Geoffrey King, John Kohl, Peter Litwack, Scott McGuire, Kevin Mitchell, Cliff Neuman, Paul Park, Ezra Peisach, Chris Provenzano, Ken Raeburn, Jon Rochlis, Jeff Schiller, Jen Selby, Brad Thompson, Harry Tsai, Ted Ts'o, Marshall Vale, Tom Yu.\par \pard\f1\fs24\par } ]]>
+ </Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Please read the following license agreement carefully</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]End-User License Agreement</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="MaintenanceTypeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="ChangeLabel" Type="Text" X="105" Y="65" Width="100" Height="10" TabSkip="no">
+ <Text>[DlgTitleFont]&amp;Modify</Text>
+ </Control>
+ <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]">
+ <Publish Property="InstallMode" Value="Change">1</Publish>
+ <Publish Property="Progress1" Value="Changing">1</Publish>
+ <Publish Property="Progress2" Value="changes">1</Publish>
+ <Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
+ </Control>
+ <Control Id="RepairLabel" Type="Text" X="105" Y="114" Width="100" Height="10" TabSkip="no">
+ <Text>[DlgTitleFont]Re&amp;pair</Text>
+ </Control>
+ <Control Id="RepairButton" Type="PushButton" X="50" Y="114" Width="38" Height="38" ToolTip="Repair Installation" Icon="yes" FixedSize="yes" IconSize="32" Text="[RepairIcon]">
+ <Publish Property="InstallMode" Value="Repair">1</Publish>
+ <Publish Property="Progress1" Value="Repairing">1</Publish>
+ <Publish Property="Progress2" Value="repaires">1</Publish>
+ <Publish Event="NewDialog" Value="VerifyRepairDlg">1</Publish>
+ </Control>
+ <Control Id="RemoveLabel" Type="Text" X="105" Y="163" Width="100" Height="10" TabSkip="no">
+ <Text>[DlgTitleFont]&amp;Remove</Text>
+ </Control>
+ <Control Id="RemoveButton" Type="PushButton" X="50" Y="163" Width="38" Height="38" ToolTip="Remove Installation" Icon="yes" FixedSize="yes" IconSize="32" Text="[RemoveIcon]">
+ <Publish Property="InstallMode" Value="Remove">1</Publish>
+ <Publish Property="Progress1" Value="Removing">1</Publish>
+ <Publish Property="Progress2" Value="removes">1</Publish>
+ <Publish Event="NewDialog" Value="VerifyRemoveDlg">1</Publish>
+ </Control>
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Next]" />
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Select the operation you wish to perform.</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="240" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Modify, Repair or Remove installation</Text>
+ </Control>
+ <Control Id="ChangeText" Type="Text" X="105" Y="78" Width="230" Height="20">
+ <Text>Allows users to change the way features are installed.</Text>
+ </Control>
+ <Control Id="RemoveText" Type="Text" X="105" Y="176" Width="230" Height="20">
+ <Text>Removes [ProductName] from your computer.</Text>
+ </Control>
+ <Control Id="RepairText" Type="Text" X="105" Y="127" Width="230" Height="30">
+ <Text>Repairs errors in the most recent installation state - fixes missing or corrupt files, shortcuts and registry entries.</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="MaintenanceWelcomeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
+ <Publish Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>The [Wizard] will allow you to change the way [ProductName] features are installed on your computer or even to remove [ProductName] from your computer. Click Next to continue or Cancel to exit the [Wizard].</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="OutOfDiskDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_OK]">
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Text" Type="Text" X="20" Y="53" Width="330" Height="40">
+ <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>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="20" Y="20" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Disk space required for the installation exceeds available disk space.</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Out of Disk Space</Text>
+ </Control>
+ <Control Id="VolumeList" Type="VolumeCostList" X="20" Y="100" Width="330" Height="120" Sunken="yes" Fixed="yes" Remote="yes">
+ <Text>{120}{70}{70}{70}{70}</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="OutOfRbDiskDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="No" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_No]">
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="Yes" Type="PushButton" X="240" Y="243" Width="56" Height="17" Text="[ButtonText_Yes]">
+ <Publish Event="EnableRollback" Value="False">1</Publish>
+ <Publish Event="EndDialog" Value="Return">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Text" Type="Text" X="20" Y="53" Width="330" Height="40">
+ <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>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="20" Y="20" Width="280" Height="20" Transparent="yes" NoPrefix="yes">
+ <Text>Disk space required for the installation exceeds available disk space.</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Out of Disk Space</Text>
+ </Control>
+ <Control Id="VolumeList" Type="VolumeCostList" X="20" Y="140" Width="330" Height="80" Sunken="yes" Fixed="yes" Remote="yes" ShowRollbackCost="yes">
+ <Text>{120}{70}{70}{70}{70}</Text>
+ </Control>
+ <Control Id="Text2" Type="Text" X="20" Y="94" Width="330" Height="40">
+ <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>
+ </Control>
+ </Dialog>
+ <Dialog Id="RemovePreviousDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Confirm" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Confirm">
+ <Publish Event="NewDialog" Value="SetupTypeDlg">1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="LicenseAgreementDlg">ShowUserRegistrationDlg &lt;&gt; 1</Publish>
+ <Publish Event="NewDialog" Value="UserRegistrationDlg">ShowUserRegistrationDlg = 1</Publish>
+ </Control>
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Other versions of [ProductName] need to be removed.</Text>
+ </Control>
+ <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="45">
+ <Text>Click Confirm to uninstall the following version of Kerberos for Windows installed on this computer. Installation of [ProductName] cannot continue unless this program is removed.</Text>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Uninstall previous versions</Text>
+ </Control>
+ <Control Id="RemoveIcon" Type="Icon" X="25" Y="130" Width="32" Height="32" IconSize="32" Text="[RemoveIcon]" />
+ <Control Id="RemoveProductPismere" Type="Text" X="60" Y="146" Width="200" Height="15" Hidden="yes" Transparent="yes" NoPrefix="yes">
+ <Text>MIT Project Pismere Kerberos for Windows : Product code [UPGRADEPISMERE]</Text>
+ <Condition Action="show">UPGRADEPISMERE</Condition>
+ </Control>
+ <Control Id="RemoveProductKfw" Type="Text" X="60" Y="146" Width="200" Height="15" Hidden="yes" Transparent="yes" NoPrefix="yes">
+ <Text>MIT Kerberos for Windows : Product code [UPGRADEKFW]</Text>
+ <Condition Action="show">UPGRADEKFW</Condition>
+ </Control>
+ <Control Id="RemoveProductKfwNSIS" Type="Text" X="60" Y="146" Width="200" Height="15" Hidden="yes" Transparent="yes" NoPrefix="yes">
+ <Text>MIT Kerberos for Windows (NSIS installer): [NSISVERSION]</Text>
+ <Condition Action="show">UPGRADENSIS &lt;&gt; ""</Condition>
+ </Control>
+ </Dialog>
+ <Dialog Id="ResumeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Install" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Install]">
+ <Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
+ <Publish Event="EndDialog" Value="Return">OutOfDiskSpace &lt;&gt; 1</Publish>
+ <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
+ <Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
+ <Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
+ <Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="30" Transparent="yes" NoPrefix="yes">
+ <Text>The [Wizard] will complete the installation of [ProductName] on your computer. Click Install to continue or Cancel to exit the [Wizard].</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}Resuming the [ProductName] [Wizard]</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="SetupTypeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="TypicalLabel" Type="Text" X="105" Y="65" Width="100" Height="10" TabSkip="no">
+ <Text>[DlgTitleFont]&amp;Typical</Text>
+ </Control>
+ <Control Id="TypicalButton" Type="PushButton" X="50" Y="65" Width="38" Height="38" ToolTip="Typical Installation" Default="yes" Icon="yes" FixedSize="yes" IconSize="32" Text="[InstallerIcon]">
+ <Publish Property="InstallMode" Value="Typical">1</Publish>
+ <Publish Event="SetInstallLevel" Value="50">1</Publish>
+ <Publish Event="NewDialog" Value="VerifyReadyDlg">Not FoundProcesses</Publish>
+ <Publish Event="NewDialog" Value="RunningProcessDlg">FoundProcesses</Publish>
+ </Control>
+ <Control Id="CustomLabel" Type="Text" X="105" Y="118" Width="100" Height="10" TabSkip="no">
+ <Text>[DlgTitleFont]C&amp;ustom</Text>
+ </Control>
+ <Control Id="CustomButton" Type="PushButton" X="50" Y="118" Width="38" Height="38" ToolTip="Custom Installation" Icon="yes" FixedSize="yes" IconSize="32" Text="[CustomSetupIcon]">
+ <Publish Property="InstallMode" Value="Custom">1</Publish>
+ <Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
+ </Control>
+ <Control Id="CompleteLabel" Type="Text" X="105" Y="171" Width="100" Height="10" TabSkip="no">
+ <Text>[DlgTitleFont]C&amp;omplete</Text>
+ </Control>
+ <Control Id="CompleteButton" Type="PushButton" X="50" Y="171" Width="38" Height="38" ToolTip="Complete Installation" Icon="yes" FixedSize="yes" IconSize="32" Text="[CompleteSetupIcon]">
+ <Publish Property="InstallMode" Value="Complete">1</Publish>
+ <Publish Event="SetInstallLevel" Value="1000">1</Publish>
+ <Publish Event="NewDialog" Value="VerifyReadyDlg">Not FoundProcesses</Publish>
+ <Publish Event="NewDialog" Value="RunningProcessDlg">FoundProcesses</Publish>
+ </Control>
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="LicenseAgreementDlg">ShowUserRegistrationDlg &lt;&gt; 1 AND NOT (UPGRADEPISMERE OR UPGRADEKFW)</Publish>
+ <Publish Event="NewDialog" Value="UserRegistrationDlg">ShowUserRegistrationDlg = 1 AND NOT (UPGRADEPISMERE OR UPGRADEKFW)</Publish>
+ <Publish Event="NewDialog" Value="RemovePreviousDlg">UPGRADEPISMERE OR UPGRADEKFW OR UPGRADENSIS &lt;&gt; ""</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Next]" />
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Choose the setup type that best suits your needs</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Choose Setup Type</Text>
+ </Control>
+ <Control Id="CompleteText" Type="Text" X="105" Y="184" Width="230" Height="20">
+ <Text>All program features will be installed. (Requires most disk space)</Text>
+ </Control>
+ <Control Id="CustomText" Type="Text" X="105" Y="131" Width="230" Height="30">
+ <Text>Allows users to choose which program features will be installed and where they will be installed. Recommended for advanced users.</Text>
+ </Control>
+ <Control Id="TypicalText" Type="Text" X="105" Y="78" Width="230" Height="20">
+ <Text>Installs the most common program features. Recommended for most users.</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="UserRegistrationDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="NameLabel" Type="Text" X="45" Y="73" Width="100" Height="15" TabSkip="no" Text="&amp;User Name:" />
+ <Control Id="NameEdit" Type="Edit" X="45" Y="85" Width="220" Height="18" Property="USERNAME" Text="{80}" />
+ <Control Id="OrganizationLabel" Type="Text" X="45" Y="110" Width="100" Height="15" TabSkip="no" Text="&amp;Organization:" />
+ <Control Id="OrganizationEdit" Type="Edit" X="45" Y="122" Width="220" Height="18" Property="COMPANYNAME" Text="{80}" />
+ <Control Id="CDKeyLabel" Type="Text" X="45" Y="147" Width="50" Height="10" TabSkip="no">
+ <Text>CD &amp;Key:</Text>
+ </Control>
+ <Control Id="CDKeyEdit" Type="MaskedEdit" X="45" Y="159" Width="250" Height="16" Property="PIDKEY" Text="[PIDTemplate]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="ValidateProductID" Value="0">0</Publish>
+ <Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
+ <Publish Event="NewDialog" Value="SetupTypeDlg">ProductID</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Please enter your customer information</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Customer Information</Text>
+ </Control>
+ </Dialog>
+
+ <Dialog Id="KerberosOptions" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+
+ <Control Id="txtLeash" Type="Text" X="25" Y="55" Width="280" Height="30">
+ <Text>The Leash ticket manager maybe installed with the following optional functionality. Please check those items that you wish to activate.</Text>
+ </Control>
+
+ <Control Id="koAutoStartText" Type="CheckBox" X="25" Y="95" Width="280" Height="30" CheckBoxValue="1" Property="LEASHAUTOSTART" >
+ <Text>Autostart the Leash ticket manager each time you login to Windows</Text>
+ </Control>
+
+ <Control Id="koAutoInitText" Type="CheckBox" X="25" Y="130" Width="280" Height="30" CheckBoxValue="-autoinit" Property="LEASHAUTOINIT" >
+ <Text>Ensure that the Kerberos tickets are available throughout the Windows login session</Text>
+ </Control>
+
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
+ </Control>
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="NewDialog" Value="VerifyReadyDlg">Not FoundProcesses</Publish>
+ <Publish Event="NewDialog" Value="RunningProcessDlg">FoundProcesses</Publish>
+ <Publish Event="AddLocal" Value="feaKfwLeashStartup">LEASHAUTOSTART = 1</Publish>
+ <Publish Event="Remove" Value="feaKfwLeashStartup">LEASHAUTOSTART &lt;&gt; 1</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>Leash startup options</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Kerberos Options</Text>
+ </Control>
+ </Dialog>
+
+ <Dialog Id="VerifyReadyDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">
+ <Control Id="Install" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Install]">
+ <Publish Event="EndDialog" Value="Return">OutOfDiskSpace &lt;&gt; 1</Publish>
+ <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
+ <Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
+ <Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
+ <Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="AdminInstallPointDlg">InstallMode = "Server Image"</Publish>
+ <Publish Event="NewDialog" Value="CustomizeDlg">(InstallMode = "Custom" OR InstallMode = "Change") AND &amp;feaKfwClient &lt;&gt; 3 And !feaKfwClient &lt;&gt; 3</Publish>
+ <Publish Event="NewDialog" Value="KerberosOptions">(InstallMode = "Custom" OR InstallMode = "Change") AND ( &amp;feaKfwClient = 3 Or !feaKfwClient = 3 )</Publish>
+ <Publish Event="NewDialog" Value="MaintenanceTypeDlg">InstallMode = "Repair"</Publish>
+ <Publish Event="NewDialog" Value="SetupTypeDlg">InstallMode = "Typical" OR InstallMode = "Complete"</Publish>
+ </Control>
+ <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="20">
+ <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>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>The [Wizard] is ready to begin the [InstallMode] installation</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Ready to Install</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="VerifyRemoveDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
+ </Control>
+ <Control Id="Remove" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="[ButtonText_Remove]">
+ <Publish Event="Remove" Value="All">OutOfDiskSpace &lt;&gt; 1</Publish>
+ <Publish Event="EndDialog" Value="Return">OutOfDiskSpace &lt;&gt; 1</Publish>
+ <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
+ <Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
+ <Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
+ <Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="30">
+ <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>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>You have chosen to remove the program from your computer.</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Remove Kerberos for Windows</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="VerifyRepairDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">
+ <Control Id="Repair" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Repair]">
+ <Publish Event="ReinstallMode" Value="ecmus">OutOfDiskSpace &lt;&gt; 1</Publish>
+ <Publish Event="Reinstall" Value="All">OutOfDiskSpace &lt;&gt; 1</Publish>
+ <Publish Event="EndDialog" Value="Return">OutOfDiskSpace &lt;&gt; 1</Publish>
+ <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
+ <Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
+ <Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
+ <Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" TabSkip="no" Text="[BannerBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+ <Publish Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
+ </Control>
+ <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="30">
+ <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>
+ </Control>
+ <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>The [Wizard] is ready to begin the repair of [ProductName].</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+ <Text>[DlgTitleFont]Repair Kerberos for Windows</Text>
+ </Control>
+ </Dialog>
+ <Dialog Id="WaitForCostingDlg" Y="10" Width="260" Height="85" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Return" Type="PushButton" X="102" Y="57" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Return]">
+ <Publish Event="EndDialog" Value="Exit">1</Publish>
+ </Control>
+ <Control Id="Text" Type="Text" X="48" Y="15" Width="194" Height="30">
+ <Text>Please wait while the installer finishes determining your disk space requirements.</Text>
+ </Control>
+ <Control Id="Icon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Exclamation icon" FixedSize="yes" IconSize="32" Text="[ExclamationIcon]" />
+ </Dialog>
+ <Dialog Id="WelcomeDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+ <Publish Event="NewDialog" Value="LicenseAgreementDlg">(Installed) Or (CCP_Success = 1)</Publish>
+ <Publish Event="NewDialog" Value="CCPErrorDlg">(Not Installed) And (CCP_Success &lt;&gt; 1)</Publish>
+ </Control>
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+ <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="30" Transparent="yes" NoPrefix="yes">
+ <Text>The [Wizard] will install [ProductName] on your computer. Click Next to continue or Cancel to exit the [Wizard].</Text>
+ </Control>
+ <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
+ <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>
+ </Control>
+ </Dialog>
+ <RadioGroup Property="IAgree">
+ <RadioButton Text="{\DlgFont8}I &amp;accept the terms in the License Agreement" X="5" Y="0" Width="250" Height="15">Yes</RadioButton>
+ <RadioButton Text="{\DlgFont8}I &amp;do not accept the terms in the License Agreement" X="5" Y="20" Width="250" Height="15">No</RadioButton>
+ </RadioGroup>
+ <TextStyle Id="DlgFont8" FaceName="Tahoma" Size="8" />
+ <TextStyle Id="DlgFontBold8" FaceName="Tahoma" Size="8" Bold="yes" />
+ <TextStyle Id="VerdanaBold13" FaceName="Verdana" Size="13" Bold="yes" />
+ <UIText Id="AbsentPath" />
+ <UIText Id="bytes">bytes</UIText>
+ <UIText Id="GB">GB</UIText>
+ <UIText Id="KB">KB</UIText>
+ <UIText Id="MB">MB</UIText>
+ <UIText Id="MenuAbsent">Entire feature will be unavailable</UIText>
+ <UIText Id="MenuAdvertise">Feature will be installed when required</UIText>
+ <UIText Id="MenuAllCD">Entire feature will be installed to run from CD</UIText>
+ <UIText Id="MenuAllLocal">Entire feature will be installed on local hard drive</UIText>
+ <UIText Id="MenuAllNetwork">Entire feature will be installed to run from network</UIText>
+ <UIText Id="MenuCD">Will be installed to run from CD</UIText>
+ <UIText Id="MenuLocal">Will be installed on local hard drive</UIText>
+ <UIText Id="MenuNetwork">Will be installed to run from network</UIText>
+ <UIText Id="ScriptInProgress">Gathering required information...</UIText>
+ <UIText Id="SelAbsentAbsent">This feature will remain uninstalled</UIText>
+ <UIText Id="SelAbsentAdvertise">This feature will be set to be installed when required</UIText>
+ <UIText Id="SelAbsentCD">This feature will be installed to run from CD</UIText>
+ <UIText Id="SelAbsentLocal">This feature will be installed on the local hard drive</UIText>
+ <UIText Id="SelAbsentNetwork">This feature will be installed to run from the network</UIText>
+ <UIText Id="SelAdvertiseAbsent">This feature will become unavailable</UIText>
+ <UIText Id="SelAdvertiseAdvertise">Will be installed when required</UIText>
+ <UIText Id="SelAdvertiseCD">This feature will be available to run from CD</UIText>
+ <UIText Id="SelAdvertiseLocal">This feature will be installed on your local hard drive</UIText>
+ <UIText Id="SelAdvertiseNetwork">This feature will be available to run from the network</UIText>
+ <UIText Id="SelCDAbsent">This feature will be uninstalled completely, you won't be able to run it from CD</UIText>
+ <UIText Id="SelCDAdvertise">This feature will change from run from CD state to set to be installed when required</UIText>
+ <UIText Id="SelCDCD">This feature will remain to be run from CD</UIText>
+ <UIText Id="SelCDLocal">This feature will change from run from CD state to be installed on the local hard drive</UIText>
+ <UIText Id="SelChildCostNeg">This feature frees up [1] on your hard drive.</UIText>
+ <UIText Id="SelChildCostPos">This feature requires [1] on your hard drive.</UIText>
+ <UIText Id="SelCostPending">Compiling cost for this feature...</UIText>
+ <UIText Id="SelLocalAbsent">This feature will be completely removed</UIText>
+ <UIText Id="SelLocalAdvertise">This feature will be removed from your local hard drive, but will be set to be installed when required</UIText>
+ <UIText Id="SelLocalCD">This feature will be removed from your local hard drive, but will be still available to run from CD</UIText>
+ <UIText Id="SelLocalLocal">This feature will remain on you local hard drive</UIText>
+ <UIText Id="SelLocalNetwork">This feature will be removed from your local hard drive, but will be still available to run from the network</UIText>
+ <UIText Id="SelNetworkAbsent">This feature will be uninstalled completely, you won't be able to run it from the network</UIText>
+ <UIText Id="SelNetworkAdvertise">This feature will change from run from network state to set to be installed when required</UIText>
+ <UIText Id="SelNetworkLocal">This feature will change from run from network state to be installed on the local hard drive</UIText>
+ <UIText Id="SelNetworkNetwork">This feature will remain to be run from the network</UIText>
+ <UIText Id="SelParentCostNegNeg">This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.</UIText>
+ <UIText Id="SelParentCostNegPos">This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.</UIText>
+ <UIText Id="SelParentCostPosNeg">This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.</UIText>
+ <UIText Id="SelParentCostPosPos">This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.</UIText>
+ <UIText Id="TimeRemaining">Time remaining: {[1] minutes }{[2] seconds}</UIText>
+ <UIText Id="VolumeCostAvailable">Available</UIText>
+ <UIText Id="VolumeCostDifference">Difference</UIText>
+ <UIText Id="VolumeCostRequired">Required</UIText>
+ <UIText Id="VolumeCostSize">Disk Size</UIText>
+ <UIText Id="VolumeCostVolume">Volume</UIText>
+ <ProgressText Action="InstallValidate">Validating install</ProgressText>
+ <ProgressText Action="InstallFiles" Template="File: [1], Directory: [9], Size: [6]">Copying new files</ProgressText>
+ <ProgressText Action="InstallAdminPackage" Template="File: [1], Directory: [9], Size: [6]">Copying network install files</ProgressText>
+ <ProgressText Action="FileCost">Computing space requirements</ProgressText>
+ <ProgressText Action="CostInitialize">Computing space requirements</ProgressText>
+ <ProgressText Action="CostFinalize">Computing space requirements</ProgressText>
+ <ProgressText Action="CreateShortcuts" Template="Shortcut: [1]">Creating shortcuts</ProgressText>
+ <ProgressText Action="PublishComponents" Template="Component ID: [1], Qualifier: [2]">Publishing Qualified Components</ProgressText>
+ <ProgressText Action="PublishFeatures" Template="Feature: [1]">Publishing Product Features</ProgressText>
+ <ProgressText Action="PublishProduct">Publishing product information</ProgressText>
+ <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Registering Class servers</ProgressText>
+ <ProgressText Action="RegisterExtensionInfo" Template="Extension: [1]">Registering extension servers</ProgressText>
+ <ProgressText Action="RegisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">Registering MIME info</ProgressText>
+ <ProgressText Action="RegisterProgIdInfo" Template="ProgId: [1]">Registering program identifiers</ProgressText>
+ <ProgressText Action="AllocateRegistrySpace" Template="Free space: [1]">Allocating registry space</ProgressText>
+ <ProgressText Action="AppSearch" Template="Property: [1], Signature: [2]">Searching for installed applications</ProgressText>
+ <ProgressText Action="BindImage" Template="File: [1]">Binding executables</ProgressText>
+ <ProgressText Action="CCPSearch">Searching for qualifying products</ProgressText>
+ <ProgressText Action="CreateFolders" Template="Folder: [1]">Creating folders</ProgressText>
+ <ProgressText Action="DeleteServices" Template="Service: [1]">Deleting services</ProgressText>
+ <ProgressText Action="DuplicateFiles" Template="File: [1], Directory: [9], Size: [6]">Creating duplicate files</ProgressText>
+ <ProgressText Action="FindRelatedProducts" Template="Found application: [1]">Searching for related applications</ProgressText>
+ <ProgressText Action="InstallODBC">Installing ODBC components</ProgressText>
+ <ProgressText Action="InstallServices" Template="Service: [2]">Installing new services</ProgressText>
+ <ProgressText Action="LaunchConditions">Evaluating launch conditions</ProgressText>
+ <ProgressText Action="MigrateFeatureStates" Template="Application: [1]">Migrating feature states from related applications</ProgressText>
+ <ProgressText Action="MoveFiles" Template="File: [1], Directory: [9], Size: [6]">Moving files</ProgressText>
+ <ProgressText Action="PatchFiles" Template="File: [1], Directory: [2], Size: [3]">Patching files</ProgressText>
+ <ProgressText Action="ProcessComponents">Updating component registration</ProgressText>
+ <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">Registering COM+ Applications and Components</ProgressText>
+ <ProgressText Action="RegisterFonts" Template="Font: [1]">Registering fonts</ProgressText>
+ <ProgressText Action="RegisterProduct" Template="[1]">Registering product</ProgressText>
+ <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">Registering type libraries</ProgressText>
+ <ProgressText Action="RegisterUser" Template="[1]">Registering user</ProgressText>
+ <ProgressText Action="RemoveDuplicateFiles" Template="File: [1], Directory: [9]">Removing duplicated files</ProgressText>
+ <ProgressText Action="RemoveEnvironmentStrings" Template="Name: [1], Value: [2], Action [3]">Updating environment strings</ProgressText>
+ <ProgressText Action="RemoveExistingProducts" Template="Application: [1], Command line: [2]">Removing applications</ProgressText>
+ <ProgressText Action="RemoveFiles" Template="File: [1], Directory: [9]">Removing files</ProgressText>
+ <ProgressText Action="RemoveFolders" Template="Folder: [1]">Removing folders</ProgressText>
+ <ProgressText Action="RemoveIniValues" Template="File: [1], Section: [2], Key: [3], Value: [4]">Removing INI files entries</ProgressText>
+ <ProgressText Action="RemoveODBC">Removing ODBC components</ProgressText>
+ <ProgressText Action="RemoveRegistryValues" Template="Key: [1], Name: [2]">Removing system registry values</ProgressText>
+ <ProgressText Action="RemoveShortcuts" Template="Shortcut: [1]">Removing shortcuts</ProgressText>
+ <ProgressText Action="RMCCPSearch">Searching for qualifying products</ProgressText>
+ <ProgressText Action="SelfRegModules" Template="File: [1], Folder: [2]">Registering modules</ProgressText>
+ <ProgressText Action="SelfUnregModules" Template="File: [1], Folder: [2]">Unregistering modules</ProgressText>
+ <ProgressText Action="SetODBCFolders">Initializing ODBC directories</ProgressText>
+ <ProgressText Action="StartServices" Template="Service: [1]">Starting services</ProgressText>
+ <ProgressText Action="StopServices" Template="Service: [1]">Stopping services</ProgressText>
+ <ProgressText Action="UnpublishComponents" Template="Component ID: [1], Qualifier: [2]">Unpublishing Qualified Components</ProgressText>
+ <ProgressText Action="UnpublishFeatures" Template="Feature: [1]">Unpublishing Product Features</ProgressText>
+ <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Unregister Class servers</ProgressText>
+ <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">Unregistering COM+ Applications and Components</ProgressText>
+ <ProgressText Action="UnregisterExtensionInfo" Template="Extension: [1]">Unregistering extension servers</ProgressText>
+ <ProgressText Action="UnregisterFonts" Template="Font: [1]">Unregistering fonts</ProgressText>
+ <ProgressText Action="UnregisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">Unregistering MIME info</ProgressText>
+ <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">Unregistering program identifiers</ProgressText>
+ <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Unregistering type libraries</ProgressText>
+ <ProgressText Action="WriteEnvironmentStrings" Template="Name: [1], Value: [2], Action [3]">Updating environment strings</ProgressText>
+ <ProgressText Action="WriteIniValues" Template="File: [1], Section: [2], Key: [3], Value: [4]">Writing INI files values</ProgressText>
+ <ProgressText Action="WriteRegistryValues" Template="Key: [1], Name: [2], Value: [3]">Writing system registry values</ProgressText>
+ <ProgressText Action="Advertise">Advertising application</ProgressText>
+ <ProgressText Action="GenerateScript" Template="[1]">Generating script operations for action:</ProgressText>
+ <ProgressText Action="InstallSFPCatalogFile" Template="File: [1], Dependencies: [2]">Installing system catalog</ProgressText>
+ <ProgressText Action="MsiPublishAssemblies" Template="Application Context:[1], Assembly Name:[2]">Publishing assembly information</ProgressText>
+ <ProgressText Action="MsiUnpublishAssemblies" Template="Application Context:[1], Assembly Name:[2]">Unpublishing assembly information</ProgressText>
+ <ProgressText Action="Rollback" Template="[1]">Rolling back action:</ProgressText>
+ <ProgressText Action="RollbackCleanup" Template="File: [1]">Removing backup files</ProgressText>
+ <ProgressText Action="UnmoveFiles" Template="File: [1], Directory: [9]">Removing moved files</ProgressText>
+ <ProgressText Action="UnpublishProduct">Unpublishing product information</ProgressText>
+ <Error Id="0">{{Fatal error: }}</Error>
+ <Error Id="1">{{Error [1]. }}</Error>
+ <Error Id="2">Warning [1]. </Error>
+ <Error Id="3" />
+ <Error Id="4">Info [1]. </Error>
+ <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>
+ <Error Id="6" />
+ <Error Id="7">{{Disk full: }}</Error>
+ <Error Id="8">Action [Time]: [1]. [2]</Error>
+ <Error Id="9">[ProductName]</Error>
+ <Error Id="10">{[2]}{, [3]}{, [4]}</Error>
+ <Error Id="11">Message type: [1], Argument: [2]</Error>
+ <Error Id="12">=== Logging started: [Date] [Time] ===</Error>
+ <Error Id="13">=== Logging stopped: [Date] [Time] ===</Error>
+ <Error Id="14">Action start [Time]: [1].</Error>
+ <Error Id="15">Action ended [Time]: [1]. Return value [2].</Error>
+ <Error Id="16">Time remaining: {[1] minutes }{[2] seconds}</Error>
+ <Error Id="17">Out of memory. Shut down other applications before retrying.</Error>
+ <Error Id="18">Installer is no longer responding.</Error>
+ <Error Id="19">Installer stopped prematurely.</Error>
+ <Error Id="20">Please wait while Windows configures [ProductName]</Error>
+ <Error Id="21">Gathering required information...</Error>
+ <Error Id="22">Removing older versions of this application...</Error>
+ <Error Id="23">Preparing to remove older versions of this application...</Error>
+ <Error Id="32">{[ProductName] }Setup completed successfully.</Error>
+ <Error Id="33">{[ProductName] }Setup failed.</Error>
+ <Error Id="1101">Error reading from file: [2]. {{ System error [3].}} Verify that the file exists and that you can access it.</Error>
+ <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>
+ <Error Id="1302">Please insert the disk: [2]</Error>
+ <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>
+ <Error Id="1304">Error writing to file: [2]. Verify that you have access to that directory.</Error>
+ <Error Id="1305">Error reading from file [2]. {{ System error [3].}} Verify that the file exists and that you can access it.</Error>
+ <Error Id="1306">Another application has exclusive access to the file '[2]'. Please shut down all other applications, then click Retry.</Error>
+ <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>
+ <Error Id="1308">Source file not found: [2]. Verify that the file exists and that you can access it.</Error>
+ <Error Id="1309">Error reading from file: [3]. {{ System error [2].}} Verify that the file exists and that you can access it.</Error>
+ <Error Id="1310">Error writing to file: [3]. {{ System error [2].}} Verify that you have access to that directory.</Error>
+ <Error Id="1311">Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it.</Error>
+ <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>
+ <Error Id="1313">The volume [2] is currently unavailable. Please select another.</Error>
+ <Error Id="1314">The specified path '[2]' is unavailable.</Error>
+ <Error Id="1315">Unable to write to the specified folder: [2].</Error>
+ <Error Id="1316">A network error occurred while attempting to read from the file: [2]</Error>
+ <Error Id="1317">An error occurred while attempting to create the directory: [2]</Error>
+ <Error Id="1318">A network error occurred while attempting to create the directory: [2]</Error>
+ <Error Id="1319">A network error occurred while attempting to open the source file cabinet: [2]</Error>
+ <Error Id="1320">The specified path is too long: [2]</Error>
+ <Error Id="1321">The Installer has insufficient privileges to modify this file: [2].</Error>
+ <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>
+ <Error Id="1323">The folder path '[2]' contains words that are not valid in folder paths.</Error>
+ <Error Id="1324">The folder path '[2]' contains an invalid character.</Error>
+ <Error Id="1325">'[2]' is not a valid short file name.</Error>
+ <Error Id="1326">Error getting file security: [3] GetLastError: [2]</Error>
+ <Error Id="1327">Invalid Drive: [2]</Error>
+ <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>
+ <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>
+ <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>
+ <Error Id="1331">Failed to correctly copy [2] file: CRC error.</Error>
+ <Error Id="1332">Failed to correctly move [2] file: CRC error.</Error>
+ <Error Id="1333">Failed to correctly patch [2] file: CRC error.</Error>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <Error Id="1500">Another installation is in progress. You must complete that installation before continuing this one.</Error>
+ <Error Id="1501">Error accessing secured data. Please make sure the Windows Installer is configured properly and try the install again.</Error>
+ <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>
+ <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>
+ <Error Id="1601">Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB. Free some disk space and retry.</Error>
+ <Error Id="1602">Are you sure you want to cancel?</Error>
+ <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>
+ <Error Id="1604">The product '[2]' is already installed, preventing the installation of this product. The two products are incompatible.</Error>
+ <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>
+ <Error Id="1606">Could not access network location [2].</Error>
+ <Error Id="1607">The following applications should be closed before continuing the install:</Error>
+ <Error Id="1608">Could not find any previously installed compliant products on the machine for installing this product.</Error>
+ <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>
+ <Error Id="1701">The key [2] is not valid. Verify that you entered the correct key.</Error>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <Error Id="1707">Installation completed successfully.</Error>
+ <Error Id="1708">Installation failed.</Error>
+ <Error Id="1709">Product: [2] -- [3]</Error>
+ <Error Id="1710">You may either restore your computer to its previous state or continue the install later. Would you like to restore?</Error>
+ <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>
+ <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>
+ <Error Id="1713">[2] cannot install one of its required products. Contact your technical support group. {{System Error: [3].}}</Error>
+ <Error Id="1714">The older version of [2] cannot be removed. Contact your technical support group. {{System Error [3].}}</Error>
+ <Error Id="1715">Installed [2]</Error>
+ <Error Id="1716">Configured [2]</Error>
+ <Error Id="1717">Removed [2]</Error>
+ <Error Id="1718">File [2] was rejected by digital signature policy.</Error>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <Error Id="1724">Removal completed successfully.</Error>
+ <Error Id="1725">Removal failed.</Error>
+ <Error Id="1726">Advertisement completed successfully.</Error>
+ <Error Id="1727">Advertisement failed.</Error>
+ <Error Id="1728">Configuration completed successfully.</Error>
+ <Error Id="1729">Configuration failed.</Error>
+ <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>
+ <Error Id="1801">The path [2] is not valid. Please specify a valid path.</Error>
+ <Error Id="1802">Out of memory. Shut down other applications before retrying.</Error>
+ <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>
+ <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>
+ <Error Id="1805">The folder [2] does not exist. Please enter a path to an existing folder.</Error>
+ <Error Id="1806">You have insufficient privileges to read this folder.</Error>
+ <Error Id="1807">A valid destination folder for the install could not be determined.</Error>
+ <Error Id="1901">Error attempting to read from the source install database: [2].</Error>
+ <Error Id="1902">Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.</Error>
+ <Error Id="1903">Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.</Error>
+ <Error Id="1904">Module [2] failed to register. HRESULT [3]. Contact your support personnel.</Error>
+ <Error Id="1905">Module [2] failed to unregister. HRESULT [3]. Contact your support personnel.</Error>
+ <Error Id="1906">Failed to cache package [2]. Error: [3]. Contact your support personnel.</Error>
+ <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>
+ <Error Id="1908">Could not unregister font [2]. Verify that you that you have sufficient permissions to remove fonts.</Error>
+ <Error Id="1909">Could not create Shortcut [2]. Verify that the destination folder exists and that you can access it.</Error>
+ <Error Id="1910">Could not remove Shortcut [2]. Verify that the shortcut file exists and that you can access it.</Error>
+ <Error Id="1911">Could not register type library for file [2]. Contact your support personnel.</Error>
+ <Error Id="1912">Could not unregister type library for file [2]. Contact your support personnel.</Error>
+ <Error Id="1913">Could not update the ini file [2][3]. Verify that the file exists and that you can access it.</Error>
+ <Error Id="1914">Could not schedule file [2] to replace file [3] on reboot. Verify that you have write permissions to file [3].</Error>
+ <Error Id="1915">Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.</Error>
+ <Error Id="1916">Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.</Error>
+ <Error Id="1917">Error removing ODBC driver: [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.</Error>
+ <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>
+ <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>
+ <Error Id="1920">Service '[2]' ([3]) failed to start. Verify that you have sufficient privileges to start system services.</Error>
+ <Error Id="1921">Service '[2]' ([3]) could not be stopped. Verify that you have sufficient privileges to stop system services.</Error>
+ <Error Id="1922">Service '[2]' ([3]) could not be deleted. Verify that you have sufficient privileges to remove system services.</Error>
+ <Error Id="1923">Service '[2]' ([3]) could not be installed. Verify that you have sufficient privileges to install system services.</Error>
+ <Error Id="1924">Could not update environment variable '[2]'. Verify that you have sufficient privileges to modify environment variables.</Error>
+ <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>
+ <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>
+ <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>
+ <Error Id="1928">Error registering COM+ Application. Contact your support personnel for more information.</Error>
+ <Error Id="1929">Error unregistering COM+ Application. Contact your support personnel for more information.</Error>
+ <Error Id="1930">The description for service '[2]' ([3]) could not be changed.</Error>
+ <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>
+ <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>
+ <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>
+ <Error Id="1934">User installations are disabled via policy on the machine.</Error>
+ <Error Id="1935">An error occured during the installation of assembly component [2]. HRESULT: [3]. {{assembly interface: [4], function: [5], assembly name: [6]}}</Error>
+
+ <Error Id="4001">Custom action data not found. STATUS [2]</Error>
+ <Error Id="4003">NSIS Uninstallation failed. Status [2]</Error>
+ <Error Id="4004">ABORT: [2]</Error>
+ <Error Id="4005">Custom action failed. Phase [2]</Error>
+ <Error Id="4006">Failed to determine running processes. Status [2]</Error>
+ <AdminUISequence>
+ <Show Dialog="FatalError" OnExit="error" />
+ <Show Dialog="UserExit" OnExit="cancel" />
+ <Show Dialog="ExitDialog" OnExit="success" />
+ <Show Dialog="PrepareDlg" Before="CostInitialize" />
+ <Show Dialog="AdminWelcomeDlg" After="CostFinalize" />
+ <Show Dialog="ProgressDlg" After="AdminWelcomeDlg" />
+ </AdminUISequence>
+ <InstallUISequence>
+ <Custom Action="ListRunningProcesses" Before="WelcomeDlg" />
+ <Show Dialog="FatalError" OnExit="error" />
+ <Show Dialog="UserExit" OnExit="cancel" />
+ <Show Dialog="ExitDialog" OnExit="success" />
+ <Show Dialog="PrepareDlg" After="LaunchConditions" />
+ <Show Dialog="WelcomeDlg" After="MigrateFeatureStates">NOT Installed</Show>
+ <Show Dialog="ResumeDlg" After="WelcomeDlg">Installed AND (RESUME OR Preselected)</Show>
+ <Show Dialog="MaintenanceWelcomeDlg" After="ResumeDlg">Installed AND NOT RESUME AND NOT Preselected</Show>
+ <Show Dialog="ProgressDlg" After="MaintenanceWelcomeDlg" />
+ </InstallUISequence>
+ </UI>
+ <Property Id="ErrorDialog"><![CDATA[ErrorDlg]]></Property>
+ <Property Id="DefaultUIFont"><![CDATA[DlgFont8]]></Property>
+ <Property Id="ButtonText_No"><![CDATA[&No]]></Property>
+ <Property Id="ButtonText_Install"><![CDATA[&Install]]></Property>
+ <Property Id="ButtonText_Next"><![CDATA[&Next >]]></Property>
+ <Property Id="Setup"><![CDATA[Setup]]></Property>
+ <Property Id="ButtonText_Browse"><![CDATA[Br&owse]]></Property>
+ <Property Id="CustomSetupIcon"><![CDATA[custicon]]></Property>
+ <Property Id="RepairIcon"><![CDATA[repairic]]></Property>
+ <Property Id="ExclamationIcon"><![CDATA[exclamic]]></Property>
+ <Property Id="ButtonText_Repair"><![CDATA[&Repair]]></Property>
+ <Property Id="ButtonText_Back"><![CDATA[< &Back]]></Property>
+ <Property Id="InstallMode"><![CDATA[Typical]]></Property>
+ <Property Id="Progress2"><![CDATA[installs]]></Property>
+ <Property Id="Progress1"><![CDATA[Installing]]></Property>
+ <Property Id="Wizard"><![CDATA[Setup Wizard]]></Property>
+ <Property Id="RemoveIcon"><![CDATA[removico]]></Property>
+ <Property Id="ButtonText_Yes"><![CDATA[&Yes]]></Property>
+ <Property Id="ButtonText_Ignore"><![CDATA[&Ignore]]></Property>
+ <Property Id="ButtonText_Reset"><![CDATA[&Reset]]></Property>
+ <Property Id="ButtonText_Refresh"><![CDATA[&Refresh]]></Property>
+ <Property Id="ButtonText_Remove"><![CDATA[&Remove]]></Property>
+ <Property Id="ShowUserRegistrationDlg"><![CDATA[0]]></Property>
+ <Property Id="ButtonText_Exit"><![CDATA[&Exit]]></Property>
+ <Property Id="ButtonText_Return"><![CDATA[&Return]]></Property>
+ <Property Id="ButtonText_OK"><![CDATA[OK]]></Property>
+ <Property Id="CompleteSetupIcon"><![CDATA[completi]]></Property>
+ <Property Id="ButtonText_Resume"><![CDATA[&Resume]]></Property>
+ <Property Id="ButtonText_Close"><![CDATA[&Close]]></Property>
+ <Property Id="InstallerIcon"><![CDATA[insticon]]></Property>
+ <Property Id="ButtonText_Finish"><![CDATA[&Finish]]></Property>
+ <Property Id="PROMPTROLLBACKCOST"><![CDATA[P]]></Property>
+ <Property Id="PIDTemplate"><![CDATA[12345<###-%%%%%%%>@@@@@]]></Property>
+ <Property Id="DlgTitleFont"><![CDATA[{&DlgFontBold8}]]></Property>
+ <Property Id="ButtonText_Cancel"><![CDATA[Cancel]]></Property>
+ <Property Id="InfoIcon"><![CDATA[info]]></Property>
+ <Property Id="ButtonText_Retry"><![CDATA[&Retry]]></Property>
+ <Property Id="IAgree"><![CDATA[No]]></Property>
+ <Property Id="BannerBitmap"><![CDATA[bannrbmp]]></Property>
+ <Property Id="DialogBitmap"><![CDATA[dlgbmp]]></Property>
+ <Binary Id="bannrbmp" src="Binary\bannrbmp.bmp" />
+ <Binary Id="completi" src="Binary\completi.ico" />
+ <Binary Id="custicon" src="Binary\custicon.ico" />
+ <Binary Id="dlgbmp" src="Binary\dlgbmp.bmp" />
+ <Binary Id="exclamic" src="Binary\exclamic.ico" />
+ <Binary Id="info" src="Binary\info.bmp" />
+ <Binary Id="insticon" src="Binary\insticon.ico" />
+ <Binary Id="New" src="Binary\New.bmp" />
+ <Binary Id="removico" src="Binary\removico.ico" />
+ <Binary Id="repairic" src="Binary\repairic.ico" />
+ <Binary Id="Up" src="Binary\up.bmp" />
+</Include> \ No newline at end of file
diff --git a/src/windows/installer/wix/property.wxi b/src/windows/installer/wix/property.wxi
new file mode 100644
index 0000000000..52a5cf4c00
--- /dev/null
+++ b/src/windows/installer/wix/property.wxi
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Copyright (C) 2004 by the Massachusetts Institute of Technology.
+ All rights reserved.
+
+ Export of this software from the United States of America may
+ require a specific license from the United States Government.
+ It is the responsibility of any person or organization contemplating
+ export to obtain such a license before exporting.
+
+ WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ distribute this software and its documentation for any purpose and
+ without fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and that
+ the name of M.I.T. not be used in advertising or publicity pertaining
+ to distribution of the software without specific, written prior
+ permission. Furthermore if you modify this software you must label
+ your software as modified software and not distribute it in such a
+ fashion that it might be confused with the original M.I.T. software.
+ M.I.T. makes no representations about the suitability of
+ this software for any purpose. It is provided "as is" without express
+ or implied warranty.
+
+ -->
+<Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
+
+ <!-- Important: This product should only be installed in all-user mode -->
+ <Property Id="ALLUSERS">1</Property>
+
+ <Property Id="LEASHAUTOINIT">-autoinit</Property>
+ <Property Id="LEASHAUTOSTART">1</Property>
+
+ <Property Id="ARPCOMMENTS">$(var.ARPComments)</Property>
+ <Property Id="ARPCONTACT">kerberos@mit.edu</Property>
+ <Property Id="ARPURLINFOABOUT">http://web.mit.edu/kerberos</Property>
+ <Property Id="ARPHELPLINK">http://web.mit.edu/kerberos</Property>
+ <Property Id="INSTALLLEVEL">50</Property>
+ <Property Id="ComponentDownload">http://web.mit.edu/kerberos</Property>
+
+ <Property Id="UPGRADENSIS">
+ <RegistrySearch Id="regsrch_NSIS" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Kerberos for Windows" Name="UninstallString" Type="registry" />
+ </Property>
+
+ <Property Id="NSISVERSION">
+ <RegistrySearch Id="regsrch_NSISV" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Kerberos for Windows" Name="DisplayVersion" Type="registry" />
+ </Property>
+
+ <Property Id="CantRemoveNSISError">$(loc.CantRemoveNSIS)</Property>
+ <Property Id="NoIE501Error">$(loc.IE501Required)</Property>
+ <!-- Additional properties relating to the UI are in the appropriate UI.wxi file -->
+</Include> \ No newline at end of file
diff --git a/src/windows/installer/wix/site-local.wxi b/src/windows/installer/wix/site-local.wxi
new file mode 100644
index 0000000000..5cfbda39fa
--- /dev/null
+++ b/src/windows/installer/wix/site-local.wxi
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
+
+ <!-- User configurable options -->
+
+ <!-- TargetDir should point to build target directory and must end with
+ a backslash. If not specified, assume we are in TargetDir\install -->
+
+ <?define TargetDir="d:\work\kfwtest\"?>
+
+ <!-- ConfigDir should point to directory containing configuration files
+ (krb5.ini, krb.con, krbrealm.con) to be bundled with the installer.
+ The directory name should end with a backslash. -->
+
+ <?define ConfigDir="$(env.SystemRoot)\"?>
+
+ <!-- VersionMajor, VersionMinor and VersionPatch must all be specified, or
+ none should be specified (in which case, the defaults will be
+ selected below. -->
+
+ <!-- version defs go here -->
+
+ <!-- BuildLang is the language code for the installation. If you are
+ changing this, you should also change the ProductCode below. -->
+ <?ifndef BuildLang?>
+ <?define BuildLang="1033"?>
+ <?endif?>
+
+ <!-- ProductCode is an uppercase GUID. Each major release should have a
+ new product code. Different language versions should have different
+ product codes -->
+ <?define ProductCode="FD5B1F41-81BB-4BBC-9F7E-4B971660AE1A"?>
+
+ <!-- DefaultRealm, is your default realm. Must be uppercase -->
+ <?define DefaultRealm="ATHENA.MIT.EDU"?>
+
+ <!-- One of the following must be defined and must correspond to the
+ version of compiler used for building Kerberos for Windows -->
+
+ <!-- <?define CL1200?> -->
+ <!-- <?define CL1300?> -->
+ <?define CL1310?>
+ <!-- <?define CL1400?> -->
+
+ <!-- At most one of the following could be defined and must correspond
+ to the type of build performed. -->
+ <!-- <?define Debug?> -->
+ <?define Release?>
+
+ <!-- Optional defines -->
+ <!-- <?define Beta=""?> --> <!-- Numeric Beta identifier -->
+ <!-- <?define OldHelp?> --> <!-- Specifies the use of the old leash32.hlp file
+ instead of the new leash32.chm file -->
+
+
+ <!-- End of user configurable options -->
+
+ <!-- Assert that required options are defined, or select defaults if
+ they weren't -->
+
+ <?ifndef TargetDir?>
+ <?define TargetDir="$(sys.SOURCEFILEDIR)..\"?>
+ <?endif?>
+
+ <?ifndef ConfigDir?>
+ <?define ConfigDir="$(env.SystemRoot)\"?>
+ <?endif?>
+
+ <?ifndef VersionMajor?>
+ <?define VersionMajor="2"?>
+ <?define VersionMinor="6"?>
+ <?define VersionPatch="0001"?>
+ <?else?>
+ <?if Not ($(var.VersionMinor) And $(var.VersionPatch))?>
+ <?error VersionMajor, VersionMinor and VersionPatch should be specified together?>
+ <?endif?>
+ <?endif?>
+
+ <?ifndef ProductCode?>
+ <?error Must define ProductCode?>
+ <?endif?>
+
+ <?ifndef BuildLang?>
+ <?error Must define BuildLang?>
+ <?endif?>
+
+ <!-- DefaultRealm. Must be uppercase. -->
+ <?ifndef DefaultRealm?>
+ <?error Must define DefaultRealm?>
+ <?endif?>
+
+ <!-- The build makefile defines 'Date' and 'Time' which are strings that
+ identify the time at which the build was performed. -->
+</Include> \ No newline at end of file