.Net Framework 3.5インストール時の イベントログのエラーについて調べてみた

Windows 2000に.Net Framework 3.5をインストールすると

e or all identity references could not be translated.
at
System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection
sourceAccounts, Type targetType, Boolean forceSuccess)
at System.Security.Principal.NTAccount.Translate(Type targetType)
at
System.Security.AccessControl.CommonObjectSecurity.ModifyAccess(AccessControlModification
modification, AccessRule rule, Boolean& modified)
at
System.Security.AccessControl.CommonObjectSecurity.AddAccessRule(AccessRule
rule)
at
System.ServiceModel.Install.ListenerServiceInstallComponent.SetConfigSecurity(OutputLevel
outputLevel)
at
System.ServiceModel.Install.ListenerServiceInstallComponent.OnReinstall(OutputLevel
outputLevel)
at
System.ServiceModel.Install.ServiceInstallComponent.Reinstall(OutputLevel
outputLevel)
at
Microsoft.Tools.ServiceModel.ServiceModelReg.PerformAction(ActionItem
actionItem, Nullable`1 confirmUninstall)
at Microsoft.Tools.ServiceModel.ServiceModelReg.Run(String[] args)

System.Security.Principal.IdentityNotMappedException: Som
Failed to apply WMI provider security
Exception: System.Management.ManagementException: Not found
   at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
   at System.Management.ManagementObject.Initialize(Boolean getObject)
   at System.Management.ManagementBaseObject.set_Item(String propertyName, Object value)
   at System.ServiceModel.Install.WmiInstallComponent.ApplyNamespaceDacl

Failure executing "C:\WINNT\system32\wbem\mofcomp.exe" with parameters ""C:\WINNT\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof"": System.ApplicationException: Unexpected result 3 executing C:\WINNT\system32\wbem\mofcomp.exe with "C:\WINNT\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof"
   at System.ServiceModel.Install.InstallHelper.ExecuteWait(String program, String parameters, Int32[] allowedExitCodes)
   at System.ServiceModel.Install.WmiInstallComponent.OnInstall(OutputLevel outputLevel)

のようなエラーが出ます

ログを解析すると

[17:52:32:640]: Microsoft (R) 32-bit MOF Compiler Version 1.50.1085.0007
[17:52:32:640]: Copyright (C) Microsoft Corp. 1997-1999. All rights reserved.
[17:52:32:640]:
[17:52:32:640]: MOF ファイルの解析中: C:\WINNT\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof
[17:52:32:640]: MOF ファイルが解析されました
[17:52:32:640]: データベースにデータを格納しています...
[17:52:32:640]: オブジェクト 3 (行 21 - 26 に定義されている) を作成中にエラーが発生しました:
[17:52:32:640]: 0X80041002 クラス、インスタンスまたはプロパティ 'HostingModel' が見つかりませんでした。
[17:52:32:640]: コンパイラによってエラー 0x80041001 が返されました
[17:52:32:640]: Tool 'C:\WINNT\system32\wbem\mofcomp.exe' with parameters '"C:\WINNT\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof"' exited with code '3'.
[17:52:32:953]: Warning: Failure executing "C:\WINNT\system32\wbem\mofcomp.exe" with parameters ""C:\WINNT\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof"": System.ApplicationException: Unexpected result 3 executing C:\WINNT\system32\wbem\mofcomp.exe with "C:\WINNT\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof"
   at System.ServiceModel.Install.InstallHelper.ExecuteWait(String program, String parameters, Int32[] allowedExitCodes)
   at System.ServiceModel.Install.WmiInstallComponent.OnInstall(OutputLevel outputLevel)
[17:52:33:671]: Error: Failed to apply WMI provider security
Exception: System.Management.ManagementException: Not found
   at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
   at System.Management.ManagementObject.Initialize(Boolean getObject)
   at System.Management.ManagementBaseObject.set_Item(String propertyName, Object value)
   at System.ServiceModel.Install.WmiInstallComponent.ApplyNamespaceDacl(OutputLevel outputLevel)
[17:52:33:718]: Repairing: Windows CardSpace (idsvc)
[17:52:33:812]: Repairing: Net.Tcp Port Sharing Service (NetTcpPortSharing)
[17:52:34:281]: System.Security.Principal.IdentityNotMappedException: Some or all identity references could not be translated.
   at System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts, Type targetType, Boolean forceSuccess)
   at System.Security.Principal.NTAccount.Translate(Type targetType)
   at System.Security.AccessControl.CommonObjectSecurity.ModifyAccess(AccessControlModification modification, AccessRule rule, Boolean& modified)
   at System.Security.AccessControl.CommonObjectSecurity.AddAccessRule(AccessRule rule)
   at System.ServiceModel.Install.ListenerServiceInstallComponent.SetConfigSecurity(OutputLevel outputLevel)
   at System.ServiceModel.Install.ListenerServiceInstallComponent.OnReinstall(OutputLevel outputLevel)
   at System.ServiceModel.Install.ServiceInstallComponent.Reinstall(OutputLevel outputLevel)
   at Microsoft.Tools.ServiceModel.ServiceModelReg.PerformAction(ActionItem actionItem, Nullable`1 confirmUninstall)
   at Microsoft.Tools.ServiceModel.ServiceModelReg.Run(String[] args)
   at Microsoft.Tools.ServiceModel.ServiceModelReg.TryRun(String[] args)
=== Verbose logging stopped: 2013/12/10  17:52:34 ===

もふファイルを開いてみると・・・

instance of __Win32Provider as $P
{
    Name = "ServiceModel";
    HostingModel = "Decoupled:Com";  
    SecurityDescriptor = "O:BAG:BAD:(A;;0x1;;;BA)(A;;0x1;;;NS)(A;;0x1;;;LS)(A;;0x1;;;S-1-5-32-568)";
};

__Win32Provider class (Windows)
残念ながら、Windows XP SP1 以降に実装されたプロパティなのです・ω・

Set objWMIService = GetObject ("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.InstancesOf("__Win32Provider")
For Each objItem In colItems
With objItem

If InStr(1,.name, "MSI",1) then
    WScript.Echo "Name:               " & .Name      & vbCrLf & _
                 "Version:            " & .Version      & vbCrLf & _
                 "SecurityDescriptor: " & .SecurityDescriptor      & vbCrLf & _

                 "Pure:               " & .Pure     & vbCrLf & _
                 "PerUserInitialization: " & .PerUserInitialization     & vbCrLf & _
                 "PerLocaleInitialization: " & .PerLocaleInitialization     & vbCrLf & _
                 "InitializationReentrancy: " & .InitializationReentrancy     & vbCrLf & _
                 "ImpersonationLevel: " & .ImpersonationLevel     & vbCrLf & _
                 "UnloadTimeout:      " & .UnloadTimeout     & vbCrLf & _
            
     "ClientLoadableCLSID:" & .ClientLoadableCLSID      & vbCrLf & _
                 "DefaultMachineName: " & .DefaultMachineName      & vbCrLf & _
                 "Concurrency:        " & .Concurrency      & vbCrLf & _
                 "CLSID:              " & .CLSID      & vbCrLf & _
                 "hostingModel:       " & .hostingModel & vbCrLf & _
                 "InitializeAsAdminFirst:"& .InitializeAsAdminFirst
End If
End with
Next

これを実行すると赤字のところでエラーに・ω・

ServiceModel.mof は修正しなきゃだね

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です