Debugg doch mal..
Benutzt du Windows Vista oder höher? Dann versuch mal dein Programm im Explorer mit Rechtsklick->"Als Administrator ausführen" zu starten.
Delphi-Quellcode:
if Extension[1] ='.' then
Extension := '.' + Extension;
Sollte es nicht <> anstatt = heißen im if?
Und warum
Delphi-Quellcode:
if Extension='' then
begin
Soll die Erweiterung nur registriert werden, wenn keine angegeben wurde?