it works when run manually, it looks like the combination NSIS installer and the MSI installer doesn't work very well.
I did what you suggested, I created a user before launching the installer and the installer failed this time with the following error.

User "some binary signs"4/"some binary signs" could not be found.
replace "some binary signs" with some binary signs.

The user was correctly created with the right permissions and the silent installer command was:
msiexec /i C:\hsm\source\pgsql\postgresql-8.1-int.msi  /qr 
INTERNALLAUNCH=1 ADDLOCAL=server,psql,pgadmin 
SERVICEDOMAIN=%COMPUTERNAME% SERVICEACCOUNT=fd202016fd 
SERVICEPASSWORD=fd_pgsql SUPERUSER=root SUPERPASSWORD=fd_hsm 
PERMITREMOTE=1 ENCODING=UTF8 CREATESERVICEUSER=0 
BASEDIR=C:\hsm\postgres
Anton

Magnus Hagander wrote:
Bug reference:      2343
Logged by:          Anton
Email address:      support@firedigit.com
PostgreSQL version: 8.1.2
Operating system:   Windows XP
Description:        Silent installers fails
Details: 

Hi All,

When the installer creates the user account, I get the 
following error: 

Internal Account lookup failure
No mapping between account names and security ID's was done.

Here is the silent installer command:

msiexec /i C:\hsm\source\pgsql\postgresql-8.1-int.msi  /qr 
INTERNALLAUNCH=1 ADDLOCAL=server,psql,pgadmin 
SERVICEDOMAIN=%COMPUTERNAME% SERVICEACCOUNT=fd202016fd 
SERVICEPASSWORD=fd_pgsql SUPERUSER=root SUPERPASSWORD=fd_hsm 
PERMITREMOTE=1 ENCODING=UTF8 CREATESERVICEUSER=1 
BASEDIR=C:\hsm\postgres

This is run from an NSIS installer (with ExecWait).
The user account "fd202016fd" specified was created.
    

Does it work if you run it manually?


  
Any idea what could cause this and what could be a workaround?
    

Not really, it shouldn't normally happens. It seems it's created, but
the process that created it can't see it because of some delay
somewhere.

A workaround is to create the account before you launch the installer.

//Magnus