2014年10月22日水曜日

WSPファイルはどうなっているのか


■■□―――――――――――――――――――――――――――――□■■

要約

  • WSPファイルはパッケージファイル。
  • WSPファイルは拡張子を「.cab」に変更することで、内容を確認できる。


■■□―――――――――――――――――――――――――――――□■■



WSPファイルを知らないと困ること

SharePointにWebパーツを実装したりするときに目の当たりにするWSPファイルですが、何者なんでしょうか。
SharePointでうまくいかないことがあったとき、問題の原因がWSPファイルにあるのではないかと疑いの目を持つかもしれません。
しかしWSPファイルを開こうにも、ダブルクリックしても開きません。
WSPファイルの内容がわからなければ、問題の切り分けが難航するかもしれません。



ダブルクリックしてみても・・・・


















開けません。












WSPファイルとは

SharePoint ソリューション パッケージの作成
http://msdn.microsoft.com/ja-jp/library/ee231560.aspx

上記のサイトにはいろいろ難しいことが書いていますが、もしあなたが、VisualStudioでSharePointの開発をしているなら、

WSPファイルSharePointに必要なファイルをVisualStudioがまとめてくれたもの

という認識で良さそうです。




WSPファイルの中身の確認

WSPファイルがパッケージ(ファイルをまとめたもの)だとわかったので、
今度は何がまとめられているか見てみましょう。

方法はカンタンで、

拡張子の「.wsp」を「.cab」に変える

だけです。



《操作手順》


①万が一を考えてコピーしておきます。

















②右クリック [名前の変更]で、「.wsp」を「.cab」に変更します。
 ※もしファイル名に「.wsp」がない方は拡張子を表示させましょう。



③はい。




④CABファイルとして開くことができるので、ダブルクリック。


















⑤中身を確認することができます。













⑥構成だけでなく、各ファイルの内容が見たい場合は、そのファイルをダブルクリック。
  展開先を聞かれるので自分のわかる場所を選択します。
  ※今回はデスクトップを指定しています。
























⑦解凍が完了しました。このファイルをダブルクリック。













⑧ファイルの内容が確認できます。
※なお、このabcdef.xmlは、VisualStudio上で編集していたものです。



























【注】
C#で記述したCSファイルはCABファイルにしても出てきません。
理由は、WSPファイルが持っているのは、CSファイルをコンパイルしたあとのDLLファイルであるためです。


















ダブルクリックという直接的な方法では、CSファイルの中に記述されているロジックは確認できません。
DLLファイルはバイナリエディタや逆コンパイルソフトを使えば見れるかもしれませんが、ここでは触れません。


CABファイル(キャビネット ファイル)とは

特徴
 ・Microsoftがファイルの配布に使用している。
 ・高セキュリティ(署名が付加できる)
 ・高圧縮率

MSのサポートページ
http://support.microsoft.com/kb/310435/ja
"関連のある複数のファイルを圧縮したパッケージのこと"

IT用語辞典バイナリ
http://www.sophia-it.com/content/CAB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB
CABファイルについては、こちらがわかりやすく記載されています。