私は数日間打ち負かすことができない非常に奇妙なことがあります。 DCOMコンポーネント{6F17505C-4351-46AC-BC1E-CDE34BB53FAA}(OPCサーバー)を使用するWin 10 Pro 64ビットマシンで動作する、自作の.NETベースの32ビットサービス(x86フラグでコンパイル)があります。サービスとして開始)。 NYの前は問題なく数か月間機能しましたが、先週、私のサービスは0x80070005エラーで開始できませんでした。
System.UnauthorizedAccessException:CLSID {6F17505C-4351-46AC-BC1E-CDE34BB53FAA}のCOMコンポーネントのインスタンスは、次のエラーのためにIClassFactoryで作成できませんでした:80070005アクセスが拒否されました(例外HRESULT:0x80070005(E_ACCESSDENIED))。 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly、Boolean skipCheckThis、Boolean fillCache、StackCrawlMark&stackMark)atSystem.RuntimeType。atSystem.RuntimeTypeHandle.CreateInstance(RuntimeType type、Boolean publicOnly、Boolean noCheck、Boolean&canBeCached、RuntimeMethodHandleInternal&ctor、Boolean&bNeedSecurityCheck) OPCDA.NET.OpcServer.ConnectLocal(String SrvName)のSystem.Activator.CreateInstance(Type type)のSystem.Activator.CreateInstance(Type type、Boolean nonPublic)の(Boolean publicOnly、Boolean skipCheckThis、Boolean fillCache、StackCrawlMark&stackMark) .NET.OpcServer.Connect(String SrvName).。
両方のサービスはローカルシステムアカウント(SYSTEM)で実行されており、管理者とシステムのコンポーネントのdcomcnfg、およびHKEY_CLASSES_ROOT\AppID {6F17505C-4351-46AC-BC1E-CDE34BB53FAA}のレジストリでアクセス許可が付与されています(理由はわかりません)そのブランチの権限をチェックしていますが、私はたくさん読んでそれも試しました)。また、それらをすべて再インストールしようとしましたが、成功しませんでした。アンインストールされたWindowsUpdate-運が悪い。その間にインストールされたサードパーティによってインストールされた製品がいくつかありますが、DCOM通信に害を及ぼすことはないと思います。また、管理者権限を持つユーザーを作成し、このユーザーの下で両方のサービスを開始しようとしました。
この奇妙な状況で役立つ情報を提案していただければ幸いです。
さて、OPCサーバーの製造元に問い合わせたところ、サポートから、「ドイツ語から自由に翻訳された」「今年の初めから、Windows UpdatesがOPC通信を中断させるという多くのエラーレポートがあります」と言われました。それで、私は12月の終わり以降すべてのアップデートをアンインストールしました-volia-それは今動作します!
サポートは私に次のバッチを実行するように提案しました:
wusa /uninstall /kb:4056888 /quiet /norestart
wusa /uninstall /kb:4056890 /quiet /norestart
wusa /uninstall /kb:4056891 /quiet /norestart
wusa /uninstall /kb:4056892 /quiet /norestart
wusa /uninstall /kb:4056893 /quiet /norestart
wusa /uninstall /kb:4056897 /quiet /norestart
wusa /uninstall /kb:4056898 /quiet /norestart
しかし、私はリストから何もインストールされていませんでした。残念ながら、実際にアンインストールされた更新プログラムはリストしていません(Win10で更新履歴を見つけることができず、インストールされた更新プログラムのみを表示できます)。