Hi,
We've a really odd issue regarding environment variables.
We have to upgrade an existing postgre database.
So in a certain point, after "Start Services", we launch a custom action -> 'Launch File'
where psql (a postgre utility to run scripts ) is launched.
We know postgre is not of your competence, but we are desperate an maybe you have any idea of whats happening.
Check this.
psql.exe needs a password for that connection. That password can be provided in a user environment variable --> PGPASSWORD.
1- We use Advanced Installer to install that environment variable ('System Changes' -> Environment )
We have checked that it is correctly set by the installer before custom action (psql) is run.
But psql acts if it doesn't exists..
but
2- We MANUALLY set PGPASSWORD environment variable before running the installer.
and everything goes right !!!!!! (psql finds it and doesn't prompt for the password)
Shouldn't be any difference, right??
It seems it is not exactly the same to set the variable manually that by the installer,
even though we do both under same user account.
we've checked nine thousand, seventy three times... desperate and thinking in suicide.
Any idea? permissions...? something...?
info:
Windows Vista.
UAC disabled
We even set WriteEnviromentStrings execution order before FileInstall,
so it is a lot of time between both actions ( environment variable .... psql run)
IMPORTANT: "Start Service" standard action is not executed. (is conditioned...)
(in a clean installation we create and run a service that we don't want to exists when 'upgrading' old version)
custom action (psql run) is "Deferred with no impersonation". (anyway it works perfectly if we create the variable manually before launching the installer...)
any help or clue ?
thank your very much