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

如何解决?


当前回答

也不需要重新启动你的电脑。而是重新启动explorer.exe:

按Ctrl + Shift + Esc。 单击进程选项卡。 右键单击explorer.exe。 选择“结束进程”。 单击“结束进程”按钮。 单击Applications选项卡。 右键单击。 单击“新建任务(运行)”。 “打开”设置为:资源管理器 单击OK。

Windows资源管理器已重新启动,TortoiseSVN图标重新出现。

其他回答

我遇到了与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(不知道什么是增强存储,不认为我需要这个)

也不需要重新启动你的电脑。而是重新启动explorer.exe:

按Ctrl + Shift + Esc。 单击进程选项卡。 右键单击explorer.exe。 选择“结束进程”。 单击“结束进程”按钮。 单击Applications选项卡。 右键单击。 单击“新建任务(运行)”。 “打开”设置为:资源管理器 单击OK。

Windows资源管理器已重新启动,TortoiseSVN图标重新出现。

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

勒!

在对你的注册表或Kris Erickson(优秀的)回答或下面列出的类似程序做任何事情之前,有一些事情需要考虑……

您是在网络驱动器上吗?

如果有,进入TortoiseSVN设置(右键单击任意文件夹> TortoiseSVN > settings),然后进入“图标叠加”

确保你选中了“网络驱动器”,如图所示:

默认情况下,在新的Tortoise安装中,网络驱动器没有添加图标。

这为我们解决了问题。如果这对你来说失败了,那么显然你可以通过这里列出的(稍微)复杂的解决方案。

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

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%