"Error 1935. An error occurred during the installation of assembly
'Microsoft.VC80.CRT,publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762",processorArchitecture="x86"'.
Please refer to Help and Support for more information. HRESULT: 0x80071A30.
assembly interface: IAssemblyCacheItem, function: Commit, component:
{98CB24AD-52FB-DB5F-A01F-C8B3B9A1E18E}"
The c++ runtime is included in a merge module inside our own msi package.
The same error happens if I try to install vcredist_x86.exe. So the problem
is either in Vista's CBS or the c++ runtime merge modules.
Does anyone have any idea what could cause this? And is there any way to fix
it?
Errors in the msi verbose log:
*************
MSI (s) (88:9C) [11:47:58:796]: Executing op:
End(Checksum=0,ProgressTotalHDWord=0,ProgressTotalLDWord=781200)
MSI (s) (88:9C) [11:48:21:499]: Assembly Error:It is too late to perform the
requested operation, since the Transaction has already been aborted.
MSI (s) (88:9C) [11:48:21:499]: Note: 1: 1935 2:
{98CB24AD-52FB-DB5F-A01F-C8B3B9A1E18E} 3: 0x80071A30 4: IAssemblyCacheItem 5:
Commit 6:
Microsoft.VC80.CRT,publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762",processorArchitecture="x86"
MSI (s) (88:9C) [11:48:21:499]: Assembly Error (sxs): To get more diagnostic
information, enable the Component Based Servicing Log.
MSI (s) (88:9C) [11:48:21:499]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (88:9C) [11:48:21:499]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (88:9C) [11:48:21:499]: Product: XXXX -- Error 1935. An error
occurred during the installation of assembly
'Microsoft.VC80.CRT,publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762",processorArchitecture="x86"'.
Please refer to Help and Support for more information. HRESULT: 0x80071A30.
assembly interface: IAssemblyCacheItem, function: Commit, component:
{98CB24AD-52FB-DB5F-A01F-C8B3B9A1E18E}
Error 1935. An error occurred during the installation of assembly
'Microsoft.VC80.CRT,publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762",processorArchitecture="x86"'.
Please refer to Help and Support for more information. HRESULT: 0x80071A30.
assembly interface: IAssemblyCacheItem, function: Commit, component:
{98CB24AD-52FB-DB5F-A01F-C8B3B9A1E18E}
************
And the CBS.log errors:
******************
2009-06-05 11:48:03, Error CSI 00000008@2009/6/5:08:48:03.218 (F)
d:\longhorn\base\wcp\componentstore\transaction_support.cpp(525): Error
c0190015 [Error,Facility=FACILITY_TRANSACTION,Code=21 (0x0015)] originated in
function ComponentStoreImpl::TransactionContext::Commit expression:
(*g_pfnCommitTransaction)(m_TxHandle, 1)
[gle=0x80004005]
2009-06-05 11:48:21, Error CSI 00000009 (F) c0190015
[Error,Facility=FACILITY_TRANSACTION,Code=21 (0x0015)] #1172# from
ApplyTransactionPOQsToSil(...)[gle=0xd0190015]
2009-06-05 11:48:21, Error CSI 0000000a (F) c0190015
[Error,Facility=FACILITY_TRANSACTION,Code=21 (0x0015)] #1142# from
Windows::COM::CComponentStore::ApplyTransactionNow(...)[gle=0xd0190015]
2009-06-05 11:48:21, Error CSI 0000000b (F) HRESULT_FROM_WIN32(6704) #1134#
from
Windows::COM::CPendingTransaction::IStorePendingTransaction_Apply(...)[gle=0x80071a30]
********************
CRT version in the merge modules provided with Vs2005 SP1 has version
8.0.50727.762
These seem to be the pre-installed CRTs in Vista:
Vista SP2 8.0.50727.4016
Vista SP1 8.0.50727.1434
So there is no point installing the VS2005 SP1 version in Vista SP1 or
newer, because applications that use dynamic linking to runtimes are anyway
redirected to use the newer versions that are pre-installed with the Vista
Service Packs. Am I right?
I think I also have to find out which versions of runtimes are pre-installed
with different XP Service Packs. So that we can install the VC80 runtimes
only when actually needed.
'Microsoft.VC90.CRT,processorArchitecture="x86",version="9.0.30729.177",type="win32",publicKeyToken="1fc8b3b9a1e18e3b"'.
Please refer to Help and Support for more information. HRESULT: 0x800736B3.
assembly interface: IAssemblyCacheItem, function: Commit, component:
{7A7D6B13-C853-3D3A-9481-655055655B36}
(This is a post-VS 2008 SP1 version of the runtime.)
In this case, the workaround of "not installing at all" is of course not
available.
-Antti