2011年5月4日水曜日

フィルムスキャナとWindows 7とRemoteFX

我が家には、ミノルタ製のフィルムスキャナがあります。
ミノルタは、コニカと合併してしばらくして、カメラ事業から撤退し、フィルムスキャナのサポートもなくなりました。
Windows XP用のドライバを、Windows Vistaにインストールしたところ正常に動作したのですが、Windows 7では動作しませんでした。
おそらく、Windows Vistaからのアップグレードなら正常に動作したのではないかと思います。

ところが、念のため検索してみると、新規インストールしたWindows 7、しかも32bit/64bit両方で利用する方法があるそうなんです。

フィルムもデジタルも楽しもう!」というブログの「コニカミノルタのフィルムスキャナをWindows7で使う方法・総括」がそれです。

実際にやってみたら、Windows Server 2008 R2 SP1(つまり64ビット版)で動作しました。
そして、なんとRemoteFX経由でもスキャナが使えました。

まず、Windows Server 2008 R2 SP1にHyper-V役割を追加しRemoteFXを有効にしました。
そして、Hyper-Vホストにスキャナを接続しました。
この状態で、Hyper-V仮想マシンでとして動作しているWindows 7に、 リモートデスクトップ接続を行ない、フィルムスキャンが正常に行えました。

証拠の写真です。
イタリアに旅行したときの写真

ポイントは、スキャナのドライバそのものはWindows標準のものを使い、デバイスとデバイスドライバの割り当てだけをINFファイルで指定することです。

つまり、以下の手順です。
  1. INFファイルを作成(末尾で紹介します)
  2. ドライバとツールのセットアップ(あとで実行しても構いません)
  3. この時点ではデバイスマネージャではスキャナのドライバが認識されていない
  4. ドライバを右クリックしてドライバを更新
  5. INFファイルのフォルダを指定してドライバをインストール
前述の通り、実際のドライバはWindows標準のものを使うので、ドライバ本体を用意する必要はありません。

なお、ミノルタから配付されていたドライバやツール群は、コニカミノルタからフィルムカメラの保守を引き継いだケンコーから配付されています(ご存じの通りデジタルカメラはソニーが引き継ぎました)。

コニカミノルタ製品アフターサービス


INFファイル
; kmscan.inf
; For Konica Minolta film scanners on Windows7.

[Version]
Signature="$CHICAGO$"
Class=Image
ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f}
Provider=%Provider%
DriverVer=06/21/2006,6.1.7600.16385

[Manufacturer]
%Mfg%=Models,ntamd64

;USB scanners for 32bit
[Models]
"DiMAGE Scan Dual II" = USBScanner,USB\VID_0638&PID_026A
"DiMAGE Scan Dual III" = USBScanner,USB\VID_0686&PID_400D
"DiMAGE Scan Dual IV" = USBScanner,USB\VID_132B&PID_000A
"DiMAGE Scan Elite II" = USBScanner,USB\VID_0686&PID_4004
"DiMAGE Scan Elite 5400" = USBScanner,USB\VID_0686&PID_400E
"DiMAGE Scan Elite 5400 2" = USBScanner,USB\VID_132B&PID_0012

;USB scanners for 64bit
[Models.ntamd64]
"DiMAGE Scan Dual II" = USBScanner,USB\VID_0638&PID_026A
"DiMAGE Scan Dual III" = USBScanner,USB\VID_0686&PID_400D
"DiMAGE Scan Dual IV" = USBScanner,USB\VID_132B&PID_000A
"DiMAGE Scan Elite II" = USBScanner,USB\VID_0686&PID_4004
"DiMAGE Scan Elite 5400" = USBScanner,USB\VID_0686&PID_400E
"DiMAGE Scan Elite 5400 2" = USBScanner,USB\VID_132B&PID_0012

[USBScanner]
Include=sti.inf
Needs=STI.USBSection
SubClass=StillImage
DeviceType=1
DeviceSubType=0x4000
Capabilities=0

[USBScanner.Services]
Include=sti.inf
Needs=STI.USBSection.Services

[Strings]
Provider="Microsoft"
Mfg="naruto"