Windows: register Shell Ext handlers

Add registry keys and values to enable use of the overlay
handlers for symlinks and mount points.

Add registry keys and values to enable use of the property
sheet handlers.

Correct registry keys for the Folder background context menu
handler.

Change-Id: Icac560fc6ffcec6bcc41f64adeae3ee2e5884fdb
Reviewed-on: http://gerrit.openafs.org/5530
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
This commit is contained in:
Jeffrey Altman 2011-09-30 03:43:24 -04:00 committed by Jeffrey Altman
parent 9dd9cfa0e1
commit 0d76ca3c5b
5 changed files with 81 additions and 9 deletions

View File

@ -125,7 +125,6 @@
<ComponentRef Id="cmf_afs_nt_HLP_$(var.Language)"/>
<ComponentRef Id="cmf_TaAfsAppLib_$(var.LanguageCode)_DLL" />
<ComponentRef Id="cmf_afs_cpa_$(var.LanguageCode)_DLL" />
<ComponentRef Id="cmf_afs_shl_ext_$(var.LanguageCode)_DLL" />
<ComponentRef Id="cmf_instloop_EXE" />
<ComponentRef Id="cmf_afsshare_EXE" />
@ -137,6 +136,9 @@
<ComponentRef Id="cmf_fs_EXE" />
<ComponentRef Id="cmf_afsdacl_EXE" />
<ComponentRef Id="cmf_afs_shl_ext_DLL" />
<ComponentRef Id="cmf_afs_shl_ext_$(var.LanguageCode)_DLL" />
<ComponentRef Id="cmf_afs_mount_ICO" />
<ComponentRef Id="cmf_afs_link_ICO" />
<ComponentRef Id="cmf_afsd_service_EXE" />
<ComponentRef Id="cmf_afslogon_DLL" />
<ComponentRef Id="cmf_afscpcc_EXE" />
@ -257,7 +259,6 @@
<ComponentRef Id="cmf_TaAfsAppLib_$(var.LanguageCode)_DLL" />
<ComponentRef Id="cmf_TaAfsServerManager_$(var.LanguageCode)_DLL" />
<ComponentRef Id="cmf_afs_cpa_$(var.LanguageCode)_DLL" />
<ComponentRef Id="cmf_afs_shl_ext_$(var.LanguageCode)_DLL" />
<ComponentRef Id="cmf_afs_nt_HLP_$(var.Language)" />
<ComponentRef Id="cmp_Lang_$(var.Language)" />
@ -394,6 +395,8 @@
<ComponentRef Id="cmf_backup_EXE" />
<ComponentRef Id="cmf_afs_shl_ext_DLL" />
<ComponentRef Id="cmf_afs_shl_ext_$(var.LanguageCode)_DLL" />
<ComponentRef Id="cmf_afs_mount_ICO" />
<ComponentRef Id="cmf_afs_link_ICO" />
<ComponentRef Id="rcm_BinsOnly_Parm" />
<ComponentRef Id="cmf_aklog_EXE" />

View File

@ -1132,8 +1132,13 @@
<Component Win64="$(var.Win64)" Id="cmf_afs_shl_ext_DLL" Guid="$(var.cmf_afs_shl_ext_DLL_guid)">
<File Id="fileafs_shl_ext_DLL" Name="afsshext.dll" LongName="afs_shl_ext.dll" KeyPath="yes" DiskId="1">
<Class Id="$(var.clsid_afs_shl_ext)" Advertise="no" Context="InprocServer32" Description="$(loc.StrShlExtDesc)" ThreadingModel="apartment">
<ProgId Id="AfsClientContextMenu.1" Description="$(loc.StrShlExtDesc)">
<ProgId Id="AfsClientContextMenu" />
<ProgId Id="AfsClientShellExt.1" Description="$(loc.StrShlExtDesc)">
<ProgId Id="AfsClientShellExt" />
</ProgId>
</Class>
<Class Id="$(var.clsid_afs_shl_ext2)" Advertise="no" Context="InprocServer32" Description="$(loc.StrShlExt2Desc)" ThreadingModel="apartment">
<ProgId Id="AfsClientShellExt2.1" Description="$(loc.StrShlExt2Desc)">
<ProgId Id="AfsClientShellExt2" />
</ProgId>
</Class>
</File>
@ -1141,6 +1146,13 @@
<Component Win64="$(var.Win64)" Id="cmf_afs_shl_ext_1033_DLL" Guid="$(var.cmf_afs_shl_ext_1033_DLL_guid)">
<File Id="fileafs_shl_ext_1033_DLL" Name="ashl1033.dll" LongName="afs_shl_ext_1033.dll" KeyPath="yes" DiskId="1" src="$(var.ClientDir)\afs_shl_ext_1033.dll"/>
</Component>
<Component Win64="$(var.Win64)" Id="cmf_afs_mount_ICO" Guid="$(var.cmf_afs_mount_ICO_guid)">
<File Id="fileafs_mount_ICO" Name="mount.ico" KeyPath="yes" DiskId="1" src="$(var.ClientDir)\mount.ico"/>
</Component>
<Component Win64="$(var.Win64)" Id="cmf_afs_link_ICO" Guid="$(var.cmf_afs_link_ICO_guid)">
<File Id="fileafs_link_ICO" Name="link.ico" KeyPath="yes" DiskId="1" src="$(var.ClientDir)\link.ico"/>
</Component>
<Component Win64="$(var.Win64)" Id="_afscreds_en_us"
Guid="$(var._afscreds_en_us_guid)" DiskId="1">

View File

@ -45,6 +45,8 @@
<String Id="StrShlExtDesc">AFS Context Menu Shell Extension</String>
<String Id="StrShlExt32Desc">AFS Context Menu Shell Extension (32-bit)</String>
<String Id="StrShlExt2Desc">AFS Overlay Handler Shell Extension</String>
<String Id="StrShlExt232Desc">AFS Overlay Handler Shell Extension (32-bit)</String>
<String Id="StrAfsCredsDesc">Authentication for AFS</String>
<String Id="StrHlpFileDesc">AFS Client Help</String>
<String Id="StrSvrMgrDesc">Server Manager</String>

View File

@ -48,6 +48,8 @@
<?define cmf_afs_config_1033_DLL_guid="D8A8C1AB-C47E-4208-B1F6-33A9526806E9"?>
<?define cmf_afs_cpa_1033_DLL_guid="08B5C87E-E4E0-4886-99FA-FB266BDCABF5"?>
<?define cmf_afs_shl_ext_1033_DLL_guid="5CA0BB73-35E2-4244-8891-DDD261244E06"?>
<?define cmf_afs_mount_ICO_guid="78420061-9042-40B5-A1AE-A6E9EA5CE88C"?>
<?define cmf_afs_link_ICO_guid="950BDA4E-6210-4925-A9E4-B70A937BD9A7"?>
<?define cmf_TaAfsServerManager_EXE_guid="D63E9DC0-4998-444F-A6BE-0B974FA718ED"?>
<?define cmf_TaAfsAdmSvr_EXE_guid="6E8C0D1B-D07D-467C-9829-5C4556CB062A"?>
<?define cmf_TaAfsAccountManager_EXE_guid="D8C0005E-A7A9-4B50-A28E-2C1429E8B805"?>
@ -110,6 +112,7 @@
<?define _afscreds_debugsym_guid="38DC7EA0-3130-4C27-8FD5-442660197208"?>
<?define _afscreds_chm_guid="24A87704-5F47-43Af-9F2B-568AB103ADAF"?>
<?define clsid_afs_shl_ext="5F820CA1-3DDE-11DB-B2CE-001558092DB5"?>
<?define clsid_afs_shl_ext2="5F820CA1-3DDE-11DB-B2CE-001558092DB6"?>
<?define DrvFSRDR_guid="6E8F93A9-5F72-42BA-BDD6-F01BC2A49EF3"?>
<?define DrvFSRDRDebug_guid="664E3C2B-8C9A-4BA8-ABE7-764ABCC4D472"?>
<?define DrvFSRDR_NP_guid="0EBA5BB2-9C55-41D7-9960-2781E9DEFE32"?>
@ -163,6 +166,8 @@
<?define cmf_afs_config_1033_DLL_guid="6DE08ED9-2B64-4D39-A50E-62FEAC91DF88"?>
<?define cmf_afs_cpa_1033_DLL_guid="12EE2B31-4320-4A6B-90F7-7A03ECF5A0DA"?>
<?define cmf_afs_shl_ext_1033_DLL_guid="9FF6C6CA-C731-4319-8777-E6DBAEFC3A4B"?>
<?define cmf_afs_mount_ICO_guid="681552AD-7671-470D-B4CE-26290AC95AC7"?>
<?define cmf_afs_link_ICO_guid="66E7BD99-114B-46E8-830B-73FA17C043FB"?>
<?define cmf_TaAfsServerManager_EXE_guid="B890FB93-2EFD-44B6-8CB3-7A6AFABFF029"?>
<?define cmf_TaAfsAdmSvr_EXE_guid="99E23413-8261-4007-9DC9-B2C7453EF1EE"?>
<?define cmf_TaAfsAccountManager_EXE_guid="BDFA5B64-2A69-41D5-8260-3DAB3CE9A10B"?>
@ -221,6 +226,7 @@
<?define cmp_Server_Program_Debug_guid="5F7BA9F7-E9BD-4AC3-9232-5EFBF6B740F8"?>
<?define rcm_binsonly_parm_guid="4DFE834A-F129-4FDD-91AD-8A31A849AF0B"?>
<?define clsid_afs_shl_ext="DC515C27-6CAC-11D1-BAE7-00C04FD140D2"?>
<?define clsid_afs_shl_ext2="DC515C27-6CAC-11D1-BAE7-00C04FD140D3"?>
<?define _afscreds_en_us_guid="B7F72D5F-B8A2-4FE8-B675-71BA4D04FA5C"?>
<?define _afscreds_plugin_guid="3477A7C4-9BC9-4AF9-B97D-C96455CC3AF6"?>
<?define _afscreds_debugsym_guid="DCBE9170-746F-4894-96FA-B8441A133133"?>

View File

@ -64,15 +64,39 @@
</Component>
<?endif?> <!-- /!LiteClient -->
<Component Id="rcm_Client" Guid="$(var.rcm_client_guid)" Win64="$(var.Win64)">
<!-- First Client Shell Extension Class -->
<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" Action="createKey" Id="reg_Client_NoUninstall" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.clsid_afs_shl_ext)}" Type="string" Value="$(loc.StrShlExtDesc)" Id="reg_Client_NoUninstall3" />
<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="{$(var.clsid_afs_shl_ext)}" Id="reg_Client20" />
<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="{$(var.clsid_afs_shl_ext)}" Id="reg_Client46" />
<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="{$(var.clsid_afs_shl_ext)}" Id="reg_Client49" />
<Registry Root="HKCR" Key="DIRECTORY\Background\shellex\ContextMenuHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client48" />
<Registry Root="HKCR" Key="DIRECTORY\Background\shellex\ContextMenuHandlers\AFS Client Shell Extension" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client49" />
<Registry Root="HKCR" Key="LibraryFolder\Background\shellex\ContextMenuHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client56" />
<Registry Root="HKCR" Key="LibraryFolder\Background\shellex\ContextMenuHandlers\AFS Client Shell Extension" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client57" />
<Registry Root="HKCR" Key="Folder\shellex\{00021500-0000-0000-C000-000000000046}" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client58" />
<Registry Root="HKCR" Key="Folder\shellex\{00021500-0000-0000-C000-000000000046}" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client59" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\AFS Mount Point Overlay" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_66" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\AFS Mount Point Overlay" Value="{$(var.clsid_afs_shl_ext)}" Type="string" Id="reg_Client_67" />
<!-- Second Client Shell Extension Class -->
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Id="reg_Client_NoUninstall7" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Action="createKey" Id="reg_Client_NoUninstall8" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.clsid_afs_shl_ext2)}" Type="string" Value="$(loc.StrShlExt2Desc)" Id="reg_Client_NoUninstall9" />
<Registry Root="HKCR" Key="*\shellex\PropertySheetHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client60" />
<Registry Root="HKCR" Key="*\shellex\PropertySheetHandlers\AFS Client Shell Extension" Type="string" Value="{$(var.clsid_afs_shl_ext2)}" Id="reg_Client61" />
<Registry Root="HKCR" Key="Drive\shellex\PropertySheetHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client62" />
<Registry Root="HKCR" Key="Drive\shellex\PropertySheetHandlers\AFS Client Shell Extension" Type="string" Value="{$(var.clsid_afs_shl_ext2)}" Id="reg_Client63" />
<Registry Root="HKCR" Key="Directory\shellex\PropertySheetHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client64" />
<Registry Root="HKCR" Key="Directory\shellex\PropertySheetHandlers\AFS Client Shell Extension" Type="string" Value="{$(var.clsid_afs_shl_ext2)}" Id="reg_Client65" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\AFS Symlink Overlay" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_68" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\AFS Symlink Overlay" Value="{$(var.clsid_afs_shl_ext2)}" Type="string" Id="reg_Client_69" />
<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" />
@ -198,7 +222,7 @@
</Component>
<?endif?> <!-- /!LiteClient-->
<!-- Work around bug KB30673. Only for Windows 2000. -->
<!-- Work around bug KB30673. Only for Windows 2000. -->
<Component Id="rcm_KB301673" Guid="$(var.rcm_kb301673_guid)" Win64="$(var.Win64)">
<Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\NetBT\Parameters" Name="SmbDeviceEnabled" Type="integer" Value="0" Id="reg_KB301673" KeyPath="yes" />
</Component>
@ -237,15 +261,40 @@
<Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client 32-Bit Binaries\$(var.NumericVersion)" Name="VersionString" Type="string" Value="$(var.NumericVersion)" Id="reg_Client_Bins24" />
<Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client 32-Bit Binaries\$(var.NumericVersion)" Name="InstallDateString" Type="string" Value="$(var.InstallTimestamp)" Id="reg_Client_Bins26" />
<Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client 32-Bit Binaries\$(var.NumericVersion)" Name="Description" Type="string" Value="$(loc.StrAFSCCDesc)" Id="reg_Client_Bins27" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Id="reg_Client_Bins28" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Action="createKey" Id="reg_Client_Bins29" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.clsid_afs_shl_ext)}" Type="string" Value="$(loc.StrShlExt32Desc)" Id="reg_Client_Bins30" />
<!-- First Client Shell Extension Class -->
<Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins31" />
<Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins32" />
<Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins33" />
<Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins34" />
<Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins35" />
<Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins36" />
<Registry Root="HKCR" Key="DIRECTORY\Background\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins35" />
<Registry Root="HKCR" Key="DIRECTORY\Background\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins36" />
<Registry Root="HKCR" Key="LibraryFolder\Background\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_ClientBins37" />
<Registry Root="HKCR" Key="LibraryFolder\Background\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_ClientBins38" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\AFS Mount Point Overlay (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_ClientBins39" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\AFS Mount Point Overlay (32-bit)" Value="{$(var.clsid_afs_shl_ext)}" Type="string" Id="reg_ClientBins40" />
<!-- Second Client Shell Extension Class -->
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Id="reg_ClientBins41" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Action="createKey" Id="reg_ClientBins42" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.clsid_afs_shl_ext2)}" Type="string" Value="$(loc.StrShlExt232Desc)" Id="reg_ClientBins43" />
<Registry Root="HKCR" Key="*\shellex\PropertySheetHandlers\AFS Client Shell (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_ClientBins44" />
<Registry Root="HKCR" Key="*\shellex\PropertySheetHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext2)}" Id="reg_ClientBins45" />
<Registry Root="HKCR" Key="Drive\shellex\PropertySheetHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_ClientBins46" />
<Registry Root="HKCR" Key="Drive\shellex\PropertySheetHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext2)}" Id="reg_ClientBins47" />
<Registry Root="HKCR" Key="Directory\shellex\PropertySheetHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_ClientBins48" />
<Registry Root="HKCR" Key="Directory\shellex\PropertySheetHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext2)}" Id="reg_ClientBins49" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\AFS Symlink Overlay (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_ClientBins50" />
<Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\AFS Symlink Overlay (32-bit)" Value="{$(var.clsid_afs_shl_ext2)}" Type="string" Id="reg_ClientBins51" />
</Component>
<?endif?>
</Include>