在Windows 7下,我似乎无法让图标显示出来,我真的很怀念Windows XP的这一点。

如何解决?


当前回答

克里斯·埃里克森说得对,给他投票吧。在我的案例中,问题是安装TFS powertools,它添加了资源管理器外壳集成,就像TSVN和TCVS一样。它增加了另外5个叠加。因为它们的前缀是Tfs*,所以它们优先于Tortoise*。我也只是把Tfs的东西加上了z_和TSVN的覆盖回来了。不过不需要重启/注销,只需杀死explorer.exe并重新启动它。

其他回答

我遇到了与OP相同的问题:Win 7 (x64), TortoiseSVN (x64)和DropBox (x86)。其他一些答案给了我所有的信息。我在这台机器上只安装过x64版本的TSVN。

以我为例,TSVN和DropBox是在我安装操作系统的同一天安装的,直到几天前,它们的覆盖工作都很好。我没有做任何改变这两个应用程序设置导致它们停止工作的事情。

下面是问题开始后我在图标覆盖注册表部分(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiers):

DropboxExt1 DropboxExt2 DropboxExt3 EnhancedStorageShell 离线文件 SharingPrivate TortoiseAdded TortoiseConflict TortoiseDeleted TortoiseIgnored TortoiseLocked TortoiseModified TortoiseNormal TortoiseReadOnly TortoiseUnversioned

我验证了只有对应于前11个条目的覆盖显示在资源管理器中。当我通过在其中一些条目的开头添加'z'来修改上述条目的顺序时,仍然只显示前11个覆盖(在更新的顺序下)。

有了上面的内容,我就有了解决问题所需的一切(重命名或删除条目,以便我想要工作的TSVN条目在列表上<= #11)。下面讨论为什么会突然发生这种情况。

I know that based on the overlays that worked prior to a couple of days ago, keys 1-3, 7-9, 12-13 were all <= 11 in the list (not sure if overlay #14 ever worked since I never had files w/ read-only status. #15 never worked on this machine so i know it was never in the top 11). I also assume the block of TSVN keys move up/down in unison, therefore they were bumped down either two or three places (* see below). This implies that 2-3 items were added between the DropBox & TSVN blocks. The three that are there now are added by Windows and I would assume they'd be there as soon as the OS installed.

15个覆盖的列表是否在运行时确定?似乎覆盖处理程序有时会告诉windows shell没有图标可以添加到列表中。可能是我几天前搞砸了文件共享和文件加密的一些设置,导致4-6个位置的一些项目被“激活”,并将SVN的项目推下。

最后,我删除了一些条目,并移动了一些,所以我的最终列表看起来像这样:

DropboxExt1 DropboxExt2 DropboxExt3 SharingPrivate(我想显示这个) TortoiseAdded TortoiseConflict TortoiseDeleted TortoiseModified TortoiseNormal TortoiseReadOnly TortoiseUnversioned zOffline文件(我不使用同步中心,或“脱机文件”,所以我不关心这个) zEnhancedStorageShell(不知道什么是增强存储,不认为我需要这个)

可能出现的问题和解决方案

Windows限制可用的覆盖图标的数量,参考Kris Erickson的回答。 TortoiseSVN设置不当,参考Ralph Cowling的回答。 从早期版本(1.6.10之前)更新的已知错误,请参阅这里。 TortoiseSVN并不是为所有用户安装的,尝试像下面这样用cmd安装,如果下面三个解决方案都不工作,我相信这个方法会挽救你的生命。


rem Set your own path.
set TOOL_ROOT=d:\Tools\TortoiseSVN-1.6.13.20954-win32-svn-1.6.16\tortoisesvn_1.6.16.21511
set PACKAGENAME=TortoiseSVN-1.6.16.21511-x64-svn-1.6.17.msi
set TOOL_INSTALLROOT="c:\Program Files (x86)\TortoiseSVN"

msiexec /i "%TOOL_ROOT%\%PACKAGENAME%" INSTALLDIR=%TOOL_INSTALLROOT% ALLUSERS=1 ARPSYSTEMCOMPONENT=1 RebootYesNo=No REBOOT=ReallySupress /qb-

set ret=%ERRORLEVEL%

rem The installer seems to return same values as MSI
rem These codes mean that the product is properly installed, even though the code is not zero.
rem 1641 ERROR_SUCCESS_REBOOT_INITIATED
rem 3010 ERROR_SUCCESS_REBOOT_REQUIRED
if %ret% EQU 1641 set ret=0
if %ret% EQU 3010 set ret=0
if %ret% GTR 0 exit %ret%

另外两个可能的解决方案:

关闭tsvnache .exe并让它重新启动。这导致我的外壳覆盖图标重新出现在几个场合。 如果您最近从以前的版本升级了TortoiseSVN,您可能需要升级您的工作副本。这可以通过右键单击您的项目文件夹,并从上下文菜单中选择“SVN升级工作副本”来完成。

我的主要目的是为TortoiseCVS制作图标。很多建议对我不起作用:卸载,重新安装;通过重命名重新注册;重新启动多次。但是真正起作用的是安装TortoiseSVN。这使得TortoiseCVS的图标起作用。我查了注册表。SVN安装将数字放在图标名称前面:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers]
1TortoiseNormal
2TortoiseModified
3TortoiseConflict
4TortoiseLocked
5TortoiseReadOnly
6TortoiseDeleted
7TortoiseAdded
8TortoiseIgnored
9TortoiseUnversioned
Groove Explorer Icon Overlay 1 (GFS Unread Stub)
Groove Explorer Icon Overlay 2 (GFS Stub)
Groove Explorer Icon Overlay 2.5 (GFS Unread Folder)
Groove Explorer Icon Overlay 3 (GFS Folder)
Groove Explorer Icon Overlay 4 (GFS Unread Mark)
SharingPrivate
TortoiseAdded
TortoiseConflict
TortoiseDeleted
TortoiseIgnored
TortoiseLocked
TortoiseModified
TortoiseNormal
TortoiseReadOnly
TortoiseUnversioned
zEnhancedStorageShell
zOffline Files
zSkyDrivePro1 (ErrorConflict)
zSkyDrivePro2 (SyncInProgress)
zSkyDrivePro3 (InSync)

这些解决方案的组合对我很有效。我试图杀死并重新启动explorer.exe,由@LeighRiffel建议。没有工作。我卸载了dropbox,因为我很少使用它。然后,我又试了一次探索者,它成功了。也许你可以在这之后重新安装dropbox,看看事情是否还好?不过我不在乎。

步骤如下:运行taskmgr.exe或任务管理器> processes选项卡>选择explorer.exe > kill。然后点击文件选项> new task > enter explorer.exe > ok。