Moin Yheeky,
irgendwie erkenn' ich da meine "Handschrift"
Wenn ich nicht irre, war das ganze auch mal mit Kommentaren versehen.
Wichtig wäre schon einmal, dass das CoInitialize nur einmal pro Thread aufgerufen wird, was sich am elegantesten wohl im initialization Abschnitt des Hauptformulares erledigen lässt. Dazu
muss zu jedem Aufruf von CoInitialize auch ein Aufruf von CoUninitialize erfolgen (finalization).
Das nur mal vorweg, da es für ein sauberes Resourcenmanagement wichtig ist.
Ich denke mal, dass der Fehler erst in der Zeile pfPersistFile.Save... liegt, da hier erst wirklich gespeichert wird.
Allerdings weiss ich nicht genau, welcher Pfad angemeckert wird, der der LNK Datei, oder der auf die die LNK Datei verweist (dann hättest Du wohl recht mit der fehlerhaften Zeile).
Gibt es bei den Systemen, bei denen der Fehler auftritt irgendwelche Gemeinsamkeiten (im Moment habe ich den Verdacht, dass es sich durchweg um XP bzw.
W2K handeln könnte)?
Vermutlich liegt die Fehlerursache darin, dass auf einen Pfad verwiesen wird, der Leerstellen enthält.