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

如何解决?


当前回答

编辑注册表订单对我来说很有用。元素前面已经有#s了。所以它不起作用。 我发现之前的条目有空格。现在我的SVN注册表有了一个空间# name

其他回答

编辑注册表订单对我来说很有用。元素前面已经有#s了。所以它不起作用。 我发现之前的条目有空格。现在我的SVN注册表有了一个空间# name

我的主要目的是为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)

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

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

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

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

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%