当初は、拡張子 .design ファイルをダブルクリックすると、本来Expression Design 4で開くのに、なぜかExpression Design 3で開いてしまうので、修復インストールを試みたところ、修復に失敗してしまう現象について、いろいろと聞いてみたんですが。。。
Expression Design 3が既定のプログラムに設定された原因?
いつしか、Expression において、Service Pack だけアンインストールできなくなったので、仕方なしにExpression Studio 4 Ultimateをアンインストールした経緯がありました。その際に、Expression Designについても、Expression Design 3にひも付されたのではないかと推測しています。
Service Packだけアンインストールできなくなった理由
どうやら、Service Packだけアンインストールすると、Expression Blendがうまく動かなくなるという問題が発生したため、Expression 4バージョンからサービスパックだけをアンインストールすることができなくなりました。そのため、下の図のように Service Pack を選択しても、Windows 7の場合、[整理]の右側に[アンインストール]が表示されなくなりました。
Expressionの修復ができない原因
Service Packが適用されたExpressionを、古いバージョン(RTM)で修復ができない、というオチになっています。
つまり、修復するには、現時点では、Expression 自体を一旦アンインストールして、再インストールしなおすしか今のところ選択肢はありません。
Expression Design 4の関連付けをレジストリで修正するには
再インストールするのはかったるいので、一番手っ取り早いのが、レジストリの編集です。ただし、これは「自己責任」となります。
ファイルの拡張子とプログラムの関連付けの情報
Windowsでは、HKEY_CLASSES_ROOT にファイルの拡張子とプログラムの関連付けの情報が格納されています。その中の .design フォルダーには、Expression.Design.Design ファイルタイプとして登録されていることがわかります。
ダブルクリックすると起動するプログラムの情報
“Expression.Design.Design” ファイルタイプを操作する際の設定は、 “HKEY_CLASSES_ROOT\Expression.Design.Design” パスに保存されており、当該ファイルタイプのファイルをどのように開くかは、下記のレジストリのデータ部分に設定されています。
パス : HKEY_CLASSES_ROOT\Expression.Design.Design\shell\open\command
名前 : (既定)
種類 : REG_SZ
データ (Expression Design 4 で開く場合) : "C:\Program Files (x86)\Microsoft Expression\Design 4\Design.exe" "%1"
修正するには、下の図の[(既定)]の名前をダブルクリックして、パスを変更するとOKです。ちなみに私の環境は64ビット版です。32ビット版はCドライブのProgram Filesフォルダー内になっています。
その他Expression Designに関連するレジストリ情報を書き換える
以下3か所をExpression Design 4に書き換えます。3になっていたら4にすればOKです。
パス : HKEY_CLASSES_ROOT\Expression.Design.Sks\DefaultIcon
名前 : (既定)
種類 : REG_SZ
データ : "C:\Program Files (x86)\Microsoft Expression\Design 4\Design.exe",1
パス : HKEY_CLASSES_ROOT\Expression.Design.Xpr\shell\open\command
名前 : (既定)
種類 : REG_SZ
データ : "C:\Program Files (x86)\Microsoft Expression\Design 4\Design.exe" "%1"
パス : HKEY_CLASSES_ROOT\Expression.Design.Xpr\DefaultIcon
名前 : (既定)
種類 : REG_SZ
データ : "C:\Program Files (x86)\Microsoft Expression\Design 4\Design.exe",2