When installing the SCSM Data Warehouse Management Server, it is really annoying when the installer reaches almost the end, and then fails and rolls back… Then, to make things worse, no useful error is returned and nothing useful in the installation log.

One such example is where is fails with the message that _PopulateUserRoles failed.  I received this recently so went diving into the setup log to find a bit more information, but nothing really that shed any more light on the situation.

 

PopulatingUserRoles: Populating user roles for Data warehouse
PopulatingUserRoles error: System.Runtime.InteropServices.COMException : The security ID structure is invalid. (Exception from HRESULT: 0x80070539)
MSI (s) (98:54) [15:45:59:298]: NOTE: custom action _PopulateUserRoles unexpectedly closed the hInstall handle (type MSIHANDLE) provided to it. The custom action should be fixed to not close that handle.
CustomAction _PopulateUserRoles returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
09/06/2016 15:45:59.303 [2712]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 384

09/06/2016 15:45:59.304 [2712]: Detailed info about C:\Windows\assembly\tmp\FHV1JZOV\Microsoft.EnterpriseManagement.OperationsManager.Apm.StatisticCounters.ScriptingLibrary.dll

09/06/2016 15:45:59.305 [2712]:  File attributes: 00000080

09/06/2016 15:45:59.342 [2712]:  Restart Manager Info: 1 entries

09/06/2016 15:45:59.343 [2712]:   App[0]: (2712) Windows Installer (msiserver), type = 3

09/06/2016 15:45:59.343 [2712]:  Security info:

09/06/2016 15:45:59.344 [2712]:   Owner: S-1-5-18

09/06/2016 15:45:59.344 [2712]:   Group: S-1-5-18

09/06/2016 15:45:59.344 [2712]:   DACL information: 4 entries:

09/06/2016 15:45:59.345 [2712]:   ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18

09/06/2016 15:45:59.345 [2712]:   ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544

09/06/2016 15:45:59.345 [2712]:   ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545

09/06/2016 15:45:59.346 [2712]:   ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1

09/06/2016 15:45:59.347 [2712]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 384

 

While there are more error codes in here, such as 1603 and 80070005, they still don’t provide any useful information.  Plus, if you search the internet for a DW MS installation error with these error messages and codes, it seems there are numerous causes that could cause this.

For me, it was a simple case of mismatched SQL versions.  The Reporting instance installed on the DW management server was SQL Standard, whereas the Database engine instance was SQL Enterprise.

Now, it does state in the install documentation that all instances of SQL should be the version, type etc., however I do feel this key check could have been added to the pre-req check.

Hopefully you won’t hit any install issues, but if you hit something similar to this, maybe a quick check of your SQL versions is in order 🙂

David