Showing posts with label Error. Show all posts
Showing posts with label Error. Show all posts

Wednesday, 27 June 2012

Microsoft Lync Server 2010 Installation Failure: Error code -2068643839

I recently ran in to an installation issue deploying a Lync Standard Edition server.  The server failed to install SQL Express instance prerequisite with error code -2068643839.  After some research and various attempts to get SQL installed, I found that this particular error is a known issue for SQL 2008, whereby if the account used for installing SQL or in this instance SQL Express, is not granted the 'Debug Programs' user right, the installation will fail.



A default installation of Windows Server 2008 R2 will grant the builtin\Administrators local group the correct user right; however some busiensses security policy will necessitate the removal of this user right. 
The solution for this is to grant the installation account the user right, run the installation and then remove the user right again so as not to compromise security.  To grant the user right do the following:
  • Launch the 'gpedit.msc' MMC snapin
  • Navigate to Computer > Windows Settings > Security Settings > Local Policies > User Rights Assignment
  • Find the 'Debug programs' user right
  • View the properties of the setting
  • Click the 'Add User or Group' button
  • Add the user that you are running the installtion with
  • Click 'OK' all the way out
If the setting is being managed by GPO, it may be necessary to add the user via GPO.
At this point there will be a half installed version of SQL Express on the server which needs to be removed. 
  • Uninstall the SQL instance via programs and features
It may be possible to run the installation again; however my experience was that the installation failed a second time with the same error and so I manually installed the SQL instance using the command:
  • SQLEXPR_x64.exe /ACTION=Install /FEATURES=SQLEngine,Tools /INSTANCENAME=RTC /TCPENABLED=1 /SQLSVCACCOUNT="NT AUTHORITY\NetworkService" /SQLSYSADMINACCOUNTS="Builtin\Administrators" /BROWSERSVCSTARTUPTYPE="Automatic" /AGTSVCACCOUNT="NT AUTHORITY\NetworkService" /SQLSVCSTARTUPTYPE=Automatic
Choose the approproate instance name depending on if this is the RTC or RTCLOCAL instance.


Once this is done and the SQL instance is correctly installed, the Lync deployment wizard can be re-run and Lync should install correctly.  The other benefit of manually installing SQL is that the binaries can be installed on to a custom partition should that be required.

Wednesday, 16 March 2011

Server could not retrieve its initial configuration for a class from the WMI Provider

I recently spent a Sunday working on the above error and found very little out there on this, hence this blog post to hopefully help others finding themselves in a similar situation.

The infrastructure consisted of a Microsoft Office Communications Server 2007 R2 co-existing with a Microsoft Lync Server 2010 implementation; however this issue could affect a standard Microsoft OCS 2007 R2 deployment just as easily. The common denominator is that a pool has been recently deactivated and removed but there are still OCS pools in the forest.

Following a restart of the OCS front-end service on any remaining pool the following errors are observed in the event log. (I have only included the pertinent information for readability)


Log Name: Office Communications Server
Source: OCS WMI Consumer
Event ID: 20482
Level: Error
Description: Server could not retrieve its initial configuration for a class from the WMI Provider.
Class: MSFT_SIPTrustedServiceSetting
Cause: This can occur if the connection to Active Directory or SQL back-end database is down or if permissions to the service account are altered. Retrieval can also fail if an invalid entry is entered in the class using the UI or WMI or if corruption occurs in local WMI repository.
Resolution:
Make sure the account the service is running under has proper privileges and that connection to Active Directory or SQL back-end database is functional. Verify an identical entry does not exist as a direct federation partner or an IM service provider.


Followed by.....

Log Name: Office Communications Server
Source: OCS Server
Event ID: 12323
Level: Error
Description: Unable to initialize the protocol stack. The service has to stop.
Error code: 80070490 (Element not found. ).


Followed by.....

Log Name: Office Communications Server
Source: OCS Server
Event ID: 12326
Level: Error
Description: Failed starting the protocol stack. The service has to stop
Error code is:0x80070490 (Element not found. ).
Cause: Check the previous entries in the event log for the failure reason.
Resolution: Try restarting the server after resolving the failures listed in the previous event log entries.


The front end service fails to start; however all other services will start successfully. It seems, when the OCS front end service starts on any FE server in the forest, the service queries and validates the trusted service entries. If there are configuration issues here then the service will fail to start complaining that it cannot retrieve its initial configuration. In this particular case it was due to 2 trusted services for an OCS recording application which had the attribute 'msRTCSIP-RoutingPoolDN' pointing to the deactivated pool and thus an invalid attribute value. This was enough to cause the service to fail.

To resolve the problem, I simply set the 2 attributes to $null as I knew this application was no longer required and as such these records were also not required. It will more than likely be a different issue in each case and s care must be taken to ensure the changes you make here are not going to have other negative affects before making the changes; however you may need to simply update this attribute to point to a valid pool if the app is still in commission. It really will be a case by case judgement call.

It is important to note that by default the OCS based trusted services have the attribute 'msRTCSIP-RoutingPoolDN' set to $null and so generally decomissioning pools will be fine; however Lync pools use this attribute and they are generally pointing at themselves which again will be fine and I would not recommned changing this.

The trusted services can be found in the Microsoft\RTC Service\Trusted Services\ container, located either in the configuration partition or system partition, depending where OCS has been installed.

I manaaged to resolve my issue after being pointed to this blog post: http://ms-uc.herber.co/?p=40 and so thanks to Louis for this answer.