misc-post-1366-20040804
authorAsanka Herath <asanka@mit.edu>
Wed, 4 Aug 2004 17:36:10 +0000 (17:36 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 4 Aug 2004 17:36:10 +0000 (17:36 +0000)
Update documentation on cache control and credential manager options
in MSI deployment guide.

'CachePath' setting in registry allows REG_EXPAND_SZ type.

Update registry documentation for 'CachePath' setting.

Both installers save the credential manager command line options in
registry.

Fix handling of existing 'afsdcell.ini' file in WiX installer.

WiX 2.0.1927 changed the XML schema.  The WiX installer has beed
updated accordingly.

doc/txt/winnotes/msi-deployment-guide.txt
doc/txt/winnotes/registry.txt
src/WINNT/afsd/afsd_init.c
src/WINNT/install/NSIS/OpenAFS.nsi
src/WINNT/install/wix/feature.wxi
src/WINNT/install/wix/files.wxi
src/WINNT/install/wix/openafs.wxs
src/WINNT/install/wix/property.wxi
src/WINNT/install/wix/registry.wxi

index 7bdfb3b..70c6c27 100644 (file)
@@ -85,6 +85,16 @@ OpenAFS for Windows
 
     The configurable properties are as follows:
 
+    AFSCACHEPATH
+        Registry key    : (Service parameters)
+        Registry value  : CachePath
+        Valid values    : string
+
+    AFSCACHESIZE
+        Registry key    : (Service parameters)
+        Registry value  : CacheSize
+        Valid values    : numeric
+
     AFSCELLNAME
 
        Registry key    : (Service parameters)
@@ -114,11 +124,19 @@ OpenAFS for Windows
 
        Option for AFSCREDS.EXE.  Enables renewing drive map at
        startup.
+        (see below)
+
+    CREDSSHOW
+        Valid values    : '-s' or ''
 
-       The four properties above determine the behavior of the AFS
+        Option for AFSCREDS.EXE.  Enables displaying the credential
+        manager window when AFSCREDS starts up.
+
+       The five properties above determine the behavior of the AFS
        credential manager ( AFSCREDS.EXE ).  Each property adds a
        command line option to the shortcut that will be created in
-       the Program Menu (both under 'OpenAFS' and 'Startup' folders).
+       the Program Menu, both under 'OpenAFS' and 'Startup' folders
+        (see CREDSSTARTUP).
 
        The way in which the options are specified was chosen for easy
        integration with the Windows Installer user interface.
@@ -126,6 +144,15 @@ OpenAFS for Windows
        options to AFSCREDS.EXE, we advise against it because such
        transforms may not apply to future releases of OpenAFS.
 
+    CREDSSTARTUP
+        Valid values    : '1' or '0'
+
+        Controls whether AFSCREDS.EXE starts up automatically when a
+        user logs on.  When CREDSSTARTUP is '1' a shortcut is added
+        to the 'Startup' folder in the 'Program menu' which starts
+        AFSCREDS.EXE with the options that are determined by the
+        other CREDS* properties.
+
     FREELANCEMODE
 
        Registry key    : (Service parameters)
index 9ace6bb..c762115 100644 (file)
@@ -32,7 +32,7 @@ Type    : QWORD
 Default : 20480 (CM_CONFIGDEFAULT_CACHESIZE)
 Variable: cm_initParams.cacheSize
 
-  Size of the AFS cache.
+  Size of the AFS cache in 1k blocks.
 
 Value   : ChunkSize
 Type    : DWORD
@@ -104,8 +104,8 @@ Variable: cm_mountRoot
   where the symlink exists)
  
 Value  : CachePath
-Type   : REG_SZ
-Default : "\AFSCache"
+Type   : REG_SZ or REG_EXPAND_SZ
+Default : "%SYSTEMDRIVE%\AFSCache"
 Variable: cm_CachePath
 
   Location of on-disk cache file.  The default implies the root 
index a3d3671..96cccf0 100644 (file)
@@ -378,6 +378,7 @@ int afsd_InitCM(char **reasonP)
        char buf[200];
        HKEY parmKey;
        DWORD dummyLen;
+    DWORD regType;
        long code;
        /*int freelanceEnabled;*/
        WSADATA WSAjunk;
@@ -588,12 +589,21 @@ int afsd_InitCM(char **reasonP)
                /* Don't log */
        }
 
-       dummyLen = sizeof(cm_CachePath);
-       code = RegQueryValueEx(parmKey, "CachePath", NULL, NULL,
-                               cm_CachePath, &dummyLen);
-       if (code == ERROR_SUCCESS)
+       dummyLen = sizeof(buf);
+       code = RegQueryValueEx(parmKey, "CachePath", NULL, &regType,
+                               buf, &dummyLen);
+    if (code == ERROR_SUCCESS && buf[0]) {
+        if(regType == REG_EXPAND_SZ) {
+            dummyLen = ExpandEnvironmentStrings(buf, cm_CachePath, sizeof(cm_CachePath));
+            if(dummyLen > sizeof(cm_CachePath)) {
+                afsi_log("Cache path [%s] longer than %d after expanding env strings", buf, sizeof(cm_CachePath));
+                osi_panic("CachePath too long", __FILE__, __LINE__);
+            }
+        } else {
+            StringCbCopyA(cm_CachePath, sizeof(cm_CachePath), buf);
+        }
                afsi_log("Cache path %s", cm_CachePath);
-       else {
+    } else {
                GetWindowsDirectory(cm_CachePath, sizeof(cm_CachePath));
                cm_CachePath[2] = 0;    /* get drive letter only */
                StringCbCatA(cm_CachePath, sizeof(cm_CachePath), "\\AFSCache");
index 8ed4eca..cdde2e3 100644 (file)
@@ -626,6 +626,8 @@ Section "AFS Client" secClient
   StrCmp $R1 "1" +1 +2
   StrCpy $R2 "$R2-S"
   
+  WriteRegStr HKLM "SOFTWARE\OpenAFS\Client" "AfscredsShortcutParams" "$R2"
+  
   CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
   
   ReadINIStr $R1 $2 "Field 1" "State"
index 8bfe8ce..431741e 100644 (file)
@@ -31,6 +31,7 @@
                                
                                <Feature Id="feaCredsStartup" AllowAdvertise="no" FollowParent="yes" Display="hidden" InstallDefault="local" Level="30">
                                        <ComponentRef Id="cmp_credsStartup" />
+                                       <Condition Level="130">CREDSSTARTUP = 0</Condition>
                                </Feature>
                                
                        <?ifdef DebugSyms?>
                        <?endif?>
 
                                <ComponentRef Id="rcm_Client" />
+                <ComponentRef Id="rcm_ClientCacheSize" />
+                <ComponentRef Id="rcm_ClientCachePath" />
+
                                <ComponentRef Id="cmp_CommonDir" />
 
                 <ComponentRef Id="efl_Readme_TXT_$(var.Language)" />
                 <ComponentRef Id="efl_CellServDB" />
+                <ComponentRef Id="cpf_CellServDB" />
                 <ComponentRef Id="cmf_afs_cpa_CPL" />
 
                 <ComponentRef Id="cmf_afsrpc_DLL" />
index 8d251de..0411877 100644 (file)
@@ -1,17 +1,15 @@
 <?xml version="1.0"?>
 <Include>
-    <Directory Id="WindowsFolder">
-    </Directory>
     <Directory Id="SystemFolder">
         <Component Id="cmf_afslogon_DLL" Guid="123197FE-4F53-4035-8D51-FCFB6B50A777">
             <File Id="fileafslogon_DLL" Name="afslogon.dll" LongName="afslogon.dll" KeyPath="yes" DiskId="1" src="$(var.ClientDir)afslogon.dll" />
-            <Registry Id="reg_afslogon01" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="*" />
+            <Registry Id="reg_afslogon01" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Action="createKeyAndRemoveKeyOnUninstall" />
             <Registry Id="reg_afslogon02" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" />
-            <Registry Id="reg_afslogon03" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Asynchronous" Value="0" Type="integer" />
-            <Registry Id="reg_afslogon04" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Impersonate" Value="1" Type="integer" />
-            <Registry Id="reg_afslogon05" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="DLLName" Value="#fileafslogon_DLL" />
-            <Registry Id="reg_afslogon06" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Logoff" Value="AFS_Logoff_Event" />
-            <Registry Id="reg_afslogon07" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Startup" Value="AFS_Startup_Event" />
+            <Registry Id="reg_afslogon03" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Asynchronous" Type="integer" Value="0" />
+            <Registry Id="reg_afslogon04" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Impersonate" Type="integer" Value="1" />
+            <Registry Id="reg_afslogon05" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="DLLName" Type="string" Value="[#fileafslogon_DLL]" />
+            <Registry Id="reg_afslogon06" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Logoff" Type="string" Value="AFS_Logoff_Event" />
+            <Registry Id="reg_afslogon07" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Startup" Type="string" Value="AFS_Startup_Event" />
         </Component>
     <?ifdef DebugSyms?>
         <Component Id="cmp_ClientSystemDebug" Guid="DD34DA09-D9DA-4A5A-9521-87B7738A7D53">
             </Directory> <!-- Documentation -->
 
             <Directory Id="dirClient" Name="Client" LongName="Client" SourceName=".">
-                <Component Id="efl_CellServDB" Guid="8E69FDAB-08C5-4927-B1AA-57FCEEB065F2">
+                <Component Id="efl_CellServDB" Guid="8E69FDAB-08C5-4927-B1AA-57FCEEB065F2" NeverOverwrite="yes" Permanent="yes">
                     <File Id="file_CellServDB" Name="CelSrvDB" LongName="CellServDB" KeyPath="yes" DiskId="1" src="$(var.CellDbFile)"/>
-                    <CopyFile Id="copy_CellServDB" Delete="yes" DestinationFolder="dirClient" SourceFolder="WindowsFolder" SourceName="afsdcell.ini" />
+                    <Condition>OLDCELLSERVDB = ""</Condition>
+                </Component>
+                <Component Id="cpf_CellServDB" Guid="D5BA4C15-DBEC-4292-91FC-B54C30F24F2A">
+                                       <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="CellServDBMoved" Type="integer" Value="1" Id="reg_OldCellDB" KeyPath="yes" />
+                    <CopyFile Id="copy_CellServDB" Delete="yes" DestinationDirectory="dirClient" DestinationName="CellServ|CellServDB" SourceDirectory="WindowsFolder" SourceName="afsdcell.ini" />
+                    <Condition>OLDCELLSERVDB &lt;&gt; ""</Condition>
                 </Component>
                 <Directory Id="dirProgram" Name="Program" LongName="Program" SourceName="." src="$(var.ClientDir)">
                     <Component Id="cmf_afsshare_EXE" Guid="E972DA35-E950-4736-AE48-E6DDCE8C97D0">
                     </Component>
                     <Component Id="cmf_afsd_service_EXE" Guid="37A90054-505D-4C57-B489-7EF4D97B86F6">
                         <File Id="fileafsd_service_EXE" Name="afsd_svc.exe" LongName="afsd_service.exe" KeyPath="yes" DiskId="1" />
-                        <ServiceControl Id="TransarcAFSDaemon" Name="TransarcAFSDaemon" Stop="both" Delete="both" Wait="yes" />
+                        <ServiceControl Id="TransarcAFSDaemon" Name="TransarcAFSDaemon" Stop="both" Remove="both" Wait="yes" />
                         <ServiceInstall Id="svc_Client" Name="TransarcAFSDaemon" DisplayName="OpenAFS Client" Type="ownProcess" Start="auto" ErrorControl="normal" Description="Provides access to files and directories stored in AFS">
                                                        <!-- ServiceConfig doesn't currently do what you think it does.
                                                             We instead use a custom action to set the service failure actions.
                     </Component>
                                        <Component Id="cmf_afs_cpa_CPL" Guid="C83091EC-2967-4AC6-A34D-860CD7FEDA57">
                                                <File Id="fileafs_cpa_CPL" Name="afs_cpa.cpl" LongName="afs_cpa.cpl" KeyPath="yes" DiskId="1"/>
-                                       <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" Name="AFS Client CPL" Value="[#fileafs_cpa_CPL]" Id="reg_Full_Client11" />
+                                       <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" Name="AFS Client CPL" Type="string" Value="[#fileafs_cpa_CPL]" Id="reg_Full_Client11" />
                                        </Component>
                 <?ifdef DebugSyms?>
                     <Component Id="cmp_ClientProgramDebug" Guid="A6A394F6-45D0-45A9-A7DD-C0997070EC14">
                             </Component>
                             <Component Id="cmf_bosctlsvc_EXE" Guid="8F6F62A8-BB6D-46C1-BA80-4F207AA24F0D">
                                 <File Id="filebosctlsvc_EXE" Name="bosct.exe" LongName="bosctlsvc.exe" KeyPath="yes" DiskId="1" />
-                                <ServiceControl Id="TransarcAFSServer" Name="TransarcAFSServer" Stop="both" Delete="both" Wait="yes" />
+                                <ServiceControl Id="TransarcAFSServer" Name="TransarcAFSServer" Stop="both" Remove="both" Wait="yes" />
                                 <ServiceInstall Id="svc_Server" Name="TransarcAFSServer" DisplayName="OpenAFS Server" Type="ownProcess" Start="auto" ErrorControl="normal" Description="Manages AFS server processes">
                                                                        <!-- ServiceConfig does nothing 
                                     <ServiceConfig FirstFailureActionType="restart" RestartServiceDelayInSeconds="5" SecondFailureActionType="restart" ThirdFailureActionType="none"/>
                             </Component>
                                                        <Component Id="cmf_afsserver_CPL" Guid="E270281E-9DB2-40A8-A418-55B4EC4A3FE7">
                                                                <File Id="fileafsserver_CPL" Name="afsserve.cpl" LongName="afsserver.cpl" KeyPath="yes" DiskId="1"/>
-                                                       <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" Name="AFS Server CPL" Value="[#fileafsserver_CPL]" Id="reg_Server30" />
+                                                       <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls" Name="AFS Server CPL" Type="string" Value="[#fileafsserver_CPL]" Id="reg_Server30" />
                                                        </Component>
 
                             <Component Id="cmp_Server_Program" Guid="8C4D0351-8EBF-4192-BF63-DCB3AADF4115" KeyPath="yes">
 
         </Directory> <!-- AFS -->
     </Directory> <!-- program files -->
+    <!-- References -->
     <Directory Id="ProgramMenuFolder" Name=".">
         <Directory Id="dirShortCut" Name="OpenAFS" LongName="OpenAFS"/>
     </Directory>
-    <Directory Id="StartupFolder" Name=".">
-    </Directory>
+    <Directory Id="StartupFolder" Name="." />
+    <Directory Id="WindowsVolume" Name="." />
+    <Directory Id="WindowsFolder" Name="." />
 </Include>
index dc4eb00..df94cd5 100644 (file)
@@ -23,6 +23,7 @@
                         Id="$(var.PackageCode)"
                -->
         <Package
+                Id="????????-????-????-????-????????????"
          AdminImage="no"
          Comments="$(var.PackageComments)"
          Compressed="yes"
index 48daeb9..6dfea7d 100644 (file)
        <!-- empty property 
        <Property Id="CREDSSHOW"></Property>
        -->
+       <!-- empty property
+       <Property Id="AFSCACHEPATH"></Property>
+       -->
+       <!-- empty property
+       <Property Id="AFSCACHESIZE"></Property>
+       -->
 
     <!-- Add/remove programs -->
     <Property Id="ARPCOMMENTS">$(var.ProductComments)</Property>
     
     <Property Id="ABORTREASON">$(loc.StrNsisAbortReason)</Property>
 
+    <Property Id="OLDCELLSERVDB">
+      <DirectorySearch Id="dsOldCellServDB" Path="[WindowsFolder]" >
+        <FileSearch Id="fsOldCellServDB" Name="afsdcell.ini" />
+      </DirectorySearch>
+    </Property>
+
 </Include>
index 609e898..9266497 100644 (file)
@@ -4,84 +4,88 @@
     This file will be included as a child of the root Directory tag.
     -->
     <Component Id="rcm_Server" Guid="D30C980B-8284-49DF-88F5-C90BBFB3E80D">
-        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\EventLog\Application\AFS Service" Name="*" Id="reg_Server"/>
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\EventLog\Application\AFS Service" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Server"/>
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\EventLog\Application\AFS Service" Id="reg_Server3"/>
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\EventLog\Application\AFS Service" Name="TypesSupported" Type="integer" Value="7" Id="reg_Server4" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="*" Id="reg_Server5" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Server5" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_Server6" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Id="reg_Server7" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_Server8" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_Server9" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_Server10" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="Software Type" Value="File System" Id="reg_Server11" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="PathName" Value="[AFSDIR]Server" Id="reg_Server12" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_Server13" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_Server15" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="Description" Value="$(loc.StrAFSServerDesc)" Id="reg_Server16" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="*" Id="reg_Server18" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_Server10" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="Software Type" Type="string" Value="File System" Id="reg_Server11" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="PathName" Type="string" Value="[AFSDIR]Server" Id="reg_Server12" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_Server13" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_Server15" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\$(var.NumericVersion)" Name="Description" Type="string" Value="$(loc.StrAFSServerDesc)" Id="reg_Server16" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Server18" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_Server19" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Id="reg_Server20" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_Server21" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_Server22" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_Server23" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="Software Type" Value="File System" Id="reg_Server24" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="PathName" Value="[AFSDIR]Server" Id="reg_Server25" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_Server26" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_Server28" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="Description" Value="$(loc.StrAFSServerDesc)" Id="reg_Server29" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server" Name="*" Id="reg_Server31"/>
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_Server23" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="Software Type" Type="string" Value="File System" Id="reg_Server24" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="PathName" Type="string" Value="[AFSDIR]Server" Id="reg_Server25" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_Server26" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_Server28" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server\CurrentVersion" Name="Description" Type="string" Value="$(loc.StrAFSServerDesc)" Id="reg_Server29" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Server31"/>
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Server" Id="reg_Server32" KeyPath="yes"/>
-        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\EventLog\Application\AFS Service" Name="EventMessageFile" Value="[AFSDIR]Common\afseventmsg_$(var.LanguageCode).dll" Id="reg_Server_$(var.LanguageCode)" />
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\EventLog\Application\AFS Service" Name="EventMessageFile" Type="string" Value="[AFSDIR]Common\afseventmsg_$(var.LanguageCode).dll" Id="reg_Server_$(var.LanguageCode)" />
     </Component>
 
     <Component Id="rcm_Control_Center" Guid="2007844F-E101-4C99-81F5-EF9AEAD98821">
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center" KeyPath="yes" Id="reg_Control_Center2" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center" Name="*" Id="reg_Control_Center" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="*" Id="reg_Control_Center3" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Control_Center" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Control_Center3" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_Control_Center4" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Id="reg_Control_Center5" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_Control_Center6" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_Control_Center7" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_Control_Center8" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="Software Type" Value="File System" Id="reg_Control_Center9" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="PathName" Value="[AFSDIR]Control Center" Id="reg_Control_Center10" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_Control_Center11" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_Control_Center13" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="Description" Value="$(loc.StrAFSCCDesc)" Id="reg_Control_Center14" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="*" Id="reg_Control_Center16" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_Control_Center8" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="Software Type" Type="string" Value="File System" Id="reg_Control_Center9" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="PathName" Type="string" Value="[AFSDIR]Control Center" Id="reg_Control_Center10" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_Control_Center11" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_Control_Center13" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\CurrentVersion" Name="Description" Type="string" Value="$(loc.StrAFSCCDesc)" Id="reg_Control_Center14" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Control_Center16" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_Control_Center17" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Id="reg_Control_Center18" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_Control_Center19" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_Control_Center20" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_Control_Center21" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="Software Type" Value="File System" Id="reg_Control_Center22" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="PathName" Value="[AFSDIR]Control Center" Id="reg_Control_Center23" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_Control_Center24" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_Control_Center26" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="Description" Value="$(loc.StrAFSCCDesc)" Id="reg_Control_Center27" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_Control_Center21" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="Software Type" Type="string" Value="File System" Id="reg_Control_Center22" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="PathName" Type="string" Value="[AFSDIR]Control Center" Id="reg_Control_Center23" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_Control_Center24" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_Control_Center26" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Control Center\$(var.NumericVersion)" Name="Description" Type="string" Value="$(loc.StrAFSCCDesc)" Id="reg_Control_Center27" />
     </Component>
     <Component Id="rcm_Client" Guid="954679B0-547B-4F1E-9A3A-ABFB15B6C724">
         <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Id="reg_Client_NoUninstall2" />
-        <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="+" Id="reg_Client_NoUninstall" />
-        <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" Value="$(loc.StrShlExtDesc)" Id="reg_Client_NoUninstall3" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client" Name="*" Id="reg_Client" />
+        <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Action="createKey" Id="reg_Client_NoUninstall" />
+        <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" Type="string" Value="$(loc.StrShlExtDesc)" Id="reg_Client_NoUninstall3" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client" Id="reg_Client2" KeyPath="yes" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="*" Id="reg_Client5" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client5" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_Client6" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Id="reg_Client7" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_Client8" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_Client9" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_Client10" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="Software Type" Value="File System" Id="reg_Client11" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="PathName" Value="[AFSDIR]Client" Id="reg_Client12" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_Client13" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="Title" Id="reg_Client15" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_Client16" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="Description" Value="$(loc.StrAFSClientDesc)" Id="reg_Client17" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_Client10" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="Software Type" Type="string" Value="File System" Id="reg_Client11" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="PathName" Type="string" Value="[AFSDIR]Client" Id="reg_Client12" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_Client13" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_Client16" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\CurrentVersion" Name="Description" Type="string" Value="$(loc.StrAFSClientDesc)" Id="reg_Client17" />
+        <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Action="createKey" Id="reg_Client50" />
+        <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client\CSCPolicy" Action="createKey" Id="reg_Client51" />
+        <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client\Freelance" Action="createKey" Id="reg_Client52" />
+        <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client\Submounts" Action="createKey" Id="reg_Client53" />
+        <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="AfscredsShortcutParams" Type="string" Value="[CREDSAUTOINIT] [CREDSRENEWDRMAP] [CREDSIPCHDET] [CREDSQUIET] [CREDSSHOW]" Id="reg_Client54" />
         <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="ShowTrayIcon" Type="integer" Value="1" Id="reg_Client18" />
-        <Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension" Name="*" Id="reg_Client19" />
-        <Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension" Value="{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" Id="reg_Client20" />
-        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="*" Id="reg_Client21" />
+        <Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client19" />
+        <Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension" Type="string" Value="{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" Id="reg_Client20" />
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client21" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="AuthentProviderPath" Type="expandable" Value="[SystemFolder]afslogon.dll" Id="reg_Client22" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Id="reg_Client23" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="LogonOptions" Type="integer" Value="[LOGONOPTIONS]" Id="reg_Client24" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="ProviderPath" Type="expandable" Value="[SystemFolder]afslogon.dll" Id="reg_Client26" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="LogonScript" Type="expandable" Value="[AFSDIR]Client\Program\afscreds.exe -:%s -x -a -m -n -q" Id="reg_Client27" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="Class" Type="integer" Value="2" Id="reg_Client29" />
-        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="Name" Value="TransarcAFSDaemon" Id="reg_Client30" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="*" Id="reg_Client31" />
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="Name" Type="string" Value="TransarcAFSDaemon" Id="reg_Client30" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client31" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_Client32" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Id="reg_Client33" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_Client34" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_Client35" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_Client36" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="Software Type" Value="File System" Id="reg_Client37" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="PathName" Value="[AFSDIR]Client" Id="reg_Client38" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_Client39" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="Title" Id="reg_Client41" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_Client42" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="Description" Value="$(loc.StrAFSClientDesc)" Id="reg_Client43" />
-        <Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" Name="*" Id="reg_Client45" />
-        <Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" Value="{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" Id="reg_Client46" />
-        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="*" Id="reg_Client47" />
-        <Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension" Name="*" Id="reg_Client48" />
-        <Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension" Value="{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" Id="reg_Client49" />
-        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="*" Id="reg_Full_Client" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_Client36" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="Software Type" Type="string" Value="File System" Id="reg_Client37" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="PathName" Type="string" Value="[AFSDIR]Client" Id="reg_Client38" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_Client39" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_Client42" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Name="Description" Type="string" Value="$(loc.StrAFSClientDesc)" Id="reg_Client43" />
+        <Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client45" />
+        <Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" Type="string" Value="{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" Id="reg_Client46" />
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client47" />
+        <Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client48" />
+        <Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension" Type="string" Value="{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" Id="reg_Client49" />
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Full_Client" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="HideDotFiles" Type="integer" Value="[HIDEDOTFILES]" Id="reg_Full_Client2" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Id="reg_Full_Client3" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="IsGateway" Type="integer" Value="0" Id="reg_Full_Client4" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="RxMaxMTU" Type="integer" Value="[RXMAXMTU]" Id="reg_Full_Client5" />
-        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="NetbiosName" Value="[NETBIOSNAME]" Id="reg_Full_Client6" />
-        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="Cell" Value="[AFSCELLNAME]" Id="regAFSCellName" />
-        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="MountRoot" Value="[MOUNTROOT]" Id="reg_Full_Client7" />
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="NetbiosName" Type="string" Value="[NETBIOSNAME]" Id="reg_Full_Client6" />
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="Cell" Type="string" Value="[AFSCELLNAME]" Id="regAFSCellName" />
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="MountRoot" Type="string" Value="[MOUNTROOT]" Id="reg_Full_Client7" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="NoFindLanaByName" Type="integer" Value="[NOFINDLANABYNAME]" Id="reg_Full_Client8" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="FreelanceClient" Type="integer" Value="[FREELANCEMODE]" Id="reg_Full_Client9" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="UseDNS" Type="integer" Value="[USEDNS]" Id="reg_Full_Client10" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="SecurityLevel" Type="integer" Value="[SECURITYLEVEL]" Id="reg_Full_Client12" />
         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="SMBAuthType" Type="integer" Value="[SMBAUTHTYPE]" Id="reg_Full_Client13" />
     </Component>
+    <Component Id="rcm_ClientCachePath" Guid="4080E08D-6649-4A06-B286-F5E737DF4D8A" Transitive="yes">
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="CachePath" Type="expandable" Value="[AFSCACHEPATH]" Id="reg_Full_Client14" KeyPath="yes" />
+        <Condition>AFSCACHEPATH &lt;&gt; ""</Condition>
+    </Component>
+    <Component Id="rcm_ClientCacheSize" Guid="F3A12290-920B-42E9-8E49-4958D7C0B6E2" Transitive="yes">
+        <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" Name="CacheSize" Type="integer" Value="[AFSCACHESIZE]" Id="reg_Full_Client15" KeyPath="yes" />
+        <Condition>AFSCACHESIZE &lt;&gt; ""</Condition>
+    </Component>
     <Component Id="rcm_Documentation" Guid="97493526-4A5C-4C55-A1D6-EA38841B1B85">
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation" KeyPath="yes" Id="reg_Docs2" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation" Name="*" Id="reg_Docs" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="*" Id="reg_Docs3" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Docs" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Docs3" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_Docs4" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Id="reg_Docs5" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_Docs6" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_Docs7" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_Docs8" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="Software Type" Value="File System" Id="reg_Docs9" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="PathName" Value="[AFSDIR]Documentation" Id="reg_Docs10" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_Docs11" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_Docs13" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="Description" Value="$(loc.StrAFSDocDesc)" Id="reg_Docs14" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="*" Id="reg_Docs16" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_Docs8" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="Software Type" Type="string" Value="File System" Id="reg_Docs9" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="PathName" Type="string" Value="[AFSDIR]Documentation" Id="reg_Docs10" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_Docs11" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_Docs13" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="Description" Type="string" Value="$(loc.StrAFSDocDesc)" Id="reg_Docs14" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Docs16" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_Docs17" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Id="reg_Docs18" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_Docs19" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_Docs20" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_Docs21" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="Software Type" Value="File System" Id="reg_Docs22" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="PathName" Value="[AFSDIR]Documentation" Id="reg_Docs23" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_Docs24" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_Docs26" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="Description" Value="$(loc.StrAFSDocDesc)" Id="reg_Docs27" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_Docs21" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="Software Type" Type="string" Value="File System" Id="reg_Docs22" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="PathName" Type="string" Value="[AFSDIR]Documentation" Id="reg_Docs23" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_Docs24" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_Docs26" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Supplemental Documentation\$(var.NumericVersion)" Name="Description" Type="string" Value="$(loc.StrAFSDocDesc)" Id="reg_Docs27" />
     </Component>
     <Component Id="rcm_SDK" Guid="648BE65B-C152-412C-A45C-1562512B52DC">
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK" KeyPath="yes" Id="reg_SDK2" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK" Name="*" Id="reg_SDK" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="*" Id="reg_SDK3" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_SDK" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_SDK3" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_SDK4" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Id="reg_SDK5" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_SDK6" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_SDK7" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_SDK8" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="Software Type" Value="File System" Id="reg_SDK9" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="PathName" Value="[AFSDIR]lib" Id="reg_SDK10" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_SDK11" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_SDK13" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="Description" Value="$(loc.StrAFSSDKDesc)" Id="reg_SDK14" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="*" Id="reg_SDK16" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_SDK8" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="Software Type" Type="string" Value="File System" Id="reg_SDK9" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="PathName" Type="string" Value="[AFSDIR]lib" Id="reg_SDK10" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_SDK11" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_SDK13" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\CurrentVersion" Name="Description" Type="string" Value="$(loc.StrAFSSDKDesc)" Id="reg_SDK14" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_SDK16" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="MinorVersion" Type="integer" Value="$(var.VersionMinor)" Id="reg_SDK17" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Id="reg_SDK18" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="PatchLevel" Type="integer" Value="$(var.VersionPatch)" Id="reg_SDK19" />
         <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="MajorVersion" Type="integer" Value="$(var.VersionMajor)" Id="reg_SDK20" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="ReleaseType" Value="$(var.ReleaseType)" Id="reg_SDK21" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="Software Type" Value="File System" Id="reg_SDK22" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="PathName" Value="[AFSDIR]lib" Id="reg_SDK23" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="VersionString" Value="$(var.NumericVersion)" Id="reg_SDK24" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="InstallDateString" Value="$(var.InstallTimestamp)" Id="reg_SDK26" />
-        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="Description" Value="$(loc.StrAFSSDKDesc)" Id="reg_SDK27" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="ReleaseType" Type="string" Value="$(var.ReleaseType)" Id="reg_SDK21" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="Software Type" Type="string" Value="File System" Id="reg_SDK22" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="PathName" Type="string" Value="[AFSDIR]lib" Id="reg_SDK23" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_SDK24" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_SDK26" />
+        <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS SDK\$(var.NumericVersion)" Name="Description" Type="string" Value="$(loc.StrAFSSDKDesc)" Id="reg_SDK27" />
     </Component>
 
     <!-- Work around bug KB30673.  Only for Windows 2000. -->    
             being removed when the product is uninstalled. This is just a flag component to add to the
             loopback feature so that it is not empty. -->    
     <Component Id="rcm_Loopback" Guid="9F9BBDA3-208C-4F93-B81F-313E031B6DDA">
-        <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="LoopbackInstalled" Type="integer" Value="1" Id="reg_Loopback1" />
+        <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="LoopbackInstalled" Type="integer" Value="1" Id="reg_Loopback1" KeyPath="yes" />
     </Component>
     
 </Include>