安装com+应用程序Npointhost时出错 
com+无法与microsoft分布式事务协调程序交谈

百度是因为没有启动 msdtc 这个服务
net start msdtc 却提示:
Distributed Transaction Coordinator 
服务无法启动发生服务特定错误: 3221229584
再百度这个错误找到最终问题了:
主要是系统无法找到MS DTC 日志文件造成的,只要创建一下就可以了:
cmd: msdtc -resetlog",运行该命令即可.

 

 

Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止

 

方法一
这主要是系统无法找到MS DTC 日志文件造成的,只要创建一下就可以了:

点开始→运行→输入命令"msdtc -resetlog",运行该命令即可.

之后,重新启动电脑,或者运行服务中的"Distributed Transaction Coordinator "服务均可.

方法二

问题解决:

setp 1

停止相关服务

MSDTC_1.bat

@echo off 
if {%1}=={} @echo Syntax: MSDTC1 Filename&goto :EOF 
setlocal ENABLEDELAYEDEXPANSION 
set filename=%1 
if exist %filename% del /q %filename% 

@echo Alerter 
@echo EventSystem 
@echo Browser 
@echo TrkWks 
@echo Dnscache 
@echo Eventlog 
@echo PolicyAgent 
@echo dmserver 
@echo Messenger 
@echo Netlogon 
@echo NtLmSsp 
@echo Netman 
@echo PlugPlay 
@echo RpcSs 
@echo RpcLocator 
@echo NtmsSvc 
@echo SamSs 
@echo lanmanserver 
@echo SENS 
@echo Schedule 
@echo LmHosts 
@echo winmgmt 
@echo Wmi 
@echo W32Time 
@echo lanmanworkstation 
)>"%TEMP%\MSDTC1.TMP" 
call :stopdtc>nul 2>&1 
for /f "Tokens=*" %%L in ('reg query HKLM\System\CurrentControlSet\Services^|FINDSTR /I /B /L /C:"HKEY_LOCAL_MACHINE"') do ( 
set line=%%L 
set key=HKLM!LINE:~18! 
call :subkey "!key!" 
call :testsvc 

endlocal 
goto :EOF 
:stopdtc 
sc stop msdtc 
goto :EOF 
:testsvc 
for /f "Tokens=*" %%c in ('@echo !svc!^|findstr /I /B /E /L /G:"%TEMP%\MSDTC1.TMP"') do goto :EOF 
set /a start=3 
set /a type=0 
call :getstart>nul 2>&1 
call :gettype>nul 2>&1 
if %type% LSS 16 goto :EOF 
if %start% NEQ 2 goto :EOF 
sc config !svc! start= demand 
@echo sc config !svc! start= auto>>%filename% 
goto :EOF 
:gettype 
for /f "Tokens=2,3" %%x in ('reg query "HKLM\System\CurrentControlSet\Services\!svc!" /V type^|FIND "REG_DWORD"') do ( 
set /a type=%%y 

goto :EOF 
:getstart 
for /f "Tokens=2,3" %%x in ('reg query "HKLM\System\CurrentControlSet\Services\!svc!" /V start^|FIND "REG_DWORD"') do ( 
set /a start=%%y 

goto :EOF 
:subkey 
set svc=%~nx1

重启机器

step 2

删除关联的注册表项及重新安装msdtc组件

MSDTC_2.bat

@echo off 
setlocal 
@echo %WINDIR%\System32\msdtc.exe -uninstall 
%WINDIR%\System32\msdtc.exe -uninstall 
call :delkey "HKCR\CID" 
call :delkey "HKLM\SYSTEM\CurrentControlSet\Services\MSDTC" 
call :delkey "HKLM\SYSTEM\ControlSet001\Services\MSDTC" 
call :delkey "HKLM\SYSTEM\ControlSet002\Services\MSDTC" 
call :delkey "HKLM\Software\Microsoft\MSDTC" 
@echo %WINDIR%\System32\msdtc.exe -install 
%WINDIR%\System32\msdtc.exe -install 
endlocal 
goto :EOF 
:delkey 
set key=%1 
call :delkeyq %key% >nul 2>&1 
@echo. 
goto :EOF 
:delkeyq 
REG DELETE %key% /F

step 3

restlog

MSDTC_3.bat

@echo off 
if {%1}=={} @echo Syntax: MSDTC3 Filename&goto :EOF 
if not exist %1 Syntax: MSDTC3 Filename - %1 was NOT found.&goto :EOF 
setlocal 
set filename=%1 
for /f "Tokens=*" %%r in ('type %filename%') do ( 
%%r 

reg add "HKLM\SOFTWARE\Microsoft\MSDTC\XADLL" /F 
regsvr32 mtxoci.dll 
endlocal

运行完,看看日志

已成功安装 Microsoft Distributed Transaction Coordinator 服务。