Updates to Wix installer source for KFW 3.0 Beta 2
authorJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 30 Nov 2005 04:33:54 +0000 (04:33 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 30 Nov 2005 04:33:54 +0000 (04:33 +0000)
 - 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

src/windows/installer/wix/custom/custom.cpp
src/windows/installer/wix/custom/custom.h
src/windows/installer/wix/features.wxi
src/windows/installer/wix/files.wxi
src/windows/installer/wix/kfw.wxs
src/windows/installer/wix/lang/ui_1033.wxi
src/windows/installer/wix/site-local.wxi

index 31fc11caadcb72b2f3b303b36951969527205ebf..dd1fb9c5d0984d0414dcdaa4d3bc82d47d26a284 100644 (file)
@@ -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
index ee0e663191e8473ea7d634177b505fe4e7e02321..9fcc61e65ec796158446ff386dcf21c74f5e9fa6 100644 (file)
@@ -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
index 890dcb7091ca274930cc625fbcf701707d484c34..22630053d7206d8f4582a4664d3b3b41788f2570 100644 (file)
                     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" />
             <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" />
index a5732222ea3b82a28de0d9386433f38663830d5e..8d0085a0e6c9ba64f62540c768aaaaefe0183757 100644 (file)
@@ -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
   -->
 <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" />
                     </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" />
                     
                     <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">
                                                <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 -->
                     
                                                        <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\">
                 <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>
index 2f7e41358a2f25af8b2e7abea032d7952b7ec10b..01c6f53b6d367077b67086e20cd41f37c528bfad 100644 (file)
@@ -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
             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]" />
             
             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 &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>
+       <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>
+
+        <Custom Action="RollbackNetProvider" After="RollbackTgtSessionKey">&amp;feaKfwClient=3</Custom>
+        <Custom Action="InstallNetProvider" After="RollbackNetProvider">&amp;feaKfwClient=3</Custom>
+        <Custom Action="RemoveNetProvider" After="InstallNetProvider">&amp;feaKfwClient=2</Custom>
         </InstallExecuteSequence>
 
         <!-- Upgrade paths -->
index b2983fc3d1e92af7ada7c389cb553fafebdde848..448e162de9f610b2f9acd9f9749fa119a20460d3 100644 (file)
       <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" >
         <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>
         </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>
+        <RadioButton Text="{\DlgFont8}I &amp;accept the terms in the License Agreement" X="5" Y="0" Width="250" Height="15" Value="Yes"></RadioButton>
+        <RadioButton Text="{\DlgFont8}I &amp;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" />
index 345bdbf9598f37066d295d45c24f26ee6ed53da5..476471956bdf80c5a772d10b76c906460edf081d 100644 (file)
@@ -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 -->