diff options
author | Jeffrey Altman <jaltman@secure-endpoints.com> | 2005-11-30 04:33:54 +0000 |
---|---|---|
committer | Jeffrey Altman <jaltman@secure-endpoints.com> | 2005-11-30 04:33:54 +0000 |
commit | 062b5d52c60fcfa282f17d1921178b8e3f367b06 (patch) | |
tree | 34985c44da1cf617c742ab04f5ffe31e91e1165f /src/windows/installer | |
parent | fb17705c66b593fb72c57e8a2f01c33d26c14693 (diff) | |
download | krb5-062b5d52c60fcfa282f17d1921178b8e3f367b06.tar.gz krb5-062b5d52c60fcfa282f17d1921178b8e3f367b06.tar.xz krb5-062b5d52c60fcfa282f17d1921178b8e3f367b06.zip |
Updates to Wix installer source for KFW 3.0 Beta 2
- Updates all strings
- Creates shortcuts for netidmgr.exe and netidmgr.chm
- Adds KFW Logon Network Provider
Known bugs:
- the old Leash Documentation PDF still has a shortcut
- specifying the WorkingDirectory does not work
ticket: new
component: windows
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17520 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/windows/installer')
-rw-r--r-- | src/windows/installer/wix/custom/custom.cpp | 109 | ||||
-rw-r--r-- | src/windows/installer/wix/custom/custom.h | 15 | ||||
-rw-r--r-- | src/windows/installer/wix/features.wxi | 24 | ||||
-rw-r--r-- | src/windows/installer/wix/files.wxi | 111 | ||||
-rw-r--r-- | src/windows/installer/wix/kfw.wxs | 53 | ||||
-rw-r--r-- | src/windows/installer/wix/lang/ui_1033.wxi | 10 | ||||
-rw-r--r-- | src/windows/installer/wix/site-local.wxi | 4 |
7 files changed, 251 insertions, 75 deletions
diff --git a/src/windows/installer/wix/custom/custom.cpp b/src/windows/installer/wix/custom/custom.cpp index 31fc11caad..dd1fb9c5d0 100644 --- a/src/windows/installer/wix/custom/custom.cpp +++ b/src/windows/installer/wix/custom/custom.cpp @@ -23,7 +23,9 @@ DLLEXPORTS =\ -EXPORT:AbortMsiImmediate \ -EXPORT:UninstallNsisInstallation \ -EXPORT:KillRunningProcesses \ - -EXPORT:ListRunningProcesses + -EXPORT:ListRunningProcesses \ + -EXPORT:InstallNetProvider \ + -EXPORT:UninstallNetProvider $(DLLFILE): $(OUTPATH)\custom.obj $(LINK) /OUT:$@ /DLL $** $(DLLEXPORTS) @@ -42,7 +44,7 @@ clean: #else /* -Copyright 2004 by the Massachusetts Institute of Technology +Copyright 2004,2005 by the Massachusetts Institute of Technology All rights reserved. @@ -621,6 +623,109 @@ _cleanup: } return rv; } + +/* Check and add or remove networkprovider key value + str : target string + str2: string to add/remove + bInst: == 1 if string should be added to target if not already there, + otherwise remove string from target if present. +*/ +int npi_CheckAndAddRemove( LPTSTR str, LPTSTR str2, int bInst ) { + + LPTSTR target, charset, match; + int ret=0; + + target = new TCHAR[lstrlen(str)+3]; + lstrcpy(target,_T(",")); + lstrcat(target,str); + lstrcat(target,_T(",")); + charset = new TCHAR[lstrlen(str2)+3]; + lstrcpy(charset,_T(",")); + lstrcat(charset,str2); + lstrcat(charset,_T(",")); + + match = _tcsstr(target, charset); + + if ((match) && (bInst)) { + ret = INP_ERR_PRESENT; + goto cleanup; + } + + if ((!match) && (!bInst)) { + ret = INP_ERR_ABSENT; + goto cleanup; + } + + if (bInst) // && !match + { + lstrcat(str, _T(",")); + lstrcat(str, str2); + ret = INP_ERR_ADDED; + goto cleanup; + } + + // if (!bInst) && (match) + { + lstrcpy(str+(match-target),match+lstrlen(str2)+2); + str[lstrlen(str)-1]=_T('\0'); + ret = INP_ERR_REMOVED; + goto cleanup; + } + +cleanup: + + delete target; + delete charset; + return ret; +} + +/* Sets the registry keys required for the functioning of the network provider */ + +DWORD InstNetProvider(MSIHANDLE hInstall, int bInst) { + LPTSTR strOrder; + HKEY hkOrder; + LONG rv; + DWORD dwSize; + HANDLE hProcHeap; + + strOrder = (LPTSTR) 0; + + CHECK(rv = RegOpenKeyEx( HKEY_LOCAL_MACHINE, STR_KEY_ORDER, 0, KEY_READ | KEY_WRITE, &hkOrder )); + + dwSize = 0; + CHECK(rv = RegQueryValueEx( hkOrder, STR_VAL_ORDER, NULL, NULL, NULL, &dwSize ) ); + + strOrder = new TCHAR[ (dwSize + STR_SERVICE_LEN) * sizeof(TCHAR) ]; + + CHECK(rv = RegQueryValueEx( hkOrder, STR_VAL_ORDER, NULL, NULL, (LPBYTE) strOrder, &dwSize)); + + npi_CheckAndAddRemove( strOrder, STR_SERVICE , bInst); + + dwSize = (lstrlen( strOrder ) + 1) * sizeof(TCHAR); + + CHECK(rv = RegSetValueEx( hkOrder, STR_VAL_ORDER, NULL, REG_SZ, (LPBYTE) strOrder, dwSize )); + + /* everything else should be set by the MSI tables */ + rv = ERROR_SUCCESS; +_cleanup: + + if( rv != ERROR_SUCCESS ) { + ShowMsiError( hInstall, ERR_NPI_FAILED, rv ); + } + + if(strOrder) delete strOrder; + + return rv; +} + +MSIDLLEXPORT InstallNetProvider( MSIHANDLE hInstall ) { + return InstNetProvider( hInstall, 1 ); +} + +MSIDLLEXPORT UninstallNetProvider( MSIHANDLE hInstall) { + return InstNetProvider( hInstall, 0 ); +} + #endif #ifdef __NMAKE__ !ENDIF diff --git a/src/windows/installer/wix/custom/custom.h b/src/windows/installer/wix/custom/custom.h index ee0e663191..9fcc61e65e 100644 --- a/src/windows/installer/wix/custom/custom.h +++ b/src/windows/installer/wix/custom/custom.h @@ -47,6 +47,13 @@ SOFTWARE. #define CHECK2(x,y) if((x)) { msiErr = (y); goto _cleanup; } +#define STR_KEY_ORDER _T("SYSTEM\\CurrentControlSet\\Control\\NetworkProvider\\Order") +#define STR_VAL_ORDER _T("ProviderOrder") + +#define STR_SERVICE _T("MIT Kerberos") +#define STR_SERVICE_LEN 12 + + void ShowMsiError(MSIHANDLE, DWORD, DWORD); UINT SetAllowTgtSessionKey( MSIHANDLE hInstall, BOOL pInstall ); UINT KillRunningProcessesSlave( MSIHANDLE hInstall, BOOL bKill ); @@ -58,9 +65,17 @@ MSIDLLEXPORT RevertAllowTgtSessionKey( MSIHANDLE hInstall ); MSIDLLEXPORT EnableAllowTgtSessionKey( MSIHANDLE hInstall ); MSIDLLEXPORT KillRunningProcesses( MSIHANDLE hInstall ) ; MSIDLLEXPORT ListRunningProcesses( MSIHANDLE hInstall ); +MSIDLLEXPORT InstallNetProvider( MSIHANDLE ); +MSIDLLEXPORT UninstallNetProvider ( MSIHANDLE ); + +#define INP_ERR_PRESENT 1 +#define INP_ERR_ADDED 2 +#define INP_ERR_ABSENT 3 +#define INP_ERR_REMOVED 4 /* Custom errors */ #define ERR_CUSTACTDATA 4001 #define ERR_NSS_FAILED 4003 #define ERR_ABORT 4004 #define ERR_PROC_LIST 4006 +#define ERR_NPI_FAILED 4007 diff --git a/src/windows/installer/wix/features.wxi b/src/windows/installer/wix/features.wxi index 890dcb7091..22630053d7 100644 --- a/src/windows/installer/wix/features.wxi +++ b/src/windows/installer/wix/features.wxi @@ -47,23 +47,24 @@ AllowAdvertise="no" Description="$(loc.StrKerberosClientDebugDesc)" Display="expand" - InstallDefault="$(var.DebugSymInstallDefault)" + InstallDefault="$(var.DebugSymInstallDefault)" Level="$(var.DebugSymLowLevel)" Title="$(loc.StrKerberosClientDebugTitle)"> <ComponentRef Id="cmf_bin_debug"/> + <ComponentRef Id="cmp_ClientSystemDebug"/> </Feature> <?endif?> - <Feature - Id="feaKfwLeashExe" - AllowAdvertise="no" - Description="$(loc.StrLeashExeDesc)" - Display="expand" - InstallDefault="local" - Level="130" - Title="$(loc.StrLeashExeTitle)"> + <Feature + Id="feaKfwLeashExe" + AllowAdvertise="no" + Description="$(loc.StrLeashExeDesc)" + Display="expand" + InstallDefault="local" + Level="130" + Title="$(loc.StrLeashExeTitle)"> <ComponentRef Id="cmf_leash32_exe" /> - </Feature> + </Feature> <ComponentRef Id="cmf_aklog_exe" /> <ComponentRef Id="cmf_comerr32_dll" /> @@ -93,6 +94,7 @@ <ComponentRef Id="cmf_krb4cred_dll" /> <ComponentRef Id="cmf_krb4cred_en_us_dll" /> <ComponentRef Id="cmf_netidmgr_exe" /> + <ComponentRef Id="cmf_kfwlogon_DLL" /> <!-- Kerberos IV options --> <ComponentRef Id="rcm_krb4_1" /> @@ -249,7 +251,7 @@ <ComponentRef Id="cmp_dirinc_loadfuncs" /> <ComponentRef Id="cmp_dirinc_wshelper" /> <ComponentRef Id="cmp_dirinc_wshelper_arpa" /> - <ComponentRef Id="cmp_dirinc_netidmgr" /> + <ComponentRef Id="cmp_dirinc_netidmgr" /> <ComponentRef Id="cmp_dirlib_i386" /> <ComponentRef Id="cmp_dirinstall_nsis" /> <ComponentRef Id="cmp_dirinstall_wix" /> diff --git a/src/windows/installer/wix/files.wxi b/src/windows/installer/wix/files.wxi index a5732222ea..8d0085a0e6 100644 --- a/src/windows/installer/wix/files.wxi +++ b/src/windows/installer/wix/files.wxi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <!-- - Copyright (C) 2004 by the Massachusetts Institute of Technology. + Copyright (C) 2004, 2005 by the Massachusetts Institute of Technology. All rights reserved. Export of this software from the United States of America may @@ -26,42 +26,67 @@ --> <Include xmlns="http://schemas.microsoft.com/wix/2003/01/wi"> <Directory Id="TARGETDIR" Name="SourceDir"> + <Directory Id="SystemFolder" SourceName="System"> + <Component Id="cmf_kfwlogon_DLL" Guid="F9094A4C-A0CF-4E24-940D-150ABC27F80F"> + <File Id="filekfwlogon_DLL" Name="kfwlogon.dll" LongName="kfwlogon.dll" KeyPath="yes" DiskId="1" src="$(var.BinDir)kfwlogon.dll" /> + <File Id="filekfwcpcc_EXE" Name="kfwcpcc.exe" LongName="kfwcpcc.exe" DiskId="1" src="$(var.BinDir)kfwcpcc.exe" /> + <Registry Id="reg_kfwlogon01" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Action="createKeyAndRemoveKeyOnUninstall" /> + <Registry Id="reg_kfwlogon02" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" /> + <Registry Id="reg_kfwlogon03" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="Asynchronous" Type="integer" Value="0" /> + <Registry Id="reg_kfwlogon04" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="Impersonate" Type="integer" Value="0" /> + <Registry Id="reg_kfwlogon05" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="DLLName" Type="string" Value="[#filekfwlogon_DLL]" /> + <Registry Id="reg_kfwlogon06" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="Logon" Type="string" Value="KFW_Logon_Event" /> + <Registry Id="reg_kfwlogon07" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Action="createKeyAndRemoveKeyOnUninstall" /> + <Registry Id="reg_kfwlogon08" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="AuthentProviderPath" Type="expandable" Value="[SystemFolder]kfwlogon.dll"/> + <Registry Id="reg_kfwlogon09" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider"/> + <Registry Id="reg_kfwlogon10" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="VerboseLogging" Type="integer" Value="10"/> + <Registry Id="reg_kfwlogon11" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="ProviderPath" Type="expandable" Value="[SystemFolder]kfwlogon.dll"/> + <Registry Id="reg_kfwlogon12" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="Class" Type="integer" Value="2" /> + <Registry Id="reg_kfwlogon13" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\MIT Kerberos\NetworkProvider" Name="Name" Type="string" Value="MIT Kerberos"/> + </Component> + <?ifdef DebugSyms?> + <Component Id="cmp_ClientSystemDebug" Guid="2D13ED48-53C2-4878-B196-2AD7F4100998"> + <File Id="filekfwlogon_PDB" Name="kfwlogon.pdb" LongName="kfwlogon.pdb" KeyPath="yes" DiskId="1" src="$(var.BinDir)kfwlogon.pdb" /> + <File Id="filekfwcpcc_PDB" Name="kfwcpcc.pdb" LongName="kfwcpcc.pdb" DiskId="1" src="$(var.BinDir)kfwcpcc.pdb" /> + </Component> + <?endif?> + </Directory> <Directory Id="ProgramFilesFolder"> - <Directory Id="dirMIT" Name="MIT"> + <Directory Id="dirMIT" Name="MIT" SourceName="."> <Directory Id="KERBEROSDIR" Name="Kerberos"> <Directory Id="dirbin" Name="bin" src="$(var.BinDir)"> - <!-- Kerberos IV options --> - <Component Id="rcm_krb4_1" Guid="34262966-9196-49D6-86C9-AE98D3116DC0" DiskId="1"> - <Registry Id="reg_krb4_1" Root="HKLM" Key="Software\MIT\Kerberos4" Name="krb.realms" Type="string" Value="[KRB4KRBREALMS]" KeyPath="yes"/> - <Condition>KRB4KRBREALMS</Condition> - </Component> - <Component Id="rcm_krb4_2" Guid="812334C6-EBDF-482C-8CB3-A6398AF9EDFC" DiskId="1"> - <Registry Id="reg_krb4_2" Root="HKLM" Key="Software\MIT\Kerberos4" Name="krb.conf" Type="string" Value="[KRB4KRBCONF]" KeyPath="yes"/> - <Condition>KRB4KRBCONF</Condition> - </Component> - <Component Id="rcm_krb4_3" Guid="5556ECD9-8721-41C2-846C-034C239B48F1" DiskId="1"> - <Registry Id="reg_krb4_3" Root="HKLM" Key="Software\MIT\Kerberos4" Name="configdir" Type="string" Value="[KRB4CONFIGDIR]" KeyPath="yes"/> - <Condition>KRB4CONFIGDIR</Condition> - </Component> - <Component Id="rcm_krb4_4" Guid="61371A93-7F59-439D-A89C-070E100F465B" DiskId="1"> - <Registry Id="reg_krb4_4" Root="HKLM" Key="Software\MIT\Kerberos4" Name="ticketfile" Type="string" Value="[KRB4TICKETFILE]" KeyPath="yes"/> - <Condition>KRB4TICKETFILE</Condition> - </Component> - - <!-- Kerberos V options --> - <Component Id="rcm_krb5_1" Guid="E190F8B9-51FA-4FB1-884C-C8AFA37F8653" DiskId="1"> - <Registry Id="reg_krb5_1" Root="HKLM" Key="Software\MIT\kerberos5" Name="config" Type="string" Value="[KRB5CONFIG]" KeyPath="yes" /> - <Condition>KRB5CONFIG</Condition> - </Component> - <Component Id="rcm_krb5_2" Guid="AE7D4305-6193-4094-8C82-73862AE01DCE" DiskId="1"> - <Registry Id="reg_krb5_2" Root="HKLM" Key="Software\MIT\kerberos5" Name="ccname" Type="string" Value="[KRB5CCNAME]" KeyPath="yes" /> - <Condition>KRB5CCNAME</Condition> - </Component> - <Component Id="rcm_krb5_3" Guid="853EE035-99AA-489A-8FB6-74C76624E92A" DiskId="1"> - <Registry Id="reg_krb5_3" Root="HKLM" Key="Software\MIT\kerberos5" Name="PreserveInitialTicketIdentity" Type="integer" Value="[KRB5PRESERVEIDENTITY]" KeyPath="yes" /> - <Condition>KRB5PRESERVEIDENTITY</Condition> - </Component> + <!-- Kerberos IV options --> + <Component Id="rcm_krb4_1" Guid="34262966-9196-49D6-86C9-AE98D3116DC0" DiskId="1"> + <Registry Id="reg_krb4_1" Root="HKLM" Key="Software\MIT\Kerberos4" Name="krb.realms" Type="string" Value="[KRB4KRBREALMS]" KeyPath="yes"/> + <Condition>KRB4KRBREALMS</Condition> + </Component> + <Component Id="rcm_krb4_2" Guid="812334C6-EBDF-482C-8CB3-A6398AF9EDFC" DiskId="1"> + <Registry Id="reg_krb4_2" Root="HKLM" Key="Software\MIT\Kerberos4" Name="krb.conf" Type="string" Value="[KRB4KRBCONF]" KeyPath="yes"/> + <Condition>KRB4KRBCONF</Condition> + </Component> + <Component Id="rcm_krb4_3" Guid="5556ECD9-8721-41C2-846C-034C239B48F1" DiskId="1"> + <Registry Id="reg_krb4_3" Root="HKLM" Key="Software\MIT\Kerberos4" Name="configdir" Type="string" Value="[KRB4CONFIGDIR]" KeyPath="yes"/> + <Condition>KRB4CONFIGDIR</Condition> + </Component> + <Component Id="rcm_krb4_4" Guid="61371A93-7F59-439D-A89C-070E100F465B" DiskId="1"> + <Registry Id="reg_krb4_4" Root="HKLM" Key="Software\MIT\Kerberos4" Name="ticketfile" Type="string" Value="[KRB4TICKETFILE]" KeyPath="yes"/> + <Condition>KRB4TICKETFILE</Condition> + </Component> + + <!-- Kerberos V options --> + <Component Id="rcm_krb5_1" Guid="E190F8B9-51FA-4FB1-884C-C8AFA37F8653" DiskId="1"> + <Registry Id="reg_krb5_1" Root="HKLM" Key="Software\MIT\kerberos5" Name="config" Type="string" Value="[KRB5CONFIG]" KeyPath="yes" /> + <Condition>KRB5CONFIG</Condition> + </Component> + <Component Id="rcm_krb5_2" Guid="AE7D4305-6193-4094-8C82-73862AE01DCE" DiskId="1"> + <Registry Id="reg_krb5_2" Root="HKLM" Key="Software\MIT\kerberos5" Name="ccname" Type="string" Value="[KRB5CCNAME]" KeyPath="yes" /> + <Condition>KRB5CCNAME</Condition> + </Component> + <Component Id="rcm_krb5_3" Guid="853EE035-99AA-489A-8FB6-74C76624E92A" DiskId="1"> + <Registry Id="reg_krb5_3" Root="HKLM" Key="Software\MIT\kerberos5" Name="PreserveInitialTicketIdentity" Type="integer" Value="[KRB5PRESERVEIDENTITY]" KeyPath="yes" /> + <Condition>KRB5PRESERVEIDENTITY</Condition> + </Component> <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" /> @@ -155,7 +180,7 @@ </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]" /> + <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" /> @@ -190,7 +215,7 @@ <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="Network Identity Manager.lnk" Name="netidmgr.lnk" Arguments="[LEASHAUTOINIT]" Target="[dirbin]netidmgr.exe" Show="minimized" /> + <Shortcut Id="sc_leash32_exe_startup" Advertise="no" Directory="StartupFolder" LongName="Network Identity Manager.lnk" Name="netidmgr.lnk" Arguments="[LEASHAUTOINIT]" Target="[dirbin]netidmgr.exe" Show="minimized" WorkingDirectory="[dirbin]"/> </Component> <?ifdef OldHelp?> <Component Id="cmf_leash32_hlp" Guid="919616D6-1605-4A79-8E33-C18A0D0F25E3" DiskId="1"> @@ -310,10 +335,13 @@ <File Id="fil_krb4cred_en_us_dll" LongName="krb5cred_en_us.dll" Name="krb4cenu.dll" KeyPath="yes" /> </Component> <Component Id="cmf_netidmgr_exe" Guid="AEB06D67-B4F3-45B1-AC1E-5C1AFF747756" DiskId="1"> - <File Id="fil_netidmgr_exe" LongName="netidmgr.exe" Name="netidmgr.exe" KeyPath="yes" /> - <File Id="fil_netidmgr_exe_manifest" LongName="netidmgr.exe.manifest" Name="netidmgr.emn" /> - <File Id="fil_netidmgr_chm" LongName="netidmgr.chm" Name="netidmgr.chm" /> - <Shortcut Id="sc_netidmgr_exe_startup" Advertise="no" Directory="StartupFolder" LongName="Network Identity Manager.lnk" Name="netidmgr.lnk" Arguments="[LEASHAUTOINIT]" Target="[dirbin]netidmgr.exe" Show="minimized" /> + <File Id="fil_netidmgr_exe" LongName="netidmgr.exe" Name="netidmgr.exe" KeyPath="yes" /> + <File Id="fil_netidmgr_exe_manifest" LongName="netidmgr.exe.manifest" Name="netidmgr.emn" /> + <File Id="fil_netidmgr_chm" LongName="netidmgr.chm" Name="netidmgr.chm" /> + <Registry Id="reg_ts_netidmgr_0" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\netidmgr" Action="createKeyAndRemoveKeyOnUninstall" /> + <Registry Id="reg_ts_netidmgr_1" Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\netidmgr" Name="Flags" Type="integer" Value="1032" /> + <Shortcut Id="sc_netidmgr_exe" Advertise="no" Directory="dirShortcut" LongName="Network Identity Manager.lnk" Name="netidmgr.lnk" Arguments="[LEASHAUTOINIT]" Target="[dirbin]netidmgr.exe" Show="minimized" WorkingDirectory="[dirbin]"/> + <Shortcut Id="sc_netidmgr_chm" Advertise="no" Directory="dirShortcut" LongName="Network Identity Manager Documentation.lnk" Name="netidchm.lnk" Target="[dirbin]netidmgr.chm" WorkingDirectory="[dirbin]"/> </Component> <!-- /NetIDMgr --> @@ -654,6 +682,7 @@ <File Id="fil_mstring_h" LongName="mstring.h" Name="mstring.h" /> <File Id="fil_sync_h" LongName="sync.h" Name="sync.h" /> <File Id="fil_utils_h" LongName="utils.h" Name="utils.h" /> + <File Id="fil_netidmgr_h" LongName="netidmgr.h" Name="netidmgr.h" /> </Component> </Directory> <Directory Id="dirinc_wshelper" Name="wshelper" src="$(var.IncDir)wshelper\"> @@ -750,12 +779,12 @@ <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" /> + <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" /> + <Shortcut Id="sc_relnotes_html" Advertise="no" Directory="dirShortcut" LongName="Release Notes.lnk" Name="relnotes.lnk" /> </File> </Component> </Directory> diff --git a/src/windows/installer/wix/kfw.wxs b/src/windows/installer/wix/kfw.wxs index 2f7e41358a..01c6f53b6d 100644 --- a/src/windows/installer/wix/kfw.wxs +++ b/src/windows/installer/wix/kfw.wxs @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <!-- - Copyright (C) 2004 by the Massachusetts Institute of Technology. + Copyright (C) 2004,2005 by the Massachusetts Institute of Technology. All rights reserved. Export of this software from the United States of America may @@ -90,17 +90,17 @@ Return="check" /> <Property Id="RollbackTgtSessionKey" Value="$(var.VersionString)" /> - <CustomAction + <CustomAction Id="RemoveNsisInstallation" BinaryKey="binCustom" DllEntry="UninstallNsisInstallation" Execute="immediate" /> - <CustomAction + <CustomAction Id="AbortCantRemoveNSIS" Value="[CantRemoveNSISError]" /> - <CustomAction + <CustomAction Id="AbortNoIE" Value="[NoIE501Error]" /> @@ -118,17 +118,42 @@ Execute="immediate" Return="ignore" /> - <AdminExecuteSequence /> + <CustomAction + Id="InstallNetProvider" + BinaryKey="binCustom" + DllEntry="InstallNetProvider" + Execute="oncePerProcess" /> + + <CustomAction + Id="RemoveNetProvider" + BinaryKey="binCustom" + DllEntry="UninstallNetProvider" + Return="ignore" + Execute="oncePerProcess" /> + + <CustomAction + Id="RollbackNetProvider" + BinaryKey="binCustom" + DllEntry="UninstallNetProvider" + Return="ignore" + Execute="rollback" /> + + <!-- Installation Sequences --> + <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 <> 1)</Custom> - <Custom Action="RemoveNsisInstallation" Before="AbortCantRemoveNSIS">UPGRADENSIS <> "" And UILevel >= 4</Custom> - <Custom Action="AbortCantRemoveNSIS" Before="CostInitialize">UPGRADENSIS <> "" And UILevel < 4</Custom> - <Custom Action="RollbackTgtSessionKey" After="WriteRegistryValues">VersionNT >= 500 And &feaKfwClient=3</Custom> - <Custom Action="EnableTgtSessionKey" After="RollbackTgtSessionKey">VersionNT >= 500 And &feaKfwClient=3</Custom> - <Custom Action="RevertTgtSessionKey" Before="RemoveRegistryValues">VersionNT >= 500 And &feaKfwClient=2</Custom> + <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 <> 1)</Custom> + <Custom Action="RemoveNsisInstallation" Before="AbortCantRemoveNSIS">UPGRADENSIS <> "" And UILevel >= 4</Custom> + <Custom Action="AbortCantRemoveNSIS" Before="CostInitialize">UPGRADENSIS <> "" And UILevel < 4</Custom> + <Custom Action="RollbackTgtSessionKey" After="WriteRegistryValues">VersionNT >= 500 And &feaKfwClient=3</Custom> + <Custom Action="EnableTgtSessionKey" After="RollbackTgtSessionKey">VersionNT >= 500 And &feaKfwClient=3</Custom> + <Custom Action="RevertTgtSessionKey" Before="RemoveRegistryValues">VersionNT >= 500 And &feaKfwClient=2</Custom> + + <Custom Action="RollbackNetProvider" After="RollbackTgtSessionKey">&feaKfwClient=3</Custom> + <Custom Action="InstallNetProvider" After="RollbackNetProvider">&feaKfwClient=3</Custom> + <Custom Action="RemoveNetProvider" After="InstallNetProvider">&feaKfwClient=2</Custom> </InstallExecuteSequence> <!-- Upgrade paths --> diff --git a/src/windows/installer/wix/lang/ui_1033.wxi b/src/windows/installer/wix/lang/ui_1033.wxi index b2983fc3d1..448e162de9 100644 --- a/src/windows/installer/wix/lang/ui_1033.wxi +++ b/src/windows/installer/wix/lang/ui_1033.wxi @@ -728,11 +728,11 @@ <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> + <Text>The Network Identity Manager may be 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> + <Text>Autostart the Network Identity 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" > @@ -756,7 +756,7 @@ <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> + <Text>Network Identity Manager 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> @@ -879,8 +879,8 @@ </Control> </Dialog> <RadioGroup Property="IAgree"> - <RadioButton Text="{\DlgFont8}I &accept the terms in the License Agreement" X="5" Y="0" Width="250" Height="15">Yes</RadioButton> - <RadioButton Text="{\DlgFont8}I &do not accept the terms in the License Agreement" X="5" Y="20" Width="250" Height="15">No</RadioButton> + <RadioButton Text="{\DlgFont8}I &accept the terms in the License Agreement" X="5" Y="0" Width="250" Height="15" Value="Yes"></RadioButton> + <RadioButton Text="{\DlgFont8}I &do not accept the terms in the License Agreement" X="5" Y="20" Width="250" Height="15" Value="No"></RadioButton> </RadioGroup> <TextStyle Id="DlgFont8" FaceName="Tahoma" Size="8" /> <TextStyle Id="DlgFontBold8" FaceName="Tahoma" Size="8" Bold="yes" /> diff --git a/src/windows/installer/wix/site-local.wxi b/src/windows/installer/wix/site-local.wxi index 345bdbf959..476471956b 100644 --- a/src/windows/installer/wix/site-local.wxi +++ b/src/windows/installer/wix/site-local.wxi @@ -6,7 +6,7 @@ <!-- TargetDir should point to build target directory and must end with a backslash. If not specified, assume we are in TargetDir\install --> - <?define TargetDir="c:\temp\kfw\kfw-3.0.0-beta-1\"?> + <?define TargetDir="c:\temp\kfw\kfw-3.0.0-beta-2\"?> <!-- ConfigDir should point to directory containing configuration files (krb5.ini, krb.con, krbrealm.con) to be bundled with the installer. @@ -53,7 +53,7 @@ <?define DebugSyms?> <!-- Optional defines --> - <?define Beta="1"?> <!-- Numeric Beta identifier --> + <?define Beta="2"?> <!-- Numeric Beta identifier --> <!-- <?define OldHelp?> --> <!-- Specifies the use of the old leash32.hlp file instead of the new leash32.chm file --> |