Hi @all,
first of all: I don't have a question but want to share my answer and as I didn't find a post that 100% fits my problem I started a new thread here. Hope that is OK.
Here is (was) my problem: I have a long history of being unable to install SQL Server Managament Studio on my Windows 2008 R2 Domain Controller machine. This machine is my main PC for testing and developing and therefore is a server being used also as a workstation. I have been unable to install SQL Management Studio for a long time and tried over and over again and finally came to a solution ( it's rather a hack ) to get it installed.
Here is my situation: When installing SQL Server Management Studio (I refer to it as SSMS from now) it always failed and after digging into the log files I founf the following lines in trin_aide_Cpu32_1.log to be the initial error:
18:04:52 DDSet_Status: CustomActionData: "C:\Windows\Microsoft.NET\Framework\v3.5\addinutil.exe" -PipelineRoot:"C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA\Pipeline\." -Rebuild -Silent
Error: Exception has been thrown by the target of an invocation.
06/19/10 18:04:53 DDSet_Status: Process returned 1
06/19/10 18:04:53 DDSet_Error: The Commandline '"C:\Windows\Microsoft.NET\Framework\v3.5\addinutil.exe" -PipelineRoot:"C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA\Pipeline\." -Rebuild -Silent' returned non-zero value: 1.
06/19/10 18:04:53 DDSet_CARetVal: 1
06/19/10 18:04:53 DDSet_Exit: RunProcess ended
CustomAction RebuildAddInPipelineStore_Commit returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (4C:DC) [18:04:53:826]: Executing op: Header(Signature=1397708873,Version=500,Timestamp=1020497990,LangId=0,Platform=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=1)
MSI (s) (4C:DC) [18:04:53:826]: Executing op: DialogInfo(Type=0,Argument=0)
MSI (s) (4C:DC) [18:04:53:826]: Executing op: DialogInfo(Type=1,Argument=Microsoft Visual Studio Tools for Applications 2.0 - ENU)
MSI (s) (4C:DC) [18:04:53:826]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
The only information on the web that brought me near an idea of the solution was this post:
http://blogs.msdn.com/b/sqlserverfaq/archive/2010/03/24/installation-for-sql-server-2008-management-studio-fails-with-the-msi-error-code-0x5ebe5729.aspx
by AmruthaVarshiniJ
But here the situation is different. In the post above document it is clearly a drive letter issue, that I don't have.
I then experimented with the path problems described, tried to launch the command manually which failed because the path ...\VSTA\Pipeline\was no longer existent (I guess the SQL installation rolled it back). Copying the files there manually from ...\Pipeline.v10.0\ which did exist. Gave the above exception.
So tampering with the path didn't seem promissing to me.
I also read on a post in the connect forums here:
https://connect.microsoft.com/SQLServer/feedback/details/542454/failure-in-sql-server-2008-management-studio-express-installation?wa=wsignin1.0
that reinstalling .Net framework may do the trick, but that was no solution for me bacause as my W2K8R2 server is my domain controller and .Net framework is a role feature that is a prerequisite for the server being a domain controller, uninstalling the framework
would have meant to uninstall the domain controller first, which of course is unacceptable.
So here comes my workaround:
As the failing command is not installing anything and is only rebuilding the index of VSTA, I thought it won't be a big issue to not run this command at all. However the SQL installer is unkind and does not offer a dialog like "sorry something unimportant went
wrong, do you want to continue to install" as I would expect, so I had to hack the msi file and remove the respective actions.
I opened the msi (trin_aide.msi) using ORCA (http://support.microsoft.com/kb/255905/en-us) and removed the lines starting with RebuildAddInPipelineStore:
RebuildAddInPipelineStore_Commit_CMD 51 RebuildAddInPipelineStore_Commit "[NetFX3.5InstallPath_x86.3643236F_FC70_11D3_A536_0090278A1BB8]addinutil.exe" -PipelineRoot:"[VSTAAddInModelPipelineDir]." -Rebuild -Silent
You can search for this in ORCA using CTRL-F.
I then copied the install files to a temp directory exchanged the trin_aide.msi and ran the SQL installation again.
You will get error messages by some other part of the Visual Studio installation, but the installation will go through and SSMS will start. I did not regression test SSMS, so I can not tell whether something does not work due to the VSTA index not being rebuild, but at least I was able to attach to a database and read tables etc. which is better than not even getting SSMS installed.
I hope this helps other people coping with an installation similar installation issues. I can only recommend when you have installation issues to read the logs carefully and follow up on errors in it. Sometimes it makes sense to use Mark Russinovich's Procmon (http://technet.microsoft.com/de-de/sysinternals/bb896645.aspx) to see whether files can not be accessed etc. and of course to "bing" the internet.
I hope the Microsoft colleagues can design the installation process a bit more flexible in the future, so that the user can decide what to do if errors occur instead of rolling back tons of megabytes, because of an issue that doesn't seem to be mandatory anyway or just partitially decreases functionality. SSMS is a IT Pro tool, so you can expect, we can decide by ourselves, whether to go on or not.
Again I hope this helps others and feedback is welcome. If you need the hacked 64bit MSI file, email me. I still have it somewhere on my disc.
CU
Daniel
adadadad