いろいろやってみるにっき

なんとか自分の会社を立ち上げるところまで漕ぎ着けた、てきとーに生きている奴の日記

関連記事を探すときは、読んだ記事と同じカテゴリをクリックしてください。

記事のカテゴリは記事タイトル下に表示されています。カテゴリ一覧はサイドバーにあります。


なんか色々調子悪いアップグレード後のThinkPad W520のWindows 10

あれやこれやで時間が掛かり、結局仕事にならなかった。スクリーンショットを撮る心理的余裕さえない。これはドキュメンタリーである。

 

まずWindows 8.1の時には確かにインストール済みだったSilverlightが消えた。Silverlightを前提とするアプリを起動して発覚。消した覚えはないが、容疑者が多すぎて犯人が特定できない。

  1. Windows 8.1で「動作を停止しました」頻発が、Windows 10へのアップグレードの切っ掛けだった。Windows 8.1の時点で壊れていたかも。
  2. BizSparkでmsdn subscriptionやAzure、Office365のアクティベートを行い、Visual Studioなどが色々インストールされている。VSにはSilverlight開発環境もある。Windows 8.1の時点でVS 2013とVS 2015 Communityがインストールされていて、2つはいらないのでVS 2015 Enterprise 1本に入れ替えようとしたら、いずれもアンインストールできなかった。
  3. Windows 10にアップグレードした。
  4. Windows 10にアップグレード後、VS 2013とVS 2015 Communityがアンインストールできるようになったので、VS 2013をアンインストールし、VS 2015 Enterpriseを上書きインストール。

Silverlight関係だけでもこれだけある。そして問題は、Silverlight5がインストールできないことだった。何も情報を残さずインストール失敗になる。コントロールパネルの「プログラムと機能」で見てもSilverlightはリストに無いのでアンインストールもできない。どうやらレジストリから消せば良さそうということで、やってみた。

上にも書いたようにVS関係でもSilverlight開発環境があるので沢山ヒットする。VSは修復インストールすればいいので、ガンガン消した。各言語ごとにライブラリが分かれていて、それが全部レジストリに書かれていて、なおかつSilverlightのBuild番号がフォルダ名に使われていて、最初にインストールしたBuildからアップデートされたBuildまで複数レジストリキーやレジストリ値が存在する。腕がつりそうになるほど消しまくった。確実に数100はあった。

しかし、それでもインストール失敗になる。破損した Silverlight インストールをクリーンアップし、Silverlight を再インストールする方法を見ていると、SilverlightのFix itがある。Fix itを実行しても「未知の失敗」になるし、Fix itや手動の解決方法はエラーである。手作業でレジストリキーやレジストリ値を消しても、このKB2608523でも壊れたSilverlightはどこかに何かを残していて、インストール失敗する。あと、ダウンロードしたSilverlightインストーラでは何も情報が出ないが、Silverlightを必要とするアプリのほうからSilverlightの最新版インストールを選ぶと、なぜかc:\windows\system32にmsiexec.exeが無いというエラーになる。もちろん存在している。

 

リンクを見つけられないが、マイクロソフト コミュニティのやりとりで、Silverlight3のリンクがあったので、Silverlight3を入れてみた。Silverlight3はすんなりインストールできた。しかし目的とするプログラムはSilverlightでは動かないようで、Silverlightが無いエラーも出なくなり、だんまりである。

Silverlight3はアンインストールも問題ない。しかしその後にSilverlight5はインストール失敗になる。

 

あんまりSilverlightのインストールフォルダやレジストリを見過ぎていたので、ある手段を思いつく。他のPCで動いているSilverlight5をSilverlight3に上書きしてしまう案である。「よいこはマネしちゃダメだよ」というやつである。

しかしSilverlightは、単に上書きしてもレジストリを参照しながら動くMicrosoft謹製のソフトであり、まずそのままでは動かないだろう。上書き後にSilverlight3でインストールされているレジストリキー/値を、Silverlight5のBuild番号に書き換える必要がある。

やりましたよ、もう。

 各言語ごとにレジストリキー/値があったりするので、日本語のja以外は無視した。フォルダはこんな感じになっている。

f:id:shigeo-t:20150809040629p:plain

レジストリはこんな感じでSilverlight3も残っている。

f:id:shigeo-t:20150809040956p:plain

 

で、ここまでですでに2,000文字超えているのだが、もう一つは未解決。

今までトリプルディスプレイだったW520。NVIDIAのドライバやユティリティのアップデートをしたら、外付けディスプレイ2つを認識しなくなった。状況を切り分けてみると下記の通り。

  1. Display PortとVGAの2系統で外付けディスプレイをつないでいるが、片方だけにするとそれぞれ認識してデュアルディスプレイにはできる。
  2. W520はIntel HD Graphics 3000が内蔵ディスプレイ、NVIDIA Quadro 2000Mが外付けディスプレイを見る分担になっているが、Intel Graphics 3000を無効にすると3ディスプレイで使える。ただし、内蔵ディスプレイは1024x768になる。通常は1600x900なので間延びしている。

    f:id:shigeo-t:20150809041720p:plain

  3. NVIDIAコントロールパネルでは、Intel Graphicsを認識できなくなっている。もともとこういう感じだったのが、

    NVIDIA

    Intel Graphics 3000が無い。

    f:id:shigeo-t:20150809044309p:plain

  4. ディスプレイ設定は、外付けディスプレイを2枚にすると、認識がおかしくなることは確認できた。

    f:id:shigeo-t:20150809043149p:plain

    f:id:shigeo-t:20150809043208p:plain

    つないだ瞬間に「複数のディスプレイ」項目はブランクになりディスプレイも1枚(内蔵)になってしまう。
    f:id:shigeo-t:20150809043223p:plain

     

     

クリーンインストールなら直るかもと思い、前回X200に使ったHDD(HGSTの7,200rpm)を引っこ抜き、W520でWindows 10 Enterpriseをクリーンインストールしてみた。どうせX200ではトラックポイント廻りに不調があるので残しても仕方ない。

しかし、 結果から言うとクリーンインストールでも事象は変わらず。ハードウェアがおかしくなっているのか、Windows 10がおかしいのかは分からない。しばらくはデュアルディスプレイで乗り切るしかない。土日はいいんだけど、月~金は不便。直るまでは3枚目はX220から出力しようと思う。