TFS 2010 Service Pack 1 Installation fails
-
Wednesday, March 09, 2011 10:28 AM
Hello,
the Installation of TFS2010 SP1 fails on Win 2008R2 SP1 and afterwards the TFS is not available. See the errorlog below
Best regards
WM_ACTIVATEAPP: Focus stealer's windows WAS visible, NOT taking back focus
[3/9/2011, 10:49:52]WM_ACTIVATEAPP: Focus stealer's windows WAS visible, NOT taking back focus
[3/9/2011, 10:48:22]calling PerformAction on an installing performer
[3/9/2011, 10:50:37]Final Result: Installation failed with error code: (0x80070643), "Fatal error during installation. " (Elapsed time: 0 00:03:52).
[3/9/2011, 10:50:49]WM_ACTIVATEAPP: Focus stealer's windows WAS visible, NOT taking back focus
[3/9/2011, 10:48:22]Wait for Item (VS10-KB2182621.msp) to be available
[3/9/2011, 10:48:27]VS10-KB2182621.msp is now available to install
[3/9/2011, 10:48:27]Creating new Performer for Patches item
[3/9/2011, 10:48:28]Successfully called MsiEnableLog with log file set to C:\Users\main007\AppData\Local\Temp\2\KB2182621_20110309_104647910-Microsoft Team Foundation Server 2010 - ENU-MSP0.txt
[3/9/2011, 10:48:28]Log File C:\Users\main007\AppData\Local\Temp\2\KB2182621_20110309_104647910-Microsoft Team Foundation Server 2010 - ENU-MSP0.txt does not yet exist but may do at Watson upload time
[3/9/2011, 10:48:28]about to call MsiInstallProduct with PATCH="E:\mu_team_foundation_server_2010_sp1_x86_x64_651711\VS10-KB2182621.msp" on product {BD8885BD-CFE2-3E43-99BC-33EC4E109EF5}(C:\Windows\Installer\aeb42a.msi) to install patches.
[3/9/2011, 10:50:37]Patch (E:\mu_team_foundation_server_2010_sp1_x86_x64_651711\VS10-KB2182621.msp) Install failed on product (Microsoft Team Foundation Server 2010 - ENU). Msi Log:
[3/9/2011, 10:50:37]MSI returned 0x643
[3/9/2011, 10:50:37] exiting function/method
[3/9/2011, 10:50:37]
[3/9/2011, 10:50:37] Action Rollback changes[3/9/2011, 10:50:37]PerformMsiOperation returned 0x643
[3/9/2011, 10:50:37] exiting function/method
[3/9/2011, 10:50:37] PerformMsiOperation returned 0x643[3/9/2011, 10:50:37]OnFailureBehavior for this item is to Rollback.
[3/9/2011, 10:50:37] Action complete
All Replies
-
Wednesday, March 09, 2011 1:23 PM
I have the very same problem.
It has also killed the installation as it says the database has been upgraded but the application tier has not.
C:\Program Files\Microsoft Team Foundation Server 2010\Tools>TfsConfig diagnose
/scope:updates
Logging sent to file C:\ProgramData\Microsoft\Team Foundation\Server Configurati
on\Logs\CFG__UNK_0309_095255.log
Command: diagnose
TfsConfig - Team Foundation Server Configuration Tool
Copyright (c) Microsoft Corporation. All rights reserved.
Validating Inputs
Running Readiness Checks ...
0 errors, 0 warnings
Executing ...
Analyzing the service levels on the configuration database for Team Foundation S
erver.
TF255494: The following database has a more recent service level than this appli
cation tier: Configuration Database. The following software update must be insta
lled on the application tier: KB2182621 (SP1).
Node Warning (DIAGNOSESERVICINGONCONFIGDB): DiagnoseServicingOnInstance
Analyzing the service levels on the databases for team project collections.
No service-level issues were found on the team project collection databases.
diagnose completed successfully. -
Wednesday, March 09, 2011 7:50 PMModerator
We are sorry you are having problems installing Service Pack 1. Have you tried following the steps in this KB article to troubleshoot the problem?
http://support.microsoft.com/kb/2516423
-
Wednesday, March 09, 2011 7:55 PMI can't speak for the original poster but I tried all those steps with no success.
-
Wednesday, March 09, 2011 8:07 PMModerator
Can you please collect the Windows Installer log, the configuration logs and the collection servicing logs as described in the KB article and send them to my email address (<FirstName>.<LastName> at microsoft dot com)?
-
Thursday, March 10, 2011 8:05 AMWe decide to install a new TFS Installation because we didn't work productive with the TFS 'til now, but want to start next week.
-
Friday, March 11, 2011 4:36 PM
We had the exact same problem.
Its turns out it was a permission issue. Make sure you do the following:
1) Run VS2010 SP1 installation package with an account that is part of the local administrators of the box.
2) Make sure the account also has a server level login in the SQL Server of the box
Good Luck
- Proposed As Answer by k beller Friday, July 01, 2011 7:28 PM
-
Friday, January 13, 2012 1:11 PM
Same problem for me as well :
[1/13/2012, 9:59:37]Patch (d:\b68b6ad4f6f5c3fa8d9de5e53607c4\VS10-KB2182621.msp) Install failed on product (Microsoft Team Foundation Server 2010 - ENU). Msi Log:
[1/13/2012, 9:59:37]MSI returned 0x643
Granted "sysadmin" priviledges to my admin windows account and it worked.It is disturbing that such priviledge is required to apply the SP1. My account was owner of all tfs databases. -
Sunday, January 22, 2012 7:52 AM
I had the exact same problem.
After reading MSI action log (reffered in installation log file) I FOUND! the solution:
My windows server 2008 R2 installation is a DC (domain controller), but the user added to SQL 2008 security (Login) with sys_admin role was from old days (MACHINE-NAME\USERNAME, in my case: SKYWAVE-SERVER1\MA). As you may know this does not produce any problem in many applications because they automatically map it to the new domain user (DOMAIN\USERNAME, in my case: SKYWAVETECH\MA) but if you read the msi log, you will find that the MSI installer tries to find the new domain user in SQL security (Login), and because it can't find it (perhaps it will search it exactly and don't check MACHINE-NAME case) it will try to create it! but SQL server knows that these two LOGINs are the same and will not allow to add a new login with DOMAIN\USERNAME !!! That's it!!! MSI Installer will fail and the setup starts to ROLLBACK.
So how we can fix this?
1- Create a SA SQL user (if you disabled it, enable it temporarily) with sys_admin role (also you can add another login for another domain account but remember to add sys_admin role!)
2- Open SQL Management Studio and connect to your server with your SA SQL login (or login to server with the other account you created and connect to the SQL server using Windows Auth)
3- In Security\Logins delete the old MACHINE-NAME\USERNAME login (in my case: SKYWAVE-SERVER1\MA)
4- Now add the new DOMAIN\USERNAME login (in my case: SKYWAVETECH\MA) with sys_admin role
5- Disable the SA account (if you don't need it and enabled it temporarily) (or delete the domain account login you created just for this)
6- Now you can run the SP1 installer with your DOMAIN\USERNAME account logged in (in my case: SKYWAVETECH\MA) and it will be successfully installed!
Hope it will help you too ;)
And here is the msi log file section containing the error:
CAQuietExec: ModifyExecRole.sql Line 2 Error: The server principal 'SKYWAVETECH\ma' already exists.
CAQuietExec: ModifyExecRole
CAQuietExec: account=SKYWAVETECH\ma
CAQuietExec: operation=1
CAQuietExec: Adding ...
CAQuietExec: checking if login exists
CAQuietExec: SKYWAVETECH\ma is not a login. creating login.
CAQuietExec: Microsoft.TeamFoundation.Framework.Server.CollectionServicingException: ModifyExecRole.sql Line 2 Error: The server principal 'SKYWAVETECH\ma' already exists.
CAQuietExec: ModifyExecRole
CAQuietExec: account=SKYWAVETECH\ma
CAQuietExec: operation=1
CAQuietExec: Adding ...
CAQuietExec: checking if login exists
CAQuietExec: SKYWAVETECH\ma is not a login. creating login. ---> System.Data.SqlClient.SqlException: The server principal 'SKYWAVETECH\ma' already exists.
CAQuietExec: ModifyExecRole
CAQuietExec: account=SKYWAVETECH\ma
CAQuietExec: operation=1
CAQuietExec: Adding ...
CAQuietExec: checking if login exists
CAQuietExec: SKYWAVETECH\ma is not a login. creating login.
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.MapException(SqlException ex, QueryExecutionState queryState)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.HandleException(SqlException ex)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.Execute(ExecuteType executeType, CommandBehavior behavior)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.ExecuteNonQuery(Boolean bindReturnValue)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.SqlScriptResourceComponent.ExecuteSql(String sqlScriptResourceName, String lines, SqlParameter sqlParameters)
CAQuietExec: --- End of inner exception stack trace ---
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.SqlScriptResourceComponent.ExecuteSql(String sqlScriptResourceName, String lines, SqlParameter sqlParameters)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.SqlScriptResourceComponent.ExecuteSql(Stream sqlScriptResource, String sqlScriptResourceName, SqlParameter sqlParameters, Boolean retryIfLostConnection)
CAQuietExec: at Microsoft.TeamFoundation.Server.Servicing.TFCollection.FrameworkStepPerformer.ExecuteSql(ServicingContext servicingContext, String connectionString, String sqlResourceName, SqlParameter sqlParameters, Int32 commandTimeout)
CAQuietExec: at Microsoft.TeamFoundation.Server.Servicing.TFCollection.FrameworkStepPerformer.ExecuteSql(ServicingContext servicingContext, String connectionString, String sqlResourceName, SqlParameter sqlParameters)
CAQuietExec: at Microsoft.TeamFoundation.Server.Servicing.TFCollection.FrameworkStepPerformer.AddSqlRoleMember(String stepData, ServicingContext servicingContext, Boolean validateOnly)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationStepPerformerBase.Microsoft.TeamFoundation.Framework.Server.IStepPerformer.PerformStep(String servicingOperation, String stepType, String stepData, ServicingContext servicingContext)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.PerformServicingStep(ServicingStep step, ServicingContext servicingContext, ServicingStepGroup group, ServicingOperation servicingOperation, Boolean validateOnly)
CAQuietExec: Servicing step Add Running User to the TFSADMINROLE failed. (ServicingOperation: StartInstallUpdates; Step group: StartInstallUpdates)
CAQuietExec: Clearing dictionary, removing all items.
CAQuietExec: An exception has occurred during the servicing step InstallPatches.
CAQuietExec: Microsoft.TeamFoundation.Framework.Server.CollectionServicingException: Error occurred while executing servicing step Add Running User to the TFSADMINROLE for component StartInstallUpdates during StartInstallUpdates: ModifyExecRole.sql Line 2 Error: The server principal 'SKYWAVETECH\ma' already exists.
CAQuietExec: ModifyExecRole
CAQuietExec: account=SKYWAVETECH\ma
CAQuietExec: operation=1
CAQuietExec: Adding ...
CAQuietExec: checking if login exists
CAQuietExec: SKYWAVETECH\ma is not a login. creating login. ---> Microsoft.TeamFoundation.Framework.Server.CollectionServicingException: ModifyExecRole.sql Line 2 Error: The server principal 'SKYWAVETECH\ma' already exists.
CAQuietExec: ModifyExecRole
CAQuietExec: account=SKYWAVETECH\ma
CAQuietExec: operation=1
CAQuietExec: Adding ...
CAQuietExec: checking if login exists
CAQuietExec: SKYWAVETECH\ma is not a login. creating login. ---> System.Data.SqlClient.SqlException: The server principal 'SKYWAVETECH\ma' already exists.
CAQuietExec: ModifyExecRole
CAQuietExec: account=SKYWAVETECH\ma
CAQuietExec: operation=1
CAQuietExec: Adding ...
CAQuietExec: checking if login exists
CAQuietExec: SKYWAVETECH\ma is not a login. creating login.
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.MapException(SqlException ex, QueryExecutionState queryState)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.HandleException(SqlException ex)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.Execute(ExecuteType executeType, CommandBehavior behavior)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.ExecuteNonQuery(Boolean bindReturnValue)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.SqlScriptResourceComponent.ExecuteSql(String sqlScriptResourceName, String lines, SqlParameter sqlParameters)
CAQuietExec: --- End of inner exception stack trace ---
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.SqlScriptResourceComponent.ExecuteSql(String sqlScriptResourceName, String lines, SqlParameter sqlParameters)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.SqlScriptResourceComponent.ExecuteSql(Stream sqlScriptResource, String sqlScriptResourceName, SqlParameter sqlParameters, Boolean retryIfLostConnection)
CAQuietExec: at Microsoft.TeamFoundation.Server.Servicing.TFCollection.FrameworkStepPerformer.ExecuteSql(ServicingContext servicingContext, String connectionString, String sqlResourceName, SqlParameter sqlParameters, Int32 commandTimeout)
CAQuietExec: at Microsoft.TeamFoundation.Server.Servicing.TFCollection.FrameworkStepPerformer.ExecuteSql(ServicingContext servicingContext, String connectionString, String sqlResourceName, SqlParameter sqlParameters)
CAQuietExec: at Microsoft.TeamFoundation.Server.Servicing.TFCollection.FrameworkStepPerformer.AddSqlRoleMember(String stepData, ServicingContext servicingContext, Boolean validateOnly)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.TeamFoundationStepPerformerBase.Microsoft.TeamFoundation.Framework.Server.IStepPerformer.PerformStep(String servicingOperation, String stepType, String stepData, ServicingContext servicingContext)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.PerformServicingStep(ServicingStep step, ServicingContext servicingContext, ServicingStepGroup group, ServicingOperation servicingOperation, Boolean validateOnly)
CAQuietExec: --- End of inner exception stack trace ---
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.ServicingContext.FinishStep(Exception exception)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.PerformServicingStep(ServicingStep step, ServicingContext servicingContext, ServicingStepGroup group, ServicingOperation servicingOperation, Boolean validateOnly)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.PerformOperations(Boolean validateOnly, Int32 stepsToPerform)
CAQuietExec: at Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.Execute(Int32 numberOfStepsToPerform)
CAQuietExec: at Microsoft.TeamFoundation.Admin.ConfigurationUpdateDriver.Execute()
CAQuietExec: at Microsoft.TeamFoundation.Servicing.UpdateInstaller.ExecuteServicingOperations(ServicingOperationTarget target, String servicingOperations)
CAQuietExec: at Microsoft.TeamFoundation.Servicing.UpdateInstaller.InstallConfigurationDatabaseUpdates(ServiceLevel configDbServiceLevel, ServiceLevel manifestServiceLevel)
CAQuietExec: at Microsoft.TeamFoundation.Servicing.UpdateInstaller.InstallDatabaseUpdates()
CAQuietExec: at Microsoft.TeamFoundation.Servicing.UpdateInstaller.InstallUpdates(Boolean skipDatabase)
CAQuietExec: at Microsoft.TeamFoundation.Servicing.PatchInstallManager.InstallPatches(Boolean skipDatabase)
CAQuietExec: An exception has occurred during the servicing step InstallPatches.
CAQuietExec: Error 0x80070064: Command line returned an error.
CAQuietExec: Error 0x80070064: CAQuietExec Failed
Please remember to mark the replies as answers if they help and unmark them if they provide no help. Raise Yourself To Help Mankind (RYTHM)

