« Phenom II 945のTDP 95W版が販売開始 | トップページ | Nehalem版Skulltrailは今後1~2カ月以内に登場か »

2009年6月14日 (日)

雑談:ファイルマネージャをWindows Vista/7で動かす方法

 今回は雑談で、ファイルマネージャをWindows Vista/7で動かす方法です。

http://people.ee.ethz.ch/~davidsch/vistafm/

 リンク先の記事にやり方が書いてあるのですが、これを日本語で説明すると以下のようになります。

[1]ファイルマネージャ本体であるWINFILE.EXEをWindows NT 4.0 Service Pack 6aから抜き出す、もしくは稼働しているWindows NT 4.0の環境からファイルを取り出す。
[2]ここにあるwrappers.zipをダウンロードし、WINFILE.EXEがある同じディレクトリに解凍する
[3]ここにあるwfrevive.exeをダウンロードし、WINFILE.EXEがある同じディレクトリで実行

 これでWindows Vista上でもファイルマネージャが使えるようになります。私はWindows 7 RC上で動作を確認しました。

 私は実はファイルマネージャ愛好家で、Windows XP x64までは動作していたのですが、Windows Vistaからは動作しなくなってしまいました。しょうがないのでエクスプローラを使うのですが、Windows VistaのエクスプローラがWindows XPのそれと比較してなんだか使いにくい。Windows 7になってましになったものの、やはりファイルマネージャの軽さと使い慣れた操作感にはかないません。

 同じように不便な思いをしていたユーザはいたようで、有志がこのようなものを作ってしまいました。この成果には深く感謝しつつ、有効に活用させていただきます。

 ちなみにファイルマネージャ自体Windows NT 4.0での動作保証なので、今回やったことや、そもそもWindows 2000以降で使用することが完全なる保証外であることは言うまでもありません。

 今回の記事が、全国のファイルマネージャ愛好家のお役に立てれば幸いです。Windows Vistaに移行したいけど、ファイルマネージャが動作しないしなあ・・・と移行を思い止まっている方には最良といえましょう。ただ個人が作成したものなので、その辺りを考慮して利用しましょう。

Winfileon7

狂喜乱舞

|

« Phenom II 945のTDP 95W版が販売開始 | トップページ | Nehalem版Skulltrailは今後1~2カ月以内に登場か »

コメント

おおっ、すばらしいです。ほんとに狂喜乱舞です。
VISTA/7でWINFILEがつかえないので、ほんとに困っていました。
WINFILEだと、移動とか必ず確認が行われるので、エクスプローラみたいに知らない間に
どっかにファイルが移動することもないですし。

このWINFILEの使いやすいという設計思想がいまのマイクロソフトの技術者に無いのが大変残念です。

投稿: ゴールドマン | 2009年12月31日 (木) 15時58分

この記事のお陰でWindows 7でもファイルマネージャ使えて非常に嬉しいですわ
昔から使ってる「ファイルマネージャ拡張メニュー」(Mt.Wide氏)と組み合わせれば、
相当便利に使えるんで、まだまだ現役でいけますね>ファイルマネージャ

投稿: でく | 2010年1月 9日 (土) 01時11分

私の記事がお役に立ったようで、筆者冥利に尽きます。。
ちなみにWindows Vista x64でも動作することを確認しており、手元に環境がないので試してはいませんが、Windows 7 x64でも動作するものと思われます。

ファイルマネージャ拡張メニューは私も使っておりまして、特に会社でいろいろと役に立っています。

投稿: 98 | 2010年1月 9日 (土) 13時55分

Windows 7 Professional x64でも動作しました。これで64bit版Windows XP/Vista/7すべてで動作することが確認されました。

投稿: 98 | 2010年1月12日 (火) 21時46分

Windows7 Enterprise sp1 x64で[1]-[3]の手順を実行してみましたが、エラーダイアログ「プロシージャエントリポイントCompareStringWがダイナミックリンクライブラリkernelwr.dllから見つかりませんでした。」が表示されて動作しませんでした。
Win7Pro x64では、問題なく動作しているんですね。。。同じような現象を解決できた方はいませんかね?

投稿: あき | 2014年4月 9日 (水) 21時00分

Windows7 Professionalでも同様に「CompareStringWがダイナミックリンクライブラリ kernelwr.dll から見つかりませんでした。」が表示され、動作しませんでした。
解決できた方がいらっしゃいましたら、情報をいただきたいです。

投稿: じー | 2014年5月 2日 (金) 11時35分

もう読まれているかどうか分かりませんが。。最近になって全く別件でこれをWindows 8.1 x64で試してみたのですが、どうもWebサイトに置いてあるバイナリだとご報告のようなエラーが出るようです。ある時期以降にバイナリが更新されたようで、これが影響している感じです。状況をまとめた上で作者に問い合わせてみようかしら。。

投稿: 98 | 2014年7月30日 (水) 21時25分

プログラム マネージャは…

1. XP SP1 から progman.exe, progman.hlp, progman.cnt をコピー
2. NT 3.51 から shell32.dll をコピー
3. progman.exe を winfile.exe に、 shell32.dll を shellwr.dll にリネーム
4. wfrevive.exe をダウンロード
4. ファイルを同じディレクトリに置き、wfrevive.exe を実行
5. winfile.exe を progman.exe に再度リネーム
6. %SystemRoot%\SysWOW64 に shellwr.dll を、%SystemRoot%\System32 に progman.exe を置くとパスも通ってていい感じ (ファイル マネージャ関連のファイルをすべて %SystemRoot% に置いておけば二つの shellwr.dll の共存が出来る)

来る Windows 10 への備えもばっちり
http://i.imgur.com/h9eDYyb.png

投稿: | 2015年4月 6日 (月) 11時11分

・ファイルマネージャの半角カタカナを全角にする
http://hirobanet.nobody.jp

こんなのも。

投稿: | 2015年4月 6日 (月) 14時48分

古いwrappers.zipにはkernelwr.dllが入っていませんでした。
「CompareStringWがダイナミックリンクライブラリ kernelwr.dll から見つかりませんでした。」って出たときはバイナリエディタでWinfile.exeの
kernelwr.dllをkernel32.dllに戻したら(書き換え部はANSIとUnicodeの場合があるので注意)Windows Vistaで動くようになりました。progman.exeも同様です。
あとprogmanの方のDLL共存方法としてはNT3.51のshell32.dllを例えばshellpr.dllに
リネームしてそれ自体もバイナリエディタでshell32.dllの箇所をshellpr.dllに、
progman.exeのshellwr.dllの部分はshellpr.dllに書き換えると共存できていい感じです。

投稿: ちゅーりっぷ | 2015年8月13日 (木) 03時25分

あとACL editor対応版はVISTA/2008の場合はダウンロードしたパッチxpaclptc.exeを
適用すればいいですが、Win7/2008R2の場合はさらに追加のパッチを入れないと
動かないのですが、これはACLの設定の所が英語になってしまうので、手動で
パッチする方法を書きます。XPからnetapi32.dllとnetrap.dllを用意し、
netapi32.dllをnetapixp.dll、netrap.dllをnetrxp.dllにリネームする。
VISTA/2008用にxpaclptc.exeでパッチされた、 acledwr.dllとnetxp0.dllを
用意し、バイナリエディタで4つのファイル(netapixp.dll、netrxp.dll、
acledwr.dll、netxp0.dll)をそれぞれNETAPI32.DLLの所をNETAPIXP.DLL、
NETRAP.DLLの所をNETRXP.DLLに書き換えて、VISTA/2008用にパッチした残りの
ファイルと同じフォルダに入れて完成。

投稿: ちゅーりっぷ | 2016年4月18日 (月) 21時24分

ひょっとするとCompareStringWが日本語版のWindowsのnetui?.DLL(netxp.dllに
リネーム)に使用されているのが原因かも知れません。この関数はshellwr.dllに
入っていないので、shellwr.dllを改造して関数を追加する必要があると思います

投稿: ちゅーりっぷ | 2016年12月 5日 (月) 06時46分

日本語版WindowsNT4.0 SP6aのWinfile.exeのバージョンは
4.0.1381.111(PC-AT互換機)か4.0.1381.113(PC-98)が
入っていて、これにはCompareStringW関数を呼び出しているが、
Kernelwr.dllにはこの関数が入っていない。
そして英語版WindowsNT4.0 SP6aのWinfile.exeのバージョンは
4.0.1381.318でCompareStringW関数は使用されていない。
英語版でも古いバージョンではCompareStringW関数が使用されて
いるようで、日本語版Winfile.exeのバージョンが古いのと、
Kernelwr.dllが原CompareStringW関数に対応していないのが原因の
ようである。なのでスマートなのはKernelwr.dllにCompareStringW関数
を追加することであるが、リソースエディタでWinfile.EXE(4.0.1381.318)
を日本語に書き換える方法も考えられる。

投稿: ちゅーりっぷ | 2016年12月 6日 (火) 01時39分

この記事へのコメントは終了しました。

« Phenom II 945のTDP 95W版が販売開始 | トップページ | Nehalem版Skulltrailは今後1~2カ月以内に登場か »