Creo que la solución es que tu propio programa preloader cree el acceso directo en el escritorio asignandole el icono correspondiente de la aplicación especificada en el ini.
Para ello puedes usar el interface IShellLink:
Código Delphi
[-]
uses
ShlObj,
ActiveX;
var
UnObject : IUnknown;
ShelLink : IShellLink;
if CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IUnknown, UnObject) <> S_OK then
begin
...Error..
end
else
begin
ShelLink := UnObject as IShellLink;
.....
ShelLink.SetIconLocation([Ejecutable de la aplicacion con path], [Icono]);
.....
end;
CoUninitialize();
Normalmente Icono por defecto será 0;