Sometimes the easy jobs seems to be the hardest. Especially if you have to deal with high-quality software… As part of a project I had to install and configure a HP StoreOnce 4500 appliance in combination with HP Data Protector 8.12 and a StoreEver MSL2024 G3 tape-library. No big deal - until I hit the part, when I had to install HP StoreOnce Enterprise Manager v1.3 (SEM) on the new backup server. The installation failed with this error:
Setup could not provide access privileges to "C:Program FilesHewlett-PackardHP StoreOnce Enterprise ManagerRMSDataStorePostgresdata" directory of PostgreSQL
First I blamed UAC for this. I disabled it and re-ran the setup with “Run as administrator…”. The setup failed again. I tried the setup on my “rack ’n stack” laptop (Windows 8.1 Enterprise) and it fails with exactly the same error. I was puzzled, because I had SEM running on Windows 8.1 - until I decided to re-install this laptop with a german-language Windows 8.1. At this point it dawned on me a sense of foreboding. I remembered a bug in a HP Command View EVA release, which couldn’t be installed on non-Englisch operating systems, because the setup relied on hardcoded, english group names. A quick cross-check with a english Windows Server 2008 R2 VM confirmed this and I was able to install SEM without problems.
I checked the temporary folder in which the setup files were extracted. I found a batch file calles “SEMS_InstallDB”. This batch file included this line:
CACLS %POSTGREDATADIR% /E /G "Users":F >> %OutFilePath%
It seems that the user group “Users” was hardcoded. In a german-language OS this group is called “Benutzer”. With knowing this, the solution was easy (and the same as for the Command View EVA installation problem): Create a group with the name “Users” and add “Domain Admins” and “Domain Users” into it. Then rerun the setup and it should finish without problems.
Even if this failure is caused by bad coding habits, it confirms my personal recommendation to always deploy english operating systems.