The line of code that does this looks like this:
When I run this line of code (minus the execWait) directly in the cmd window it works fine. However when ran from the nullsoft installer the Postgres installer starts up and then throws an error saying: "User account □□□□□□□s□□□□\□□□□□W does not exist"execWait "MSIEXEC /i $\"postgresql-8.1-int.msi$\" /qb ADDLOCAL=server, nls, postgis, pljava, psql, pgadmin, jdbc, npgsql, psqlodbc, pgoledb, includefiles, libfiles, msvclibs, pgxs, binfiles INTERNALLAUNCH=1 DOSERVICE=1 CREATESERVICEUSER=0 DOINITDB=1 SERVICEDOMAIN=$\"%COMPUTERNAME%$\" SERVICEACCOUNT=$\"postgres$\" SERVICEPASSWORD=$\"randompass1$\" SERVICENAME=$\"PostgreSQL Database Server 8.1$\" SUPERUSER=$\"postgres$\" SUPERPASSWORD=$\"randompass2$\" LOCALE=C ENCODING=SQL_ASCII LISTENPORT=5432 PERMITREMOTE=1 PL_PGSQL=1 PL_PERL=1 PL_PERLU=1 PL_TCL=0 PL_TCLU=0 PL_PYTHONU=0 PL_JAVA=1 BASEDIR=$\"$INSTDIR\PostgreSQL\8.1$\""
So it seems that for some reason nullsoft installer messes with the command line arguments of msiexec, and instead of reading "postgres" as the user it uses a random unknown string (always the same one).
Any ideas why this happens?
Thanks.