次の方法で共有

MSCOMCTL.DLLは、新しいファイルで上書きしてもよいものでしょうか。

Anonymous
2014-07-03T07:59:27+00:00

状況を説明します。

1:WindowsUpdateにより、MSCOMCTL.DLLは最新に保たれていたか、もともと存在していなかった。

2:何かのソフトのSETUPにより、古いMSCOMCTL.DLLがインストールされた。

  その際、なぜか古い方の「MSCOMCTL.DLL」がPC内に残ってしまった。

  ※その後そのソフトをアンインストールしても、

   古い「MSCOMCTL.DLL」がそのまま残っていたので、

   最新に保たれていたものをなぜか古い「MSCOMCTL.DLL」で上書きされている。

   と推測しています。

3:WindowsUpdateからはその古いMSCOMCTL.DLLは検収できず、

  「更新プログラム」は必要ない状況になってます。

  「1:」によるUpdateは成功しているのでそのログを見ているのかもしれません。

4:しかし他社製セキュリティソフトが、古いMSCOMCTL.DLLを検出し、

  MS12-027の脆弱性としてアラートを発しています。

5:そこで手動にて「MS12-027」関連の更新プログラムを実行してみるが、

 「インストール不要」、もしくは「対象外」としてどれもインストールできず、

 MSCOMCTL.DLLは古いまま。

 ※Office2007、SQLServer2005、VB6ランタイムを対象にインストを試みましたが、

  インストールを制限されました。

そこで質問です。

この「MSCOMCTL.DLL」の新しめ日付のファイルは他PCで発見しました。

この日付の新しい「MSCOMCTL.DLL」で上書き保存してもよいものでしょうか。

また、この状況に気付いた時には、

「2:」を行う前の復元ポイントは流れてしまっていて、

復元を試すことはできませんでした。

OS入れ直しだけは回避したくていろいろ足掻いております。

以上よろしくお願いいたします。

コミュニティ センター | 監視されない

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2014-07-07T11:28:16+00:00

なんなんなん さん

こんにちは

MSCOMCTL.DLL について、

脆弱性アラートがセキュリティ対策ソフトウェアで出ている状態なのですね。

Windows Up date の検出ロジックは厳密には公開されておらず、

うまく関連ソフトウェア等のインストールもできない・検出もない状態ではまず OS の初期化をお勧めします。

(そもそも VB6 って Windows 7 対応しているの? という話になります)

脆弱性を消す(アラートを消す) という観点から OS の延命を図るのであれば、

該当 DLL の更新が必要でしょう。

ざっと MS のダウンロードサイトを見た限りですと、

以下が最新のようです。

http://www.microsoft.com/ja-jp/download/details.aspx?id=7030

Mscomctl.ocx 6.1.98.34 1070152 5/2/2012 12:17

※.msi ファイルを 7zip 等で解凍すれば Mscomctl.ocx ファイルを確認できます。

上書きコピーよりは DLL 登録コマンドである regsvr32 コマンドの使用を推奨します。

参考

http://sc1.cc.kochi-u.ac.jp/~murakami/cgi-bin/FSW/fswiki.cgi?page=%28windows7%2Fvista%29+mscomctl.ocx%C5%D0%CF%BF

ただ上記で話題が出ているように、使っているプログラムがある場合、

動作しなくなるリスクがあります。

また今度脆弱性が検出される度に同じことを繰り返す必要が出ることから、

実運用での有効性は微妙と考えます。

どーぞよろしくお願いします。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2014-07-04T01:02:48+00:00

この回答は役に立ちましたか?

0 件のコメント コメントはありません

7 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-07-07T00:39:48+00:00

    Bblue_shadow様、Hebikuzure様

    お返事ありがとうございます。

    一つ謝らないといけません。

    問題となっております「mscomctl」ですが、

    DLLではなくてOCXでした。

    ただしくは「mscomctl.ocx」となります。お読み換え頂けると幸いです。

    現行の古いと思われる「mscomctl.ocx」は

    更新日2005/04/15

    ファイルバージョン 6.1.97.86

    製品バージョン6.01.9786

    保存先フォルダ C:\Windows\system32\ 

    でした。

    そして書き忘れておりますが、

    最初の質問「2:」でインストールしたアプリ(Setup一式を確認したところVB6製っぽかったです。)は、

    実はアンインストール済みで、いくつかのDLLやOCX等は一緒に削除されたのですが、

    「mscomctl.ocx」は残っていました。

    ので、他の何かでも使っている可能性はあるようです。

    ※そもそも「2:」で、なぜ古い日付の「mscomctl.ocx」がコピーされたのかは謎なのですが、

     多分、当事者が何も考えずに「はい」「はい」してたんだろうと思われます。

    そこで、「mscomctl.ocx」の上書きコピーがだめならば、

    Office2007の入れ直し、

    更にダメならばWindowsの入れ直し、

    と段階をおいたくて。。。

    以上よろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Hebikuzure aka Murachi Akira 325.9K 評価のポイント MVP ボランティア モデレーター
    2014-07-04T07:27:30+00:00

    MSCOMCTL.DLL はコンピュータ内に 1つだけしか存在していないのでしょうか。

    もし複数存在しているようなら、それぞれについてその場所とバージョンを確認してみてください。

    ちなみに mscomctl.dll は Office のというより Visual Basic 6.0 ランタイムのファイルなので、サイドバイサイドで複数のバージョンが存在している場合があります。古いバージョンのランタイムを含むアプリをアンインストールした際にそのまま残っているのでは、という推測をされていますが、おそらくその通りでしょう。ランタイム (共通コンポーネント) なので、他のプログラムも利用している可能性があるため、そのまま残す場合があります。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2014-07-04T00:42:24+00:00

    あ、大事なことを書き忘れてました。

    OSはWindows 7 professional Service Pack 1 

    です。

    よろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません