Komfortabler Dateimanager mit vielen Funktionen

Carbonite Backup ist etwas wählerisch

By Sven on 10.12.2007 - 11:42 in Entwicklung

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.

Es gibt 11 Kommentare zu diesem Beitrag

Trackback URL | RSS-Feed für Kommentare

  1. Coder sagt:

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

  2. Anarchy sagt:

    Flexible Programmierung wird überbewertet 😀

  3. Peter sagt:

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

  4. Kay sagt:

    „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!

  5. meh sagt:

    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.

  6. Lefteous sagt:

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

  7. hanni sagt:

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

  8. Sven sagt:

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

  9. Koveras sagt:

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

  10. Christian Andersen sagt:

    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.

  11. Sven sagt:

    Greift hier eigentlich auch das neue Allgemeines Gleichbehandlungsgesetz? 😉

Top