質問: 特定のwindows10イメージ上のinternetexplorer 11が「microsoftdataand time picker control 6.0(sp6)」activexコントロールをブロックしているのはなぜですか? お客様は、仮想windowsワークステーション(vdi)をwindows7からwindows10x64にアップグレードしています。彼らは、internet explorerで実行され、引き続き「microsoft data and time picker control 6.0(sp6)」(32ビットactivexコントロール)を使用する、webクライアントを備えたワークフロー製品である古いアプリケーションを使用しています。mscomct2.ocxがc:\ windows\syswow64ディレクトリにコピーされ、「属する.問題は、このコントロールが新しいwindows 10x64イメージのinternetexplorer(x86)に表示されないことです。実際、コントロールにはプレースホルダーが表示され、ブロックされます(互換表示のie)。 ツール/アドオンの管理では、リストにコントロール名が表示されます。項目をダブルクリックすると、「詳細情報」が表示され、「ブロック数」が17で、「使用数」が0になります。 さて、コントロールはどういうわけかブロックされています。テストセットアップの詳細については、以下を参照してください。では、コントロールをhtmlネイティブのものに置き換えてみませんか?コントロールを置き換えるには、ワークフローテンプレートを再公開し、すべてのワークフローインスタンスを変更する必要があります...さて、お客様のwindows10イメージのvmコピー)で、これはピッカーコントロールを表示するためのwebページです。 <html> <head> <title>dtpicker_test</title> </head> <body bgcolor="#ffffff"> function docwrite(strhtml) { document.write(strhtml); } </script> <b>clsid:20dd1b9e-87c4-11d1-8be3-0000f8754da1</b> <script language="javascript"> docwrite("<object classid=\"clsid:20dd1b9e-87c4-11d1-8be3-0000f8754da1\" name=\"dtpicker\" id=\"dtpicker\" tabindex=\"1\" accesskey=\"\" mayscript=\"true\" onload=\"dtpicker_initprops()\" style=\" position:absolute; left:10; top:100; width:300; height:100; z-index:0; color:#000000; font-family:arial; font-style:normal; font-weight:bold; font-size:10pt; \"> <param name=\"mousepointer\" value=\"0\"> <param name=\"enabled\" value=\"1\"> <param name=\"oledropmode\" value=\"0\"> <param name=\"calendarbackcolor\" value=\"-2147483643\"> <param name=\"calendarforecolor\" value=\"-2147483630\"> <param name=\"calendartitlebackcolor\" value=\"-2147483633\"> <param name=\"calendartitleforecolor\" value=\"-2147483630\"> <param name=\"calendartrailingforecolor\" value=\"-2147483631\"> <param name=\"checkbox\" value=\"0\"> <param name=\"customformat\" value=\"\"> <param name=\"format\" value=\"1\"> <param name=\"updown\" value=\"0\"> <param name=\"maxdate\" value=\"2958465\"> <param name=\"mindate\" value=\"41640\"></object>"); </script> <script language="javascript"> function dtpicker_initprops() { alert("init"); } </script> </body> </html> 自分のwindows10 x64ラップトップで、ocxをc:\ windows\syswow64にコピーして登録し、internet explorerでまったく同じページを開くと、コントロールが表示されます。では、なぜ顧客のwindows10イメージのinternetexplorerがこのコントロールをブロックしているのですか?ページゾーンはインターネットです。ゾーンのカスタムセキュリティレベルで、すべての「activexコントロールとプラグイン」関連アイテムを次のように変更しました。 アイテムに「有効」と「無効」オプションがある場合は、「有効」を設定します アイテムに「有効」、「無効」、「プロンプト」がある場合は、「プロンプト」を設定します 「activexフィルタリングを許可する」が「無効にする」に設定されている 「activexコントロールでマルウェア対策ソフトウェアを実行する」が「無効にする」に設定されている internet explorerにページをロードすると、「activexコントロールやプラグインなどのソフトウェアの実行を許可しますか?」というメッセージが表示され、[はい]と答えられます。しかし、コントロールはまだ表示されません。コントロールはブロックされています。 私はいくつかの同様の質問と回答に出くわしますが、ブロッキングの問題を解決するものはありません。例 internet explorerがローカルファイルのactivexコントロールをブロックしないようにする方法 windows10ラップトップとwindows10イメージの間でie設定とポリシーを比較しましたが、役に立ちませんでした。 誰かがwin10イメージまたは解決策をチェックするためのアイデアを持っていますか?同僚のティム:私はこの問題について尊敬する同僚のビクターと協力しています。そして、さらに重要な発見の1つは、この特定のactivexコントロール「mscomct2.ocx」がms office 365(x86)で完全に機能していることです(「開発者タブ」->「コントロール」セクション->「activexコントロール」から開始できます- -> 'その他のコントロール'-> 'microsoft data and time picker control 6.0(sp6)')ie x86。奇妙なことですか? ieのactivexコンポーネントに対してversionauditlogも有効にしましたが、コントロールをブロックしていないと表示されます。 ここで立ち往生しているので、これをさらにトラブルシューティングする方法についての提案をありがとう。編集同僚のtimの貢献を追加しました。
回答: 私自身の質問に答えます。非常に焦点を絞った共謀者と大量の排除と協力した後、私たちは犯人を見つけました:activexライセンスレジストリキー次のレジストリキーにより、internetexplorerの日付と時刻のピッカーが有効になるようです。 [hkey_local_machine\software\classes\licenses\4f86badf-9f77-11d1-b1b7-0000f8753f5d] "" = "iplpwpnippopupiivjrioppisjsjlpiiokuj" どうやって見つけたの? visual studio 2019 community editionをワークロード(「asp.netおよびweb開発」)とともにインストールすると、コントロールが機能し始めることに以前気づきました。取り外すと動作しなくなります。インストールする個々のvsコンポーネントの選択と選択解除に何度も試行錯誤を繰り返した後、nugetパッケージマネージャーが違いを生むように見えました。インストールされたdllを削除しても、うまくいきませんでした。新しくインストールされたレジストリキーを削除しました。参考:その他のmicrosoft common controls activexライセンスレジストリキー: https://github.com/yangshengcheng/bhm/blob/master/policy/msgforward/vb6controls.reg