Creativeサウンドカード 2 ― ドライバのデジタル署名が消える
Temp内を削除したら、ドライバのデジタル署名がなくなった。
Creative Sound Blasterのドライバインストール後、C:\Windows\Tempに残るものがあります。
SBXF_PCDRV_L11_2_18_0015B.exeの場合
(OS:Windows8 32bit)
- C:\Windows\Temp\CRF000 (フォルダー)
- C:\Windows\Temp\ctpxst32.exe
- C:\Windows\Temp\cttele32.dll
(64bit Windowsの場合は、ctpxst64.exe、cttele64.dllもあるかもしれません)
普通、C:\Windows\Tempフォルダーにあるものは保管する必要のないものばかりなので、削除しています。
しかし、このCreative Sound Blasterドライバの場合、下の2つをを削除すると、ctpxst32.exeとcttele32.dllだけデジタル署名がなくなります。サウンドカードの動作には特に影響はないようです。
C:\Windows\Temp内削除 ビフォー・アフター
変化は、サウンドカードの使用ドライバの一覧に表れます。
ドライバ一覧の表示方法
デバイスマネージャー
→サウンド、ビデオ、およびゲームコントローラー
→Creative SB X-Fi
→ドライバータブ
→ドライバーの詳細
- C:\Windows\Temp\ctpxst32.exe
- C:\Windows\Temp\cttele32.dll
上の2つのファイルを削除する前
- C:\Windows\Temp\ctpxst32.exe : デジタル署名あり
- C:\Windows\Temp\cttele32.dll : デジタル署名あり
削除した後
- C:\Windows\system32\ctpxst32.exe : デジタル署名なし
- C:\Windows\system32\cttele32.dll : デジタル署名なし
Tempフォルダー内とsystem32フォルダー内にあるものは、まったく同じファイルです。改変、バージョン違いの可能性はありません。
sigverifコマンドでチェックしてみると、もうファイルが存在しないのにもかかわらず、C:\Windows\Tempフォルダー内のctpxst32.exeとcttele32.dllの署名がないと表示されます。
(署名が有効でない時だけでなく、対象のファイルが存在しない時も署名がないと表示されます)
ちなみに、C:\Windows\Temp\cttele32.dllの削除直後はC:\Windows\system32\cttele32.dllがありません。PCを再起動などすると作成されるようです。
C:\Windows\System32\DriverStore\FileRepository\wdma_emu.inf_x86_c0739f2cbe60cf4c\Common\i386\cttele32.dllを、C:\Windows\system32フォルダー内に手動でコピーしても大丈夫でした。でもやっぱりデジタル署名がありません。
なくなったデジタル署名を復活させる。
デジタル署名がないままでも動作に支障はなさそうですが、ずっと気になっていました。
いろいろ試して、やっとドライバのデジタル署名マークを表示させる方法が見つかりました。なんの得にもなりませんが。
問題は、セキュリティカタログ(wdm_emu.cat、wdmemu64.cat)の.iniファイル、その中でのドライバの場所指定にありました。
そこで、wdma_emu.infを編集。解決しました。
(32bit Windowsの場合はwdma_emu.infだけですが、64bitの場合はwdmemu64.infも編集することになるでしょう)
C:\Windows\System32\DriverStore\FileRepository\wdma_emu.inf_x86_c0739f2cbe60cf4c\wdma_emu.inf を編集します。
以下、編集方法です。
管理者権限のあるユーザーアカウントでWindowsにログオン
ファイルへの書き込み許可を取得する
- wdma_emu.infのプロパティから、ファイルの所有者をSYSTEM → Administratorsに変更
- Administratorsによる書き込みを許可する。
- ファイルの所有者をSYSTEMに戻す。
メモ帳を「管理者として実行」
(メモ帳またはnotepad.exeで検索、右クリック→管理者として実行)
- ファイル→開く
- ファイル名のBOXに、
C:\Windows\System32\DriverStore\FileRepository\wdma_emu.inf_x86_c0739f2cbe60cf4c\wdma_emu.inf
と入力して、開くをクリック。 -
[DestinationDirs]の少し下にある2行を変更。
Temp.CopyList.ntx86 = 10,Temp ; %SystemRoot%\Temp
Temp.CopyList.ntamd64 = 10,Temp ; %SystemRoot%\Temp↓
Temp.CopyList.ntx86 = 11 ; %SystemRoot%\System(Win98), %SystemRoot%\System32(Win2K)
Temp.CopyList.ntamd64 = 11 ; %SystemRoot%\System(Win98), %SystemRoot%\System32(Win2K) - ファイルを上書き保存
(書き込み許可がなかったり、メモ帳を管理者権限で起動していない場合は、上書きできません)
結果、デジタル署名のアイコンが付きました。
肝心なのは、「=」の後ろの「10,Temp」を「11」に変えることです。
Temp.CopyListに含まれるファイルがどのフォルダーに入っているかを示します。
- 10,Temp … C:\Windows\Temp
- 10 … C:\Windows
- 11 … C:\Windows\system32
(Windows(XP以降)がCドライブにインストールされている場合)
Temp.CopyList.ntx86とTemp.CopyList.ntamd64の各リストに含まれるもの。
[Temp.CopyList.ntx86]
ctpxst32.exe
cttele32.dll
[Temp.CopyList.ntamd64]
ctpxst32.exe
cttele32.dll
ctpxst64.exe
cttele64.dll
それにしても、なぜTempフォルダー内のファイルを使う前提になっているのか。不思議です。
- 関連記事
-
- Creativeサウンドカード 4 ― アンインストール後にさらに掃除
- Creativeサウンドカード 3 ― 非公式ドライバ
- Creativeサウンドカード 2 ― ドライバのデジタル署名が消える
- Creativeサウンドカード 1 ― 音が出ない・設定が元に戻る
- WindowsにRadeonの旧OS用ドライバをインストール。