Carbonite Backup ist etwas wählerisch

Ein SpeedCommander-Anwender setzt die Software Carbonite Backup ein, mit der die zu sichernden Daten über das Internet in ein Backup-Center übertragen werden. Mit Hilfe von Overlay-Symbolen wird der Status gekennzeichnet. Ein grüner Punkt zeigt z.B. an, dass die Datei gesichert wurde. Mit einem gelben Punkt versehene Dateien werden gerade gesichert.

Soweit so gut, doch leider werden die Punkte nur im Explorer angezeigt, in SpeedCommander sind alle Dateien punktlos. Eigentlich gibt es dafür aber keinen Grund, da SpeedCommander die entsprechenden Overlay-Symbole ebenfalls bei der Shell anfragt und dann auch anzeigen sollte.

Im Debugger sah ich dann, dass beim Aufruf von IShellIconOverlay::GetOverlayIndex der Fehlercode E_FAIL zurückgegeben wird. Laut Dokumentation bedeutet dies, dass die übergebene PIDL ungültig ist. Zu erklären ist dies aber nicht, da alle anderen Overlay-Symbole ja korrekt ermittelt werden.

Aus Verzweiflung kam ich auf die dumme Idee, SpeedCommander.exe in Explorer.exe umzubenennen und aufzurufen. Danach sah ich das:

SpeedCommander als explorer.exe

Die Darstellung der Overlay-Symbole von Carbonite Backup funktioniert also wohl nur in Prozessen, die Explorer.exe heißen. Zur Überprüfung habe ich mir dann die Datei CarboniteNSE.dll angeschaut und bin auf folgende hartkodierte Namen gestoßen:

  • explorer.exe
  • dopus.exe
  • pdexplo.exe
  • regsvr32.exe
  • verclsid.exe
  • carboniteui.exe

Ändere ich SpeedCommander.exe in einen dieser Namen, dann werden die Symbole korrekt angezeigt. Bei allen anderen verweigert Carbonite Backup die Anzeige der Symbole und des Kontextmenü-Eintrags.

11 Antworten zu “Carbonite Backup ist etwas wählerisch”

Wat für ein Müll. Wenn andere Entwickler sowas machen, ists nicht schön…

Kommentar von Coder — 10.12.2007 @ 16:30

Flexible Programmierung wird überbewertet :D

Kommentar von Anarchy — 10.12.2007 @ 17:32

Ich gehe stark davon aus, dass Sven in solchen Sachen Weitsicht besitzt. :D

Kommentar von Peter — 10.12.2007 @ 20:51

“Regsvr32″ und “Verclsid” finde ich sehr interessant…

Deren GUI war schon immer sehr beeindruckend ;-)

Aber dass die jetzt noch die Carbonite Punkte richtig anzeigen, ist überwältigend!

Kommentar von Kay — 10.12.2007 @ 22:08

Vermutlich Performancegründe. Und vermutlich reichen die Strings für 90% ihrer Kunden. Und verclsid.exe ist durchaus verständlich; ohne würde Explorer die wahrscheinlich gar nicht laden.

Evtl. reicht es, die auf SpeedCommander aufmerksam zu machen.

Kommentar von meh — 10.12.2007 @ 22:31

Das ist mal ein neues Geschäftsmodell. Geld von Dateimanagerentwicklern verlangen um in eine Whitelist eingetragen zu werden.

Kommentar von Lefteous — 10.12.2007 @ 22:35

das ist ja fast so schlimm wie beim benchmark faken. ist schon krass!

Kommentar von hanni — 12.12.2007 @ 10:16

@meh: Habe ich versucht, bisher gab es aber noch keine Reaktion.

Kommentar von Sven — 12.12.2007 @ 16:40

Tja, Ignoranz kann ganz schön hässlich sein. ;)

Kommentar von Koveras — 16.12.2007 @ 20:28

Ein ähnliches Verhalten habe ich bei dem Tool TortoiseHg (eine Shell-Erweiterung wie TortoiseSVN für Mercurial) bemerkt. Dort waren die Overlay-Icons bisher auf “explorer.exe” beschränkt (aus Performance-Gründen, damit z.B. in normalen Datei-Dialogen keine Ausgabe erfolgt), diese Einschränkung wurde aber mittlerweile (nach Hinweis auf alternative Dateimanager) glücklicherweise aufgehoben.

Kommentar von Christian Andersen — 29.12.2007 @ 14:25

Greift hier eigentlich auch das neue Allgemeines Gleichbehandlungsgesetz? ;)

Kommentar von Sven — 30.12.2007 @ 11:58