1) go to directory \var\cache\rpm\wps\packages and check if you find a file for your package (PMDLL). Have a look at the contained file and check if the string resolves to what you expect it to be
2) try to do a "dry" run of wps-object.exe:
a) change to directory \usr\lib\rpm\pc
b) invoke: wps-object.exe /create pmdll "PMDLL_EXE:WPProgram|PMDLL|<WP_DESKTOP>|EXENAME=((%{_bindir}/PMDLL.EXE));ASSOCTYPE=Executable,Dynamic Link Library;ASSOCFILTER=*.EXE,*.DLL;|R"
That should create the desktop icon. Of couse, since the path does not properly resolve, it will not work. But that will let you check if wps-object.exe runs unobstructed. If the latter fails then you know you have a problem with your WPS. If it succeeds, it means you have a problem somewhere else in your spec file or a broken RPM installation that possibly fails in resolving the %{_bindir} variable.
The "R" stands for "replace" in contrast to "U" which stands for "update". Since "update" is the default, you do not need to specify it.
All of this is explained here:http://trac.netlabs.org/rpm/changeset/91
That will also show you that wps-object.exe really is just a simple REXX script that has been compiled into an executable (via the REXX2EXE tool from Veit Kannegieser).
Lars